android 模块混淆配置,使用android studio混淆多个模块
我有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混淆多个模块相关推荐
- android Q gradle配置,【Android】Android Studio启动配置gradle
环境:debian 第一次创建Android工程的时候,现配置gradle,但是一般会卡在 Download Gradle directly from http://services.gradle.o ...
- android sdk 混淆 修改,Android-SDK默认混淆配置ProGuard
一.介绍 通常情况下编译后的字节码包含了大量调试信息(如源类名/行号等) 混淆代码就能删除这些调试信息,并用无意义字符替换所有名字,增加反编译难度! ProGuard是一个混淆Java代码的开源项目, ...
- Android项目:proguard混淆之常见开源项目混淆配置
1.Gson混淆 ## ---------------------------------- ## ########## Gson混淆 ########## ## ------------------ ...
- Android项目混淆配置
安卓混淆配置demo #android 官方混淆配置 ###########优化精简代码########### -optimizations !code/simplification/arithmet ...
- android Android build.gradle 配置注释
//指定moudle的类型(com.android.application指定为应用程序,com.android.library指定为类库,这个可以从引入的库中区分) apply plugin: 'c ...
- android app功能 配置,配置安装时分发 | Android 开发者 | Android Developers
借助功能模块,您可以从应用的基本模块中分离某些功能和资源,并将其包含在 app bundle 中.然后,您可以自定义分发选项,以便控制搭载 Android 5.0(API 级别 21)或更高版本的设备 ...
- 悬剑2.0 tools安装_APP自动化测试之环境搭建:2. Android SDK安装配置
APP自动化测试之环境搭建:2. Android SDK安装配置 1.前提 基于win10专业版64位系统+jdk1.8+python3+pycharm+android SDK+appium+unit ...
- android studio .so混淆配置,Android Studio 下混淆 文件配置 有关问题 初探(一)
Android Studio 下混淆 文件配置 问题 初探(一) 1.参考资料 https://stuff.mit.edu/afs/sipb/project/android/sdk/android-s ...
- 【我的Android进阶之旅】Android混淆踩坑之各模块各自单独配置混淆,但是将minifyEnabled设置为true导致的编译错误
一.背景描述 在之前的两篇文章中 [我的Android进阶之旅]Android 混淆文件资源分类整理 [我的Android进阶之旅]Android 混淆文件资源分类整理之二:将混淆文件拆分成更小粒度的 ...
最新文章
- Jenkins + OSChina CI 最简
- Redis给PHP安装redis扩展
- 画一个圆角多边形_用SolidWorks一个扫描画出这个多边形瓶子
- Spring Boot 2.0.3 使用外置 Tomcat 服务器
- 项目启动会注意事项-甲方
- NMEA-0183 协议
- Maxwell安装、配置、脚本制作
- MySQL 事务的特性
- Math 数学方法、随机数公式、随机数公式推理
- Linux系统carplay模块,CarPlay for Android: R12d 插件源码移植到Linux
- 给一整型变量a,写两段代码,第一个设置a的bit3,第二个清除a的bit3.“a的bit3”
- mysql中的查找算法_7种查找算法解析
- 三极管原理及贴片封装注意
- CSS第三章:8.设置元素圆角、椭圆角效果
- kettle carte服务配置
- 前端面试题 ~ 移动端注意
- Chrome浏览器绿色、免安装版下载,长期更新
- Python GUI界面编程-初识
- vue3学习笔记(ref, reactive, setup, hook...)
- 什么文案才算得上好文案
热门文章
- 《深入浅出DPDK》读书笔记(九):流分类与多队列、流过滤、虚拟化流分类方式、流分类技术的使用
- 深度 || 既然C编译器是C语言写的,那么第一个C编译器是怎样来的?
- 计算机管理mmc无法,电脑提示mmc无法创建管理单元的问题可以这样解决
- maven学习- 私服nexus搭建
- scala定义函数(六)
- 怎么看电脑配置高不高_辣椒产量高不高?关键看播种前的种子处理,你知道怎么做吗?...
- ajax 定时请求mysql_PHPAjax请求MySQL数据库
- java 两数之差_1_两数之和(java)
- linux启用shell脚本,linux下开机启动shell脚本
- OpenShift 4 - 了解Secret