Android Studio 在转换为 dex 之前修改字节码
Android Studio modify bytecode before converting to dex
我想在将 android 项目的编译源代码打包到最终 APK 文件之前更改其字节码。据我所知,源代码被编译为 java 字节码,然后在 Android Studio 中使用 dx
转换为 DEX。在转换为 DEX 然后打包到 APK 文件之前,我可以以某种方式修改 java 字节码吗?使用 gradle 在 java 字节码到 dex 的转换步骤之间以某种方式挂钩?这应该是有可能的,因为许多 android 项目都使用 ProGuard 进行了混淆处理,ProGuard 通常使用 JAR 文件作为输入。
您可能正在寻找 AGP 的 Transform API。
您可以找到 here a decent API introduction, and here 使用它的示例。
我想在将 android 项目的编译源代码打包到最终 APK 文件之前更改其字节码。据我所知,源代码被编译为 java 字节码,然后在 Android Studio 中使用 dx
转换为 DEX。在转换为 DEX 然后打包到 APK 文件之前,我可以以某种方式修改 java 字节码吗?使用 gradle 在 java 字节码到 dex 的转换步骤之间以某种方式挂钩?这应该是有可能的,因为许多 android 项目都使用 ProGuard 进行了混淆处理,ProGuard 通常使用 JAR 文件作为输入。
您可能正在寻找 AGP 的 Transform API。
您可以找到 here a decent API introduction, and here 使用它的示例。