android模块混淆打包时,泛型丢失】的更多相关文章

现象:lib模块中写了一个泛型接口,在混淆之后泛型消失,提示"Error:(67, 79) 错误: 类型 ******* 不带有参数" 解决:混淆时把泛型给混淆掉了,在proguard-rules.pro中添加  -keepattributes Signature…
前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} -dontwarn com.hyphenate.** 即:混淆规则. 自己没写过关于混淆打包的文章,在此补上. 下面了解Android studio环境下 项目混淆打包的操作. ------------------------------------------------------------…
1.apk混淆打包 如果要对apk进行混淆,你要先告知gradle这个app需要混淆,并告知其混淆规则. 告知gradle需要混淆的代码 在Project/app/build.gradle中把minifyEnabled设置为true,表示说打包时需要执行混淆操作.如下代码: buildTypes { release { // 混淆 minifyEnabled true // Zipalign优化 zipAlignEnabled true // 移除无用的resource文件 shrinkReso…
参考 : Android Studio代码混淆设置以及上传mapping文件 AndroidStudio 混淆打包 在app 目录下  proguard-rules.pro中加入 通用 混淆 #指定代码的压缩级别 -optimizationpasses 5 #包明不混合大小写 -dontusemixedcaseclassnames #不去忽略非公共的库类 -dontskipnonpubliclibraryclasses #优化 不优化输入的类文件 -dontoptimize #预校验 -dont…
以下为我此期项目中的关于混淆打包的总结:(本人第一次混淆打包,呵呵,错误很多!列了一些比较头疼的)一.项目混淆过程中注意事项:由于我的sdk版本较高,因此新建android项目下只有proguard-project.txt和project.properties这两个文件夹,而网上一些所谓混淆的方法我均试验了下,都有或多或少的问题,以下是一些混淆总结:1.如果你的项目没有其他第三方包的话,那么进行混淆很简单,只需要将project.properties文件夹下面的注释解开就行,一点区别在于:如果您…
前言,当前android studio使用的版本较新,低版本的如果有差异,或者问题,欢迎拍砖! 1.修改配置文件 找到配置文件,build.gradle,修改如下.    signingConfigs { release { // 下面各值的意思将在后续进行讲解 storeFile file('release.keystore') storePassword "123456" keyAlias "androiddebugkey" keyPassword "…
非常多朋友在开发Android JNI的的时候,会遇到findlibrary returned null的错误,由于某种原因,so没有打包到apk中.以下浅析下引起该错误的原因以及平台兼容性问题. Android设备载入so怎样选择 眼下主流的Android设备肯定是armeabi-v7a架构的,然后就是x86和armeabi了. 那么Android设备在执行程序时怎样选择载入包中的哪个so呢? x86设备肯定优先寻找x86目录下的so.armeabi-v7a架构的设备肯定优先选择寻找项目中ar…
AndroidStudio中的项目可以用compile的形式引入github上的开源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式. 在最终realease打包时,混淆的设置是比较重要的,否则会导致生成的包有很多功能不能正常使用.下面列举一个基本的app的build.gradle和混淆文件.并注意,混淆打包后的apk文件大小会比不使用混淆要小. 在app根目录下设置build.gradle和混淆文件,然后把混淆选项写入混淆文件就可以.虽然app项目中可能引用了一些m…
菜鸟的我,尝试混淆打包app...打包之前没有什么问题,混淆打包之后遇到各种问题.首先,感谢原博主的分享.解决了我的问题.谢谢. 原文地址:http://blog.csdn.net/tou_star/article/details/70256011 前提: 在Android studio中,混淆,打包项目,安装真机,打开软件,报错. 不混淆,打包没有异常.错误肯定是混淆了不该混淆的. java.lang.NullPointerException: Attempt to invoke interf…
安装包立减1M--微信Android资源混淆打包工具http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=208135658&idx=1&sn=ac9bd6b4927e9e82f9fa14e396183a8f#rd AndResGuardhttps://github.com/shwenzhang/AndResGuard/blob/master/README.zh-cn.md 美团Android资源混淆保护实践http://tech…
1.android 签名 使用eclipse导出带签名的apk,最简单的方式. 最后一步finish ,就能导出一个xxx.keystore的文件了. 下次再发布新版本的时候,使用这个生成的签名继续使用. .签名对你的App的影响. 你不可能只做一个APP,你可能有一个宏伟的战略工程,想要在生活,服务,游戏,系统各个领域都想插足的话,你不可能只做一个APP,谷歌建议你把你所有的APP都使用同一个签名证书. 使用你自己的同一个签名证书,就没有人能够覆盖你的应用程序,即使包名相同,所以影响有: 1)…
看了一篇关于Android studio混淆的文章http://blog.csdn.net/qq_23547831/article/details/51581491,感觉有必要总结一个简单的混淆版本设置,所以有了以下文章: 1.首先需要在app下的build.gradle下配置,true表示编译时会混淆代码 <span style="font-size:18px;">buildTypes { release { minifyEnabled true proguardFile…
项目结构图如下: 在SpringBoot多模块项目打包时遇见如下错误: 1.repackage failed: Unable to find main class -> [Help 1] 解决步骤: (1)删除父pom中的build标签 (2)在web模块的pom中配置,指定启动类,其他模块中不需要配置: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId&g…
在做项目时遇见一个问题,无法解析properties文件的 内容 异常为 Could not resolve placeholder ......... 在此之前均有做相关的 配置 但是从未出现过如上异常,困惑了很久,最后把 war包提取出来得知   properties文件未被加载进项目中,因此无法识别. 但这的原因是为什么呢   ,原来此项目采用的是maven配置,但是maven在打包时将丢失properties文件,原因maven执行compile是只会扫描*.class文件. 那么这种请…
最近项目有点闲,考虑到以前的项目没有做过混淆,只是用了加固软件进行加固,为了安全性,准备给项目加上,这里做个总结,都经本人亲自在项目实践,说是为了安全性,这好像说大了,一来项目中没用到什么特别的技术,二是大神真要弄你你也防不住呀,这样做只是为了让闲着的自己心安理得一点,哈哈哈... Android项目在完工发布时,需要对代码和资源文件进行混淆,目的有两个: 1.减小压缩包的体积 2.防止代码被反编译后恶意利用 Android Apk混淆分两步走: 1.混淆代码 2.混淆资源文件 混淆资源文件直接…
参考博客:Android studio 使用心得(五)—代码混淆和破解apk 参考博客:Android studio 使用心得(四)---android studio 多渠道打包 参考博客:Android studio 使用心得(四)---android studio 多渠道打包(二) 1.混淆文件 proguard-rules.pro # Add project specific ProGuard rules here. # By default, the flags in this file…
一.理论知识   ProGuard是一款免费的Java类文件压缩器.优化器和混淆器.它能发现并删除无用类.字段(field).方法和属性值(attribute).它也能优化字节码并删除无用的指令.最后,它使用简单无意义的名字来重命名你的类名.字段名和方法名.经过以上操作的jar文件会变得更小,并很难进行逆向工程. 二.基本使用   在Android应用程序也可以使用ProGuard来进行混洗打包,大大的优化Apk包的大小.但是注意ProGuard对文件路径的名名很有讲究,不支持括号,也不支持空格…
Android打包失败出现Proguard returned with error code 1. See console的错误 这个问题是由于代码混淆引起的,找不到引用包. 只需在你的proguard-project.txt中添加如下两行即可. -libraryjars libs/okio-1.6.0.jar(你可以根据你的项目提示,添加需要的jar.) 备注: 如果添加上面两行后依然打包不成功,那么你需要修改位于 android-sdk-windows\tools\proguard\bin的…
有些时候我们希望我们自己的apk包不能被别人反编译而获取自己的源代码.这就需要我们通过Android提供的混淆打包技术来完成. 一.没有引用外部包的情况: 这种情况下代码混淆的方式相对简单: 1)只需要复制一份proguard.cfg文件到项目主目录中(不需要做任何改动) 2)修改project.properties文件,向文件中加上一段代码:proguard.config=proguard.cfg即可 到此第一种情况的混淆结束. 二.再我们引用了外部包的情况下,例如:google的gson.j…
原文地址:http://www.cnblogs.com/linguanh/    (滑至文章末,直接看解决方法) 问题起因: 前5天,因为项目里面有个类似 仿微信 视频录制的功能, 先是上网找了个 开源项目:https://github.com/qdrzwd/VideoRecorder,下载下来,在 debug 非混淆的模式下 测试了几次,觉得效果还不错,便在它的基础上进行了 二次开发. 于当天晚上整合好项目,准备第一次的混淆打包(release模式),然后第一次测试,结果,我意料中的事情发生了…
maven打包时始终出现以下提示: 1.-source 1.3 中不支持泛型(请使用 -source 5 或更高版本以启用泛型)List<User> userList= new ArrayList<User>(); 2.-source 1.3 中不支持注释(请使用 -source 5 或更高版本以启用注释)@WebService(endpointInterface = "com.webservice.service.LoadService") 而用命令mvn -…
网上搜了一大堆,在此不一一赘诉. 直接讲解了 如上图这么配置,其实就是加上一句话而已.告诉打包工具混淆打包的代码放在./proguard-project.txt这里 proguard.config=./proguard-project.txt 进入proguard-project.txt文件 有人说放开上面的注释就可以了.可惜.我没弄懂,低版本好像可以. # :后面跟的是注释,可以不用看. -dontwarn android.app.** -keep class android.app.**{*…
最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotations InnerClass annotations are missing corresponding EnclosingMember annotations. Such InnerClass an…
只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式2)只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证3)同时勾选V1和V2则所有机型都没问题 解决方案二在app的build.gradle的android标签下加入如下 signingConfigs { debug { v1S…
android应用程序的混淆打包 1 . 在工程文件project.properties中加入下proguard.config=proguard.cfg , 如下所示: target=android-8 proguard.config=proguard.cfg Eclipse会通过此配置在工程目录生成proguard.cfg文件 2 . 生成keystore (如已有可直接利用) 按照下面的命令行 在D:\Program Files\Java\jdk1.6.0_07\bin>目录下,输入keyt…
android 其实就是linux 上面包装了一个java的框架. linux 系统下 所有的硬件,设备(网卡,显卡等) 都是以文件的方式来表示. 文件里面包含的有很多设备的状态信息. 所有的流量相关的信息 都是记录在文件上的. 注意:模拟器 是不支持流量查询的. adb devices列出所以设置 然后通过 :adb -s 3835197E43F100EC shell 可以进入指定的设备. proc 系统的状态信息 adb -s 3835197E43F100EC shell 所以,那些流量都是…
Android在多模块或者组件化的时候,关于混淆的管理,一般常见的做法就是两条. 把所有的混淆规则规则都放在app模块下面,由app统一管理.这样就会有一个问题,就是到会导致混淆规则的冗余. 由module管理自己的混淆规则,这样的话需要你对自己的模块有一个很好的管理. 这里就是记录下,由module的处理混淆的方法,参看官方文档.管理子module的方法,本质上就是管理aar的方法,是通用的.在module中添加: 大专栏  Android多模块混淆的问题td class="gutter&qu…
Android 模块打包生成aar远程坐标 打包成AAR到本地仓库 在模块的gradle文件中加入apply plugin: 'maven'  *repository(url:"file://D://xxx//maven") 注意一下这个目录格式别整错了不然会造成只生成文件夹而没有文件的结果. // 在根闭包编写代码 uploadArchives{ repositories.mavenDeployer{ //生成本地仓库的地址 repository(url:"file:///…
项目由于要公布,所以要混淆打包. 混淆打包流程: 1.在proguard-project.txt文件里加入不须要混淆的类和第三方的jar包   这个是保持自己包中不须要混淆的类,假设有些类调用了jni也不须要混淆,不然会出错.还有假设项目中有其它项目作为library引入,那这些项目的一些类也不能混淆.   watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXdpd3Vxbw==/font/5a6L5L2T/fontsize/400/fill/I0JBQ…
AndroidStudio中的项目可以用compile的形式引入github上的开 源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式.在最终realease打包时,混淆的设置是比较重要的,否则会导致 生成的包有很多功能不能正常使用.下面列举一个基本的app的build.gradle和混淆文件.并注意,混淆打包后的apk文件大小会比不使用混淆要 小. 在app根目录下设置build.gradle和混淆文件,然后把混淆选项写入混淆文件就可以.虽然app项目中可能引用了一…