有没有办法在使用adb卸载apk的同时保留数据?我的应用程序原始密钥丢失了,现在我想更新它,但不想丢失以前的数据。因此,我需要先卸载它,然后添加具有新密钥的新apk。这种情况可能吗?
我忘记提到我是通过.bat文件执行命令的。
我忘记提到我是通过.bat文件执行命令的。
编辑:应指定,以下方法仅适用于Android 4.0及以上版本。
只需启用adb
访问,并使用此命令:
adb backup -noapk -f /backup/myAppBackup.ab com.yourapp.packagename
然后您将在根目录(在 Windows 上是您的 C:\ 目录或其等效目录)下的一个名为 backup 的文件夹中存储一个文件。
获取此文件后,假设包名称保持不变,则应该能够简单地使用以下命令:
adb restore /backup/myAppBackup.ab
来还原数据。
现在,我无法确定更改密钥后是否能够使用此方法,但我相当确定它仅依赖于包名称,因此签名密钥不应该有影响。更多信息请参见这里。
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
/data/<package_name>
来获取应用数据,并且可以对其进行备份。