前言,当前android studio使用的版本较新,低版本的如果有差异,或者问题,欢迎拍砖!

1、修改配置文件

  android_防止被反编译 混淆_第1张图片

  找到配置文件,build.gradle,修改如下。

  

复制代码
 1 signingConfigs { 2         release { 3             // 下面各值的意思将在后续进行讲解 4             storeFile file('release.keystore') 5             storePassword "123456" 6             keyAlias "androiddebugkey" 7             keyPassword "123456" 8         } 9         debug {10             storeFile file('release.keystore')11             storePassword "123456"12             keyAlias "androiddebugkey"13             keyPassword "123456"14         }15     }16 17     buildTypes {18         release {19             minifyEnabled true // 设置代码进行混淆20             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'21             signingConfig signingConfigs.release // 签名配置22         }23     }
复制代码

以前版本中。

  a> 我们使用的是runProguard不过现在是使用minifyEnabled了。设置为true就是进行混淆。

  b> proguradFiles 指定配置混淆项目的文件,可以看到使用的是progurad-rules.pro。这是我们后续配置排除混淆和运行环境会用到的。

 

2、创建KeyStore文件

 android_防止被反编译 混淆_第2张图片  

  进入此文件下,我们可以看到我们已经有的*.keysotre文件。

 android_防止被反编译 混淆_第3张图片

  我这里已经有了一个debug.keystore文件了,不过我暂时用不着,也不记得密码啥子的了。

  所以我们重新生成一个,也可以删除原有内容,然后重新生成一个文件。

  android_防止被反编译 混淆_第4张图片

当然,我们要先进入.android文件夹下面才能操作。运行cmd => 输入:cd .android =>再输入我们的命令

keytool -genkey -v -keystore release.keystore -alias androiddebugkey -keyalg RSA -validity 10000

完成后续的生成这样一个release.keystore文件我们就生成了。生成的文件,我们需要拷贝到和上面的配置(build.gradle),同目录下即可。

好了,下面就再次运行程序就已经加密了。不过我们也要配置后续的环境。

  

3、生成重新生成代码,反编译后可以查看文件已经加密了

  progurad-rules.pro

  

1 -optimizationpasses 52 -dontusemixedcaseclassnames3 -dontskipnonpubliclibraryclasses4 -dontpreverify5 -verbose

添加如下内容。这样完整的混淆后的文件我们就可以使用了。

 

注:如果你使用了第三方的 jar.又不需要混淆,或者已经混淆为了避免出问题。你可以在progurad-rules.pro文件中加上下面内容。

-dontwarn net.youmi.android.**-keep class net.youmi.android.** {*;}

这里使用了有米举例。。。

 

更多相关文章

  1. 关于Android Studio里的Gradle文件
  2. android使用http协议上传文件
  3. Android根据文件路径使用File类获取文件相关信息
  4. 安卓xml文件中设置动画匀速旋转无效?
  5. android 网络访问-图片处理优秀开源项目 (201
  6. Android Fresco图片处理库用法API英文原文文档2-2(Facebook开源An
  7. Android Studio中同步代码时报:Received status code 400 from se
  8. android button background图片被拉伸
  9. 从android image中提取文件

随机推荐

  1. 关于android的ListView的getCheckItemIds
  2. Android数据存储-->SharedPreferences
  3. Android display架构分析-SW架构分析(1-8
  4. Android学习之 VideoView,SurfaceView
  5. Android几种异步的实现
  6. Android Launcher3一些默认修改
  7. android震动器
  8. Android窗口标题显示操作
  9. MAC下配置android SDK时进度条不动,无法下
  10. android中的页面跳转问题解决