Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用具有超级用户权限的sqlite helper类打开并编辑android系统数据库_Android_Sqlite_Root - Fatal编程技术网

使用具有超级用户权限的sqlite helper类打开并编辑android系统数据库

使用具有超级用户权限的sqlite helper类打开并编辑android系统数据库,android,sqlite,root,Android,Sqlite,Root,我正在修复一些安卓4.1.2设备中的wifi。这需要我在/data/data/com.android.providers.settings/databases/目录下的settings.db sqlite3数据库文件的secure表中编辑wifi\u country\u code字段 我有sqlite helper类来读取、更新、删除和插入记录,但我不能使用它打开和编辑位于->/data/data/com.android.providers.settings/databases/中的文件,因为它

我正在修复一些安卓4.1.2设备中的wifi。这需要我在/data/data/com.android.providers.settings/databases/目录下的settings.db sqlite3数据库文件的secure表中编辑wifi\u country\u code字段

我有sqlite helper类来读取、更新、删除和插入记录,但我不能使用它打开和编辑位于->/data/data/com.android.providers.settings/databases/中的文件,因为它是一个系统文件,因此我需要获得超级用户许可


我已经搜索了如何获取我的应用程序的超级用户权限。我搜索并找到了一个用于获取超级用户权限的,这对获取超级用户访问权限很有效,但我不知道如何使用它在位于->/data/data/com.android.providers.settings/databases/

的settings.db文件上执行sqlite操作。您不需要更多。SQLite不实现权限,因此如果可以访问数据库文件,则可以对其进行编辑。同意。假设您的应用程序以超级用户的身份运行,只需在该路径上打开数据库即可。但是,您不需要
SQLiteOpenHelper
,因为您没有创建数据库。只需在
SQLiteDatabase
上使用
openDatabase()。也就是说,我从来没有编写过以超级用户身份运行的代码,所以我可能遗漏了一些问题。好的,这是我的代码“try{Process p=Runtime.getRuntime().exec(“su”);SQLiteDatabase db=SQLiteDatabase.openDatabase(“/data/data/com.android.providers.settings/databases/settings.db”,null,SQLiteDatabase.OPEN_READWRITE);}catch(IOException e){toastMessage(e.getMessage());//txtErrorMsg.setText(e.getMessage());}这会给我一个错误,即权限被拒绝,即使在toast消息中说我的应用程序已被授予超级用户权限@commonware