我有gradle proguard的问题...我有以下模块:

应用:主应用模块.有依赖ModuleA和ModuleC

ModuleA:库模块.有依赖ModuleB和jar dependecies.

ModuleB:库模块

ModuleC:库模块

穿:穿app模块.

build.gradle文件: - App:

buildTypes {

release {

minifyEnabled true

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

compile project(':ModuleA')

compile project(':ModuleC')

wearApp project(':Wear')

}

ModuleA:

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

compile project(':ModuleB')

}

ModuleB:

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

ModuleC:与ModuleB相同.

穿:

buildTypes {

release {

minifyEnabled true

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

**我只写了重要的一行

我的问题是,如果我使用该配置生成已签名的APK,当我将其安装在设备上时,它会因此异常而崩溃:

java.lang.NoSuchFieldError:类Lcom/package/ClassInJar中没有name ='peer'cignate ='J'的字段;

它在模块A的libs文件夹中的jar中包含的类中崩溃.

如果我在所有模块中将minifyEnabled设置为false,它不会崩溃,但我更喜欢混淆代码.如果我在库模块中将minifyEnabled变为true,它就不会编译,它会向我显示以下异常:

Error:Execution failed for task ':ModuleB:proguardRelease'.

java.io.IOException:输出jar为空.你有没有指定正确的'-keep'选项?

android 模块混淆配置,使用android studio混淆多个模块相关推荐

  1. android Q gradle配置,【Android】Android Studio启动配置gradle

    环境:debian 第一次创建Android工程的时候,现配置gradle,但是一般会卡在 Download Gradle directly from http://services.gradle.o ...

  2. android sdk 混淆 修改,Android-SDK默认混淆配置ProGuard

    一.介绍 通常情况下编译后的字节码包含了大量调试信息(如源类名/行号等) 混淆代码就能删除这些调试信息,并用无意义字符替换所有名字,增加反编译难度! ProGuard是一个混淆Java代码的开源项目, ...

  3. Android项目:proguard混淆之常见开源项目混淆配置

    1.Gson混淆 ## ---------------------------------- ## ########## Gson混淆 ########## ## ------------------ ...

  4. Android项目混淆配置

    安卓混淆配置demo #android 官方混淆配置 ###########优化精简代码########### -optimizations !code/simplification/arithmet ...

  5. android Android build.gradle 配置注释

    //指定moudle的类型(com.android.application指定为应用程序,com.android.library指定为类库,这个可以从引入的库中区分) apply plugin: 'c ...

  6. android app功能 配置,配置安装时分发  |  Android 开发者  |  Android Developers

    借助功能模块,您可以从应用的基本模块中分离某些功能和资源,并将其包含在 app bundle 中.然后,您可以自定义分发选项,以便控制搭载 Android 5.0(API 级别 21)或更高版本的设备 ...

  7. 悬剑2.0 tools安装_APP自动化测试之环境搭建:2. Android SDK安装配置

    APP自动化测试之环境搭建:2. Android SDK安装配置 1.前提 基于win10专业版64位系统+jdk1.8+python3+pycharm+android SDK+appium+unit ...

  8. android studio .so混淆配置,Android Studio 下混淆 文件配置 有关问题 初探(一)

    Android Studio 下混淆 文件配置 问题 初探(一) 1.参考资料 https://stuff.mit.edu/afs/sipb/project/android/sdk/android-s ...

  9. 【我的Android进阶之旅】Android混淆踩坑之各模块各自单独配置混淆,但是将minifyEnabled设置为true导致的编译错误

    一.背景描述 在之前的两篇文章中 [我的Android进阶之旅]Android 混淆文件资源分类整理 [我的Android进阶之旅]Android 混淆文件资源分类整理之二:将混淆文件拆分成更小粒度的 ...

最新文章

  1. Jenkins + OSChina CI 最简
  2. Redis给PHP安装redis扩展
  3. 画一个圆角多边形_用SolidWorks一个扫描画出这个多边形瓶子
  4. Spring Boot 2.0.3 使用外置 Tomcat 服务器
  5. 项目启动会注意事项-甲方
  6. NMEA-0183 协议
  7. Maxwell安装、配置、脚本制作
  8. MySQL 事务的特性
  9. Math 数学方法、随机数公式、随机数公式推理
  10. Linux系统carplay模块,CarPlay for Android: R12d 插件源码移植到Linux
  11. 给一整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3.“a的bit3”
  12. mysql中的查找算法_7种查找算法解析
  13. 三极管原理及贴片封装注意
  14. CSS第三章:8.设置元素圆角、椭圆角效果
  15. kettle carte服务配置
  16. 前端面试题 ~ 移动端注意
  17. Chrome浏览器绿色、免安装版下载,长期更新
  18. Python GUI界面编程-初识
  19. vue3学习笔记(ref, reactive, setup, hook...)
  20. 什么文案才算得上好文案

热门文章

  1. 《深入浅出DPDK》读书笔记(九):流分类与多队列、流过滤、虚拟化流分类方式、流分类技术的使用
  2. 深度 || 既然C编译器是C语言写的,那么第一个C编译器是怎样来的?
  3. 计算机管理mmc无法,电脑提示mmc无法创建管理单元的问题可以这样解决
  4. maven学习- 私服nexus搭建
  5. scala定义函数(六)
  6. 怎么看电脑配置高不高_辣椒产量高不高?关键看播种前的种子处理,你知道怎么做吗?...
  7. ajax 定时请求mysql_PHPAjax请求MySQL数据库
  8. java 两数之差_1_两数之和(java)
  9. linux启用shell脚本,linux下开机启动shell脚本
  10. OpenShift 4 - 了解Secret