• Android 混淆[学习笔记]


    Android 混淆

    Gradle的简介: http://www.flysnow.org/2015/03/30/manage-your-android-project-with-gradle.html
    多渠道打包的介绍: http://blog.csdn.net/tu_bingbing/article/details/42362619
    http://coolshell.info/blog/2015/03/android-studio-prefrence.html

    目前Android studio 1.4版本,目标apk 5.0 (21)。主要参考这个文: http://www.cnblogs.com/Supperlitt/p/4214949.html

    1. 修改 build.gradle
    signingConfigs {
    release {
    storeFile file('release.keystore')
    storePassword "123456"
    keyAlias "androiddebugkey"
    keyPassword "123456"
    }
    debug {
    storeFile file('release.keystore')
    storePassword "123456"
    keyAlias "androiddebugkey"
    keyPassword "123456"
    }
    }

    buildTypes {
    release {
    minifyEnabled true // 设置代码进行混淆
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    signingConfig signingConfigs.release // 签名配置
    }
    }

    以前版本中。
      a> 我们使用的是runProguard不过现在是使用minifyEnabled了。设置为true就是进行混淆。
      b> proguradFiles 指定配置混淆项目的文件,可以看到使用的是progurad-rules.pro。这是我们后续配置排除混淆和运行环境会用到的。

    2. 创建KeyStore文件,用命令行或Android Studio菜单"Build -> Generate Signed Apk -> Create new"
    cd UsersUser.android
    keytool -genkey -v -keystore release.keystore -alias androiddebugkey -keyalg RSA -validity 10000
    将生成的release.keystore文件拷到build.gradle 文件同一个目录。

    3. 修改 progurad-rules.pro,添加如下内容:
    -optimizationpasses 5
    -dontusemixedcaseclassnames
    -dontskipnonpubliclibraryclasses
    -dontpreverify
    -verbose

    注:如果你使用了第三方的 jar.又不需要混淆,或者已经混淆为了避免出问题。你可以在progurad-rules.pro文件中加上下面内容。
    -dontwarn com.android.support.**
    -keep class com.android.support.** {
    *;
    }
    我这里用了安卓自带的,估计不需要。

    4. 菜单"Build -> Select build vaiants" 选择release,然后每次都生成这个了,或者"Build->Generate Signed Apk"。

    PS: eclipse的混淆,见: http://blog.csdn.net/vipzjyno1/article/details/21042823
    让proguard.cfg起作用的做法很简单,就是在eclipse自动生成的default.properties文件中加上一句“proguard.config=proguard.cfg”就可以了

  • 相关阅读:
    css选择器
    HTML标签用法
    pyenv python 版本控制
    Django之路
    Day15-Django
    python+selenium实现登录账户
    requests and BeautifulSoup
    清除MAC 可清除空间
    将python源文件打包成exe文件
    swift的一些东西
  • 原文地址:https://www.cnblogs.com/lionfight/p/5140174.html
Copyright © 2020-2023  润新知