首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    修改AAR和Jar中class文件

    问题:使用现有的已经封装好的Hybrid协议,在最后集成测试发现部分手机无法保存成功。 调试发现H5中使用原有的协议格式调用新协议,无法触发业务侧native注册的新协议的日志和断点。...我们可以拿到项目中所有的AAR文件,想着是否能通过修改源代码使之提供我们想要的API,然后通过升级 AAR版本解决问题。好了本文的重点已经出来了修改AAR中class文件。...修改AAR中class文件 方案一 先把AAR中的想要修改的class删除,重新打包为新的AAR。项目依赖新版本AAR,然后在项目对应的包下创建一个相同的类。 1....最后重新编译生成的class再添加到AAR中重新打包生成新的AAR。 如果类被混淆过的,那么这个方案基本废掉了。...因为Javassist源代码级API比ASM中实际的字节码操作更容易使用,无需深入了解JVM规范也能使用。

    2.1K00

    android studio library 模块引用aar

    背景 Android 工程导入 aar 包, 是开发过程中,很常见的操作。 今天在工程中导入遇到了一个错误,这里记录下。.../lib_diagnotic/libs' // model工程的` build.gradle` 和 app工程中的路径不同,需要调整到对应的aar路径 } } library 模块引用aar 1...、 拷贝 aar文件 到 工程libs目录中 引入aar 的第一步,是需要将 aar 文件拷贝到 对应工程的libs目录中 2、工程中引用 aar 文件 lib工程中的build.gradle 文件中...,添加 aar 文件到引用 repositories { flatDir { dirs 'libs' // aar目录 } } dependencies {...implementation(name:'diagnotic', ext:'aar') } 2、主工程中添加对aar文件引用 app 工程中 build.gradle 文件,添加如下代码 repositories

    3.2K10

    修改AAR和Jar中class文件

    问题:使用现有的已经封装好的Hybrid协议,在最后集成测试发现部分手机无法保存成功。 调试发现H5中使用原有的协议格式调用新协议,无法触发业务侧native注册的新协议的日志和断点。...我们可以拿到项目中所有的AAR文件,想着是否能通过修改源代码使之提供我们想要的API,然后通过升级 AAR版本解决问题。好了本文的重点已经出来了修改AAR中class文件。...修改AAR中class文件 方案一 先把AAR中的想要修改的class删除,重新打包为新的AAR。项目依赖新版本AAR,然后在项目对应的包下创建一个相同的类。...最后重新编译生成的class再添加到AAR中重新打包生成新的AAR。 如果类被混淆过的,那么这个方案基本废掉了。...因为Javassist源代码级API比ASM中实际的字节码操作更容易使用,无需深入了解JVM规范也能使用。

    2K20

    Android library 依赖 aar 包的两种方式

    方式1 将 aar 包放入 library module 的 libs 目录下,然后在工程的 build.gradle 文件中加入如下代码: flatDir { dirs 'libs', '.....然后在 module 的 build.gradle 文件中添加依赖: implementation(name: 'aar包名', ext: 'aar') 方式2 这种方式的思路是,先把 aar 包放入一个单独的文件夹中...先在工程目录下新建一个文件夹(和app同级),然后将你的 aar 包放入 这个文件夹,然后再新建一个 build.gradle 文件,在这个文件中添加下面两句: configurations.maybeCreate...("default") artifacts.add("default", file('aar包名.aar')) 然后在你需要依赖的 library module 的 build.gradle 文件中添加依赖...: implementation project(':存放aar包的文件夹') 最后,同步下工程就 OK 了~

    8K20

    Android制作AAR包并混淆后加载调用

    包 点击Build--Make Module 'TAAR.app'生成AAR包 app-build-outputs-aar下即可看到生成的release.arr的包,这样AAR包就制作完成了。...调用AAR包 1.创建新的Project拷贝AAR包 新建了一个名叫Demo的工程 将刚才创建好的AAR包拷冂到Demo工程下的libs目录中,并改为名TAAR.aar 2.配置build.gradle...自定义控件不进行混淆 枚举类不被混淆 反射类不进行混淆 实体类不被混淆 JS调用的Java方法 四大组件不进行混淆 JNI中调用类不进行混淆 Layout布局使用的View构造函数、android:onClick...你会发现类名虽然未混淆,但里面的具体方法和变量命名还是变了,这时如果既想保持类名,又想保持里面的内容不被混淆,我们就需要以下方法了 -keep class cn.hadcn.test.* {*;} 在此基础上,我们也可以使用...03 混淆模版 基本指令 # 设置混淆的压缩比率 0 ~ 7 -optimizationpasses 5 # 混淆时不使用大小写混合,混淆后的类名为小写 -dontusemixedcaseclassnames

    5.8K30
    领券