这个解决方案有很大的局限性,只有安装了修改签名后的版本才能正常备份存档。
这可能是唯一有效的非 Root 备份方式。
此方法也同样适用于几乎所有的单机游戏。
对于普通用户,请跳过此教程的部分内容。
STEP 1
首先随便找一个疯狂动物园的 APK 安装包。
使用 apksigner 覆盖原有签名。
假设你已经生成了 .keystore
,输入以下命令:
apksigner sign --ks <keystore> --ks-pass pass:<password> 疯狂动物园.apk
apksigner 一般在
build-tools/<version>
中。
STEP 2
把修改好的 APK 安装到模拟器中。
在设备上启用 adb 调试。
运行 adb devices
命令验证设备是否已连接。
运行 adb shell pm list packages -3
命令找到包名。
运行 adb shell dumpsys package <package> | findstr versionCode
命令获取内部版本号。
STEP 3
创建一个 Android 项目,设置 packageName 和 versionCode。
添加导入和导出内部存储的功能。
参考资料
https://developer.android.com/studio/command-line/adb
https://developer.android.com/studio/command-line/apksigner.html
https://developer.android.com/studio/projects/create-project.html
https://developer.android.com/studio/publish/versioning
https://developer.android.com/training/data-storage/app-specific
https://learn.microsoft.com/zh-cn/xamarin/android/deploy-test/signing/manually-signing-the-apk
https://stackoverflow.com/questions/40653492/apksigner-not-accepting-password