是否可以从第三方.apk中删除AOT程序集?

时间:2016-03-13 05:38:45

标签: android xamarin.android apk

我有一个第三方的apk,我正在尝试优化,因为开发人员不会被这些小事情困扰。

该应用程序使用Xamarin构建并包含AOT程序集。有没有办法从apk中剥离它们而不完全反向工程项目并重新构建它?

1 个答案:

答案 0 :(得分:0)

从.apk中删除AOT程序集就像删除它们并正确地重新签名包一样简单。

以下是步骤:

  • 打开.apk作为zip文件,删除lib\<architecture>\libaot-*.so个文件 Xamarin应用程序包括libmonodroid.solibmonosgen-2.0.so,即使没有AOT编译,也不要触摸它们。
  • 从.apk的根目录删除META-INF。
  • 使用JDK中的jarsigner对生成的.apk进行签名。如果您没有原始密钥,任何人都会这样做,您将无法自动更新应用程序。
  • 请勿忘记将.apk与Android版本工具中的zipalign对齐。

结果更薄的应用程序安装和运行完美,但当然需要几秒钟才能启动。