Android应用读写系统文件

时间:2021-11-30 15:25:41
想开发一个应用去修改/system/build.prop里面内容(特殊需求,有android系统源码),在Android4.0上可以实现,在Android4.4上面不能写/system/目录下的文件件了.另外把这段代码放到package/app/Settings这个应用里,也提示system/build.prop: open failed: EROFS (Read-only file system)

Android应用代码:

package com.example.test_android;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {
private static final String TAG = null;
private static String PropFile= "/etc/rotation.conf";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

try {
try {
File file = new File(PropFile);
BufferedReader br = new BufferedReader(new FileReader(file.getAbsolutePath()));
BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsolutePath(), true));

if(file.exists())
{
Log.i(TAG, "build.prop can write!");
}
}catch (Exception e1) {
System.out.println("error: " + e1);
}

} catch (Exception e) {
// TODO: handle exception
}
}
}


BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsolutePath(), true));这行会报错:
error:java.io.FileNotFoundException: /system/build.prop: open failed: EROFS (Read-only file system)

有系统源码,也修改了/system/build.prop的权限
修改了文件的权限666:
Android应用读写系统文件
文件系统也挂载成rw了
Android应用读写系统文件

请问大家有什么方法能实现在应用中修改/system/build.prop?

13 个解决方案

#1


apk使用系统权限签名么?

#2


该回复于2015-10-14 10:55:05被管理员删除

#3


app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

#4


引用 1 楼 jeky198306 的回复:
apk使用系统权限签名么?


引用 1 楼 jeky198306 的回复:
apk使用系统权限签名么?


引用 1 楼 jeky198306 的回复:
apk使用系统权限签名么?

放到系统设置apk中也不能写,就只有/system/目录下的文件不能写,其它文件夹的可以

#5


引用 3 楼 heaimnmn 的回复:
app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

root的目的是去修改文件的权限,对吗?我有源码,文件操作权限已经修改过了

#6


引用 5 楼 colwer 的回复:
Quote: 引用 3 楼 heaimnmn 的回复:

app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

root的目的是去修改文件的权限,对吗?我有源码,文件操作权限已经修改过了

就算修改了文件权限,但是只要apk没有系统权限一样不可以读系统文件

#7


引用 6 楼 heaimnmn 的回复:
Quote: 引用 5 楼 colwer 的回复:

Quote: 引用 3 楼 heaimnmn 的回复:

app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

root的目的是去修改文件的权限,对吗?我有源码,文件操作权限已经修改过了

就算修改了文件权限,但是只要apk没有系统权限一样不可以读系统文件

应用中可以读,不能写。我把这段代码放到系统设置Settings.apk中去,也同样不能写。求版主大大指点

#8


引用 7 楼 colwer 的回复:
Quote: 引用 6 楼 heaimnmn 的回复:

Quote: 引用 5 楼 colwer 的回复:

Quote: 引用 3 楼 heaimnmn 的回复:

app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

root的目的是去修改文件的权限,对吗?我有源码,文件操作权限已经修改过了

就算修改了文件权限,但是只要apk没有系统权限一样不可以读系统文件

应用中可以读,不能写。我把这段代码放到系统设置Settings.apk中去,也同样不能写。求版主大大指点


没搞过这方面的,不是很了解如何去改系统文件

#9


system分区本身就是只读挂载,除非想办法重新以读写方式挂载system,否则肯定不能写

#10


引用 9 楼 Arnold9009 的回复:
system分区本身就是只读挂载,除非想办法重新以读写方式挂载system,否则肯定不能写

Android应用读写系统文件
这里挂载的/system是rw, 另外在串口中可以对/system/build.prop读写,就是在应用程序中就不行

#11


你修改文件内容,但是Android是有安全机制的,估计Google在发布4.4的时候禁用了修改系统文件的权限。就跟禁止在UI线程中进行耗时操作一样。

#12


你修改文件内容,但是Android是有安全机制的,估计Google在发布4.4的时候禁用了修改系统文件的权限。就跟禁止在UI线程中进行耗时操作一样。

#13


修改文件的目的是什么?可否拷贝到其他地方,root权限可以运行shell命令强行删除再覆盖,不过这样容易出问题,可以试一下

#1


apk使用系统权限签名么?

#2


该回复于2015-10-14 10:55:05被管理员删除

#3


app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

#4


引用 1 楼 jeky198306 的回复:
apk使用系统权限签名么?


引用 1 楼 jeky198306 的回复:
apk使用系统权限签名么?


引用 1 楼 jeky198306 的回复:
apk使用系统权限签名么?

放到系统设置apk中也不能写,就只有/system/目录下的文件不能写,其它文件夹的可以

#5


引用 3 楼 heaimnmn 的回复:
app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

root的目的是去修改文件的权限,对吗?我有源码,文件操作权限已经修改过了

#6


引用 5 楼 colwer 的回复:
Quote: 引用 3 楼 heaimnmn 的回复:

app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

root的目的是去修改文件的权限,对吗?我有源码,文件操作权限已经修改过了

就算修改了文件权限,但是只要apk没有系统权限一样不可以读系统文件

#7


引用 6 楼 heaimnmn 的回复:
Quote: 引用 5 楼 colwer 的回复:

Quote: 引用 3 楼 heaimnmn 的回复:

app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

root的目的是去修改文件的权限,对吗?我有源码,文件操作权限已经修改过了

就算修改了文件权限,但是只要apk没有系统权限一样不可以读系统文件

应用中可以读,不能写。我把这段代码放到系统设置Settings.apk中去,也同样不能写。求版主大大指点

#8


引用 7 楼 colwer 的回复:
Quote: 引用 6 楼 heaimnmn 的回复:

Quote: 引用 5 楼 colwer 的回复:

Quote: 引用 3 楼 heaimnmn 的回复:

app要系统权限,其实你root一下手机,就可以访问了,但是目测许多文件还是打不开

root的目的是去修改文件的权限,对吗?我有源码,文件操作权限已经修改过了

就算修改了文件权限,但是只要apk没有系统权限一样不可以读系统文件

应用中可以读,不能写。我把这段代码放到系统设置Settings.apk中去,也同样不能写。求版主大大指点


没搞过这方面的,不是很了解如何去改系统文件

#9


system分区本身就是只读挂载,除非想办法重新以读写方式挂载system,否则肯定不能写

#10


引用 9 楼 Arnold9009 的回复:
system分区本身就是只读挂载,除非想办法重新以读写方式挂载system,否则肯定不能写

Android应用读写系统文件
这里挂载的/system是rw, 另外在串口中可以对/system/build.prop读写,就是在应用程序中就不行

#11


你修改文件内容,但是Android是有安全机制的,估计Google在发布4.4的时候禁用了修改系统文件的权限。就跟禁止在UI线程中进行耗时操作一样。

#12


你修改文件内容,但是Android是有安全机制的,估计Google在发布4.4的时候禁用了修改系统文件的权限。就跟禁止在UI线程中进行耗时操作一样。

#13


修改文件的目的是什么?可否拷贝到其他地方,root权限可以运行shell命令强行删除再覆盖,不过这样容易出问题,可以试一下