如何使用Xamarin.Android从最终的APK文件中删除未使用的语言?

Fla*_*bug 15 android apk xamarin.android xamarin

我已将一些Android支持库添加到我的项目中,现在我基本上面临与此问题中描述的相同的问题: Android Studio将支持库中的字符串导出到APK

由于我不能使用Xamarin的Gradle设置,我无法使用StackOverflow答案中描述的解决方案.

有没有人有一个想法,我如何才能在我的最终APK文件中保留特定的本地化?

Fla*_*bug 0

所以我终于设法以理智的方式做到了这一点

  1. Apktoolhttps://ibotpeaches.github.io/Apktool/下载
  2. 使用 Xamarin 创建最终的 .apk 并使用反编译apktool d MyApp.apk
  3. 进入已创建的MyApp目录Apktool并查找该res目录
  4. 删除所有values以您不需要的语言标识符结尾的目录,例如,如果您的应用程序仅支持德语,请删除values-fr,values-es等...,但不删除values-de不要删除非语言目录,例如values-v11
  5. 重新编译您的应用程序apktool b MyApp
  6. 重新编译的应用程序包现在位于MyApp/dist/MyApp.apk. 获取此文件并使用signtool对其进行签名,然后对其进行zipalign。
  7. 将 apk 上传到 Google Play

我确信这个过程可以自动化,一旦我有了脚本,我就会更新这个答案。