zoukankan      html  css  js  c++  java
  • android studio...混淆打包全揭秘

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

    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文件

       

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

     

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

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

      

    当然,我们要先进入.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 5
    2 -dontusemixedcaseclassnames
    3 -dontskipnonpubliclibraryclasses
    4 -dontpreverify
    5 -verbose

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

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

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

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

    4、参考网页:

      http://blog.csdn.net/zhaoxiao2008/article/details/7443020    debug.keystore文件不存在解决办法

      http://blog.csdn.net/hudashi/article/details/9016805      android混淆打包

      http://www.bkjia.com/Androidjc/924623.html          快速掌握 Android Studio 中 Gradle 的使用方法

      http://www.cnblogs.com/youxilua/archive/2013/05/20/3087935.html       用Gradle 构建你的android程序

     

      欢迎拍砖哈!

  • 相关阅读:
    主效应|处理误差 |组间误差|处理效应|随机误差|组内误差|误差|效应分析|方差齐性检验|SSE|SSA|SST|MSE|MSA|F检验|关系系数|完全随机化设计|区组设计|析因分析
    第二类错误|检验统计量|左偏|右偏|P值
    估计量|估计值|置信度|置信水平|非正态的小样本|t分布|大样本抽样分布|总体方差|
    参数|统计量|抽样分布|估计标准误差|标准误差|标准误|标准差|二项分布|泊松分布|中心极限定理|样本方差|
    ruby 分析日志,提取特定记录
    find 找出大文件
    momentjs 求小时差异
    linux下对date和timestamp的互转
    golang protobuf SetExtension
    对文本中的某两列求和,请统计重复出现次数
  • 原文地址:https://www.cnblogs.com/Supperlitt/p/4214949.html
Copyright © 2011-2022 走看看