如何以编程方式修改现有apk中资产文件夹中的数据?

How to modify the data in the assets folder in existing apk programmatically?

我想用生成的 apk 替换 assets 文件夹中的一个文件(在生成 apk 后,assets 文件夹中有 sample.txt 文件我想更改该文件中的数据并重新生成新的 apk ) .

===> 旧 APK+修改(sample.txt)=newApk

如何操作?

APK 文件是 ZIP 存档,在构建过程中不会修改资产。因此,在您的开发机器上,您可以:

  • 解压缩 APK 文件
  • 替换您的资产
  • 将结果压缩回 APK 文件
  • 使用 jarsigner 使用生产密钥库对 APK 进行签名
  • 使用 zipalign 将结果对齐到四字节边界,以便在运行时更快地加载

这是不可能的,除非部署更新的 APK。 APK 已进行数字签名,无法在运行时修改