有没有办法在apk上使用adb uninstall,但是数据是否仍然存在?我已经丢失了我的应用程序的原始密钥,现在我想更新它,但不会丢失以前的数据。所以我需要先卸载它以添加带有新密钥的新apk。这可能吗?
我忘了提及我通过.bat文件执行命令。
答案 0 :(得分:4)
编辑:如果已指定,以下内容仅适用于Android 4.0及更高版本。
只需启用adb
访问权限,然后使用此命令:
adb backup -noapk -f /backup/myAppBackup.ab com.yourapp.packagename
然后,您应该在名为backup的文件夹中的根目录(在Windows上,您的C:\或等效文件)中存储一个文件。
一旦你有这个文件,假设包名保持不变,你应该可以简单地使用命令
adb restore /backup/myAppBackup.ab
恢复数据。
现在,我不知道某些,一旦你更改了密钥,这将会有效,但我相当肯定它只依赖于软件包名称,所以签名密钥不重要。更多信息here。
答案 1 :(得分:2)
批量友好版本。
My-make-clean.bat:
adb pull /data/data/com.blah.bla/file1 file1
adb pull /data/data/com.blah.bla/file2 file2
adb pull /data/data/com.blah.bla/file3 file3
...
adb uninstall com.blah.bla
adb install YourApkFile.apk
答案 2 :(得分:0)
如果您的数据是公开存储的,则会在卸载后保留,但如果您的数据是私有存储的,则在卸载应用时您的数据将被删除。
答案 3 :(得分:-1)
如果您的设备已植根,则可以访问包含应用数据的/data/<package_name>
,然后您可以对其进行备份。
如果您的设备未植根,则无法保留数据。