gos*_*vka 3 java database sqlite android
我正在使用root设备.我从我的电脑上连接了adb shell,我可以验证其他数据库是否存在,我可以查询它的表.
但是在我的java代码中,当我尝试打开数据库时,我收到错误
android.database.sqlite.SQLiteException:无法打开数据库文件
我试图像这样打开数据库:
SQLiteDatabase.openDatabase(PATH, null, SQLiteDatabase.OPEN_READONLY);
Run Code Online (Sandbox Code Playgroud)
路径类似于/data/data/com.xxx.xxx/databases/xx.db
我应该读这样的其他应用程序的数据库还是有另一种方式?
更新:我也尝试在这个线程中建议系统应用程序推送我的apk到/ system/app
我认为它的工作原理是因为应用程序管理器之后无法卸载应用程序,就像普通的应用程序一样,所以我认为它是一个系统应用程序.但我仍然无法访问数据库,但我确信路径和权限都可以.
默认情况下,Android OS不允许应用程序访问彼此的私人文件夹.为了能够读取另一个应用程序文件夹中的文件:
1)您需要使用相同的方式安装两个应用程序user id.将此添加到两个清单中:
android:sharedUserId="com.xx.xx"
Run Code Online (Sandbox Code Playgroud)
2)如果其他应用程序是第三方应用程序,那么您唯一的选择是将您的应用程序安装为系统应用程序.要做到这一点,你需要一个root电话,你需要安装该system文件夹.然后你需要将你的应用程序放入/system/app/文件夹并重新启动手机.它应该在引导期间自动安装.
| 归档时间: |
|
| 查看次数: |
6775 次 |
| 最近记录: |