5

有没有办法在apk上使用adb卸载,但让数据持久化?我丢失了应用程序的原始密钥,现在我想更新它,但不会丢失以前的数据。所以我需要先卸载它以使用新密钥添加新的 apk。这可能吗?

我忘了提到我正在通过 .bat 文件执行命令。

4

4 回答 4

4

编辑:应该指定,以下仅适用于 Android 4.0 及更高版本。

只需启用adb访问权限,然后使用以下命令:

adb backup -noapk -f /backup/myAppBackup.ab com.yourapp.packagename

然后,您应该将一个文件存储在您的根目录(在 Windows 上,您的 C:\ 或等效目录)的一个名为 backup 的文件夹中。

一旦你有了这个文件,假设包名保持不变,你应该能够简单地使用命令

adb restore /backup/myAppBackup.ab

来恢复数据。

现在,我不确定这在您更改密钥后是否会起作用,但我相当确定它仅依赖于包名称,因此签名密钥无关紧要。更多信息在这里

于 2012-10-05T15:32:09.663 回答
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
于 2012-10-05T15:22:18.853 回答
0

如果您的数据是公开存储的,卸载后会保留,但如果您的数据是私有存储,您的数据将在您卸载应用程序时被删除。

于 2012-10-05T15:12:55.173 回答
-1

如果您的设备已植根,您可以访问/data/<package_name>包含应用程序数据,并且可以对其进行备份。

如果您的设备没有植根,则您没有其他方法可以保留您的数据。

于 2012-10-05T15:12:37.030 回答