Android修改aar包中的类文件并重新打包

简介: Android修改aar包中的类文件并重新打包

案例需求:修改EntryProxy的onCreate方法,删除if判断(既删除红框里面的蓝框代码)

1686638014502.png

老aar.png

解压aar包

unzip sdk.aar -d sdk

得到解压好的文件夹

1686638034638.pngsdk.png

解压classes.jar

unzip sdk/classes.jar -d classes

得到classes文件夹

1686638055932.png

将aar引入任意工程,打开指定类的class,复制全部代码,并生成同样包名的该类


1686638074833.png

新创建类-原.png

修改指定位置代码,根据java文件生成class文件

找到上图蓝色框代码并删除

1686638099000.png

新创建类-后.png

run项目,在对应<module>/build/intermediates/javac/debug/<class>即可找到修改过并打包好的class文件

1686638118565.png

修改后class.png

打包新aar

将生成的class替换上面解压出的class并重打包classes.jar

jar cvf classes.jar -C classes/ .

将新生成的classes.jar替换上面解压出的sdk目录下的classes.jar,然后打包成新的aar

jar cvf sdk-m.aar -C sdk/ .

使用新生成的sdk.aar替换原来的sdk.aar查看修改是否成功

1686638137008.png

结果.png


1686638152536.png

新aar.png

相关文章
|
1月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
243 1
|
1月前
|
JSON 调度 数据库
Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。文章详细解析了Kotlin中的协程、扩展函数、高阶函数、密封类及`inline`和`reified`关键字在Android开发中的应用,帮助读者更好地理解和使用这些特性。
20 1
|
16天前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
23 0
|
1月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
21 2
|
3月前
|
安全 Java Android开发
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
如何解压OTA升级包、编辑升级包内容(例如移除不需要更新的分区)、重新打包、签名以及验证OTA文件的过程。
278 2
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
|
1月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
109 0
|
3月前
|
开发工具 git 索引
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
本文描述了在更新AOSP 12源码时遇到的repo同步错误,并提供了通过手动git pull更新repo工具来解决这一问题的方法。
124 1
|
3月前
|
存储 监控 数据库
Android经典实战之OkDownload的文件分段下载及合成原理
本文介绍了 OkDownload,一个高效的 Android 下载引擎,支持多线程下载、断点续传等功能。文章详细描述了文件分段下载及合成原理,包括任务创建、断点续传、并行下载等步骤,并展示了如何通过多种机制保证下载的稳定性和完整性。
107 0
|
3月前
|
Java 测试技术 Android开发
Android项目架构设计问题之使用反射调用类的私有方法如何解决
Android项目架构设计问题之使用反射调用类的私有方法如何解决
29 0