微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从不同的包访问数据库:它给出错误:android.database.sqlite.SQLiteException:无法打开数据库文件

我有两个不同的应用程序
1. databaseSetup Application – database.apk
2.销售应用程序 – salesApp.apk

我之所以喜欢这样,是因为如果数据库损坏,只需要重新安装数据库.那时候不需要安装应用程序.

用于databaseSetup应用程序的包

  /data/data/com.xont.app/databases/

销售应用程序包 – com.xont.controller

我想从不同的包访问数据库.这意味着销售应用程序包是com.xont.controller&数据库包是/data/data/com.xont.app/databases/.

是否可以访问此文件夹的不同应用程序?

对于这个问题,我从我的朋友Click获得了链接

在那里,我无法理解共享用户ID并由相同的签名密钥签名.什么是用户ID&西宁钥匙?

请有人告诉我什么是UserID,SingingKey? &安培;我该如何分享

请帮帮我…

提前致谢…

解决方法:

是的,您可以访问来自不同应用程序的文件夹,如果两个应用程序都使用相同的签名密钥签名,并且两者都具有相同

现在用于用户ID和签名密钥,

User IDs and File Access

在安装时,Android为每个程序包提供不同的Linux用户ID.在程序包的生命周期内,该标识保持不变.在不同的设备上,同一个包可能有不同的UID;重要的是每个包在给定设备上具有不同的UID.

You can use the sharedUserId attribute in the AndroidManifest.xml's manifest tag of each package to have them assigned the same user ID.

如果可能,将您的数据库文件放在本地数据库目录中,或者在SD卡中,您可以从任何应用程序访问.但它对数据库的安全性有关.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐