为了发布我的Android应用程序,我必须从开发过程中使用的com.example.project更改软件包名称。 尽管在更改包名后,我无法再访问sqlite数据库。我尝试通过.adb访问它,它适用于旧的软件包名称,但不适用于新的软件包名称。如何在Android中更改包名后访问我的Sqlite数据库?
如何访问数据库为了把它放在新的包下?我有一个旧的未改变的项目文件的副本。
非常感谢! AK
为了发布我的Android应用程序,我必须从开发过程中使用的com.example.project更改软件包名称。 尽管在更改包名后,我无法再访问sqlite数据库。我尝试通过.adb访问它,它适用于旧的软件包名称,但不适用于新的软件包名称。如何在Android中更改包名后访问我的Sqlite数据库?
如何访问数据库为了把它放在新的包下?我有一个旧的未改变的项目文件的副本。
非常感谢! AK
这是模拟器还是手机?如果您在手机上的发展,并已建立了一个数据库,你想:
如果手机根植 - 使用文件资源管理器(或DDMS查看文件浏览器),并从/data/data/com.example.prackage/databases
得到它,并把它放在你的新的包文件夹。
如果手机没有固定 - 如果您有原始软件包代码,请创建备份脚本以复制文件夹/data/data/com.example.prackage/databases
中的sqlite文件 - 您还需要知道数据库文件名。然后在新软件包中创建代码的反转,将文件从SDCard复制到新软件包DB文件夹。
如果在模拟器上 - 使用DDMS视图文件资源管理器从数据库文件夹中获取文件。
此链接可以帮助备份和恢复:
Backup/Restore Sqlite to SDCard
UPDATE
一种方法,使用DDMS文件资源管理器
这应该将数据库复制到新包中,以便您可以像以前那样使用它。
以上是使用从命令提示符亚行的DB文件从旧的包复制到新包的GUI,像这样:
adb pull /data/data/com.example.package/databases C:\tempdb
这应该使的副本旧的数据库,那么:
adb push C:\tempdb /data/data/com.example.package/databases
你创建从代码数据库?或者你已经有了sqlite文件? – Cristian 2010-12-01 17:39:43
我在项目中使用了它,我唯一做的是更改软件包名称。当我从命令提示符访问它时,它在它的旧包名下。有没有办法移动它,或复制它? – kakka47 2010-12-01 18:00:36