Android Studio配置反混淆的实现
Android Studio如何混淆
为什么要混淆
了解安卓程序编译的会知道 其实我们的apk并不是很安全,从apk从可以解包出,步骤:
将apk文件改成zip结尾 然后解压zip 然后就会发现里面有一个classes.dex
dex2jar 这个工具将dex文件转成jar
下载地址:http://sourceforge.net/projects/dex2jar/files/
用这个工具的命令 转jar
d2j-dex2jar classes.dex
jd-gui 这个工具用于将jar转成java代码
下载地址:http://jd.benow.ca/
用这个工具打开classes-dex2jar.jar
因此最简单的就是把java混淆了,让别人看不懂
AS里面配置混淆
配置混淆
在build.gradle里面配置
release { minifyEnabled true //用于设置是否启用混淆 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' }
打包后解出来的jar:
配置混淆规则
-dontusemixedcaseclassnames 表示混淆时不使用大小写混合类名。 -dontskipnonpubliclibraryclasses 表示不跳过library中的非public的类。 -verbose 表示打印混淆的详细信息。 -dontoptimize 表示不进行优化,建议使用此选项,因为根据proguard-android-optimize.txt中的描述,优化可能会造成一些潜在风险,不能保证在所有版本的Dalvik上都正常运行。 -dontpreverify 表示不进行预校验。这个预校验是作用在Java平台上的,Android平台上不需要这项功能,去掉之后还可以加快混淆速度。 -keepattributes *Annotation* 表示对注解中的参数进行保留。 -keep public class com.google.vending.licensing.ILicensingService -keep public class com.android.vending.licensing.ILicensingService 上面两行表示不混淆上述两个类 -keep class com.tencent.wns.config.ConfigManager {*;} 上面一行表示不混淆这整个类
到此这篇关于Android Studio如何混淆的实现的文章就介绍到这了,更多相关Android Studio 混淆内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Android studio 混淆配置详解
混淆 studio 使用Proguard进行混淆,其是一个压缩.优化和混淆java字节码文件的一个工具. 功能:Shrinking(压缩).Optimization(优化).Obfuscattion(混淆).Preverification(预校验)四个操作. 优点: 1.删除项目无用的资源,有效减小apk大小: 2.删除无用的类.类成员.方法和属性,还可以删除无用的注释,最大限度的优化字节码文件: 3.使用简短无意义的名称重命名已存在的类.方法.属性等,增加逆向工程的难度. 配置 buildTy
-
Android studio 混淆+打包+验证是否成功
前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} -dontwarn com.hyphenate.** 即:混淆规则. 自己没写过关于混淆打包的文章,在此补上. 下面了解Android studio环境下 项目混淆打包的操作. 一.打包: 即 将Android项目生成.apk文件,让用户去安装. 1.工具栏 Build->Generate Sig
-
Android Studio多渠道批量打包及代码混淆
一.批量打包 1.集成了友盟统计,并在AndroidManifest.xml中添加了如下代码 <meta-data android:name="UMENG_CHANNEL" android:value="${CHANNEL_VALUE}"/> 2.在app的build.gradle的android标签下添加如下代码: productFlavors { myapp {} _360 {} appchina {} hiapk {} } productFlavo
-
Android studio利用gradle打jar包并混淆的方法详解
本文主要介绍了Android studio利用gradle打jar包并混淆的方法,下面话不多说,来看看详细的介绍吧. 首先打jar包的配置很简单,使用jar的task,可以参考gradle官方文档,具体代码如下: task buildJar(type: Jar, dependsOn: ['assembleRelease']) { destinationDir = file('build/outputs/jar/') appendix = "" baseName = "&quo
-
Android Studio配置反混淆的实现
Android Studio如何混淆 为什么要混淆 了解安卓程序编译的会知道 其实我们的apk并不是很安全,从apk从可以解包出,步骤: 将apk文件改成zip结尾 然后解压zip 然后就会发现里面有一个classes.dex dex2jar 这个工具将dex文件转成jar 下载地址:http://sourceforge.net/projects/dex2jar/files/ 用这个工具的命令 转jar d2j-dex2jar classes.dex jd-gui 这个工具用于将jar转成jav
-
Android Studio配置Kotlin开发环境详细步骤
Android Studio配置Kotlin开发环境详细步骤 第一步:安装Kotlin插件 打开Settings面板,找到Plugins选项,点击Browse repositories(浏览仓库),输入"Kotlin"查找,然后安装即可.安装完成之后需要重启Android Studio (切记!). 安装完成之后如下图所示. 插件当前的最新版本是1.1.2-release-Studio-2.3-3. 第二步:配置Kotlin开发环境 点击菜单栏的"Tools"选项,
-
Android studio配置lambda表达式教程
Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁.当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口. 但是目前的Android Studio还不支持Java8新特性,因此为了使用它只能曲线救国了:借助retrolambda 1.将你的jdk升级成1.8,然后配置好环境 2.将你的sdk更新至24 3.在项目的Project gradle文件配置retrolambda插件的地址: 如下: buildscript { repositories { jce
-
Android Studio配置内嵌JDK的方法
今天发现JDK环境变量没有配置好. 我没有专门去下载java,在下载Android Studio时,会自带内嵌的JDK. 打开File-OtherSettings-DefaultProjectStructure,可看到AS已自动勾选Use embedded JDK,而且是官方推荐的做法. 以下是配置环境变量的操作. java 1.8以后就无需CLASSPATH环境变量了. 我们只需配置JAVA_HOME和PATH即可. JAVA_HOME C:\AndroidStudio\jre (JDK安装目
-
Android Studio 配置:自定义头部代码注释及添加模版方式
1. 自定义头文件注释: 实现效果 实现步骤 依次操作File -> Settings ->Editor ->File and Code Templates,在详细展示窗口点击includes选项卡,找到 FileHeader点击,在编辑窗口输入自定义的注释模板即可.如下图: 注:我们这里添加的头文件不会随着Activity的创建自动添加头文件,只有创建JavaBean时会自动添加头文件,如下图所示: 2. 如何给Activity添加头文件?? 依次操作File -> Settin
-
Flutter下Android Studio配置gradle的方法
一.失败的经历:手动配置gradle 下载gradle包http://gradle.org/gradle-download/ Mac Finder->Applications/应用程序->Android Studio右键显示包内容.继续打开Contents文件夹,正常情况下会有一个gradle文件夹,将下载解压之后的文件复制到这个文件夹下.如果Contents文件夹下没有gradle文件夹,创建gradle文件夹,继续后面的操作 配置gradle环境路径 打开终端,打开系统环境配置文件vim
-
Android Studio 配置忽略文件的方法实现
简介 当我们在进行上传代码到Git.SVN仓库时,通常需要先配置忽略文件,这样主要是方便上传的代码下载的时候不会与编译器和Gradle的版本发生冲突,能够保证下载的代码能正常运行. 操作步骤 打开Android Studio中的File下的Settings 选中Version Control下的Ignored Files 添加对应的需要忽略的文件 Ignore Unversioned Files下有三种忽略文件方式 Ignore specified file 忽略指定文件 Ignore all
-
Android Studio配置(Android Studio4.1为例)
Android Studio下载(下文统称AS) AS最新版下载请戳:AS下载 Android SDK下载 SDK安装器下载 SDK安装器下载请戳:SDK下载 然后根据你的电脑选择合适版本 我这里选择的是android-sdk_r24.4.1-windows.zip,因为选择这个解压后可以直接作为AS的SDK目录. SDK下载 SDK安装器下载完成之后,解压,然后双击SDK Manager.exe打开SDK安装界面.如果你不知道应该下载哪些项目,请戳:Android SDk Manager里面到
-
Android Studio配置本地SDK的方法
Android Studio配置本地SDK 问题一:Android Studio报错:SDK does not contain any platforms. 解决方法:本地SDK应放到名为platforms的外层文件夹内. 例子:D:\SDK\platforms- (选择路径时选取到SDK文件夹即可) 问题二:Android SDK location should not contain whitespace, as this can cause problems with the NDK to
-
Android Studio配置国内镜像源(利用hosts)
之前我写过直接用国内镜像的IP地址端口进行配置国内镜像的,如下链接: Android studio配置国内镜像源 但是这种方法不一定在每台电脑上的每次配置都行得通,因此给出第二种方法:给系统文件 hosts 添加国内的镜像(虽然--可能--也不一定--行得通 ^- ^ ,博主我亲测是可以的) 方法步骤: 一.配置hosts 找到hosts文件,用记事本或notepad++打开文件: 在末尾加上如下映射,: 其中 302.208.41.33是通过 http://ping.chinaz.com/ 该
随机推荐
- Android开发之ToggleButton实现开关效果示例
- javascript 数组使用方法汇总
- 利用VUE框架,实现列表分页功能示例代码
- 详解angularjs中的隔离作用域理解以及绑定策略
- Spring boot集成Mybatis的方法教程
- ORA-28002 Oracle 11g存在密码过期问题解决方案
- 解析mysql left( right ) join使用on与where筛选的差异
- 从textarea中获取数据之后按原样显示实现代码
- php eval函数用法 PHP中eval()函数小技巧
- setInterval和setTimeout停止的方法
- PHP入门教程之面向对象基本概念实例分析
- Android实现微信分享带有缩略图的网页
- jQuery语法小结(超实用)
- 一个Js文件函数中调用另一个Js文件函数的方法演示
- JavaScript中的稀疏数组与密集数组[译]
- 在Asp.net用C#建立动态Excel
- JavaScript代码实现txt文件的上传预览功能
- vue自定义filters过滤器
- Java和C++通过new创建的对象有何区别?
- 关于Android Studio封装SDK的那些事儿