Android proguard混淆打包

第一次混淆打包,记录一下。

Eclipse平台

项目最开始是在eclipse上,网上找了许多打包步骤分别进行下来都没有成功混淆。
问题很莫名其妙,在eclipse项目下面生成了proguard文件夹,里面mapping啊seed啊什么有四个txt文件也都生成,一切正常,也没报错,就是生成的dex文件是未经过混淆的。最后没办法只有换平台。

Android Studio

eclipse平台的项目转到as上总体来说还是比较简单的。

第一步,在eclipse中,项目右键->选择export->generate gradle build files。这一步可以生成在as中用到的gradle配置文件。

第二步,在as中导入之前的项目,报错是肯定会报错的,根据错误修改即可。细节错误可能有很多,但总体来说基本分为几类:
1.因为eclipse版本和as版本的差异,许多配置不同或有所修改,具体发生在build.gradle文件中或者androidmenifest.xml中,根据提示删除或者忽略即可。
2.gradle版本问题,这个问题主要有两个地方需要修改。
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
}

这里需要修改一个gradle的版本,一般是跟as的版本号相同,如果在网络环境可以的情况下一般可以自动下载。

distributionUrl=http\://services.gradle.org/distributions/gradle-4.4-all.zip

这一段是在工程目录下gradle文件夹下的gradle-wrapper.properties中的配置,这个可以通过网络自动下载,如果下载一直卡主就修改成之前可以用的版本。或者本地已经下载过的版本,具体本地路径:

XX:\users\xx用户\.gradle\wrapper\dists

第三步,添加混淆选项
在build.gradle中添加以下代码即可开启默认设置的混淆。

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

要注意此段代码需要添加到android这个大标签之下,否则会提示没有buildTypes这个函数的错误。

之后如果没有其他错误导出就可以完成混淆打包啦。

猜你喜欢

转载自blog.csdn.net/ksaa4451471/article/details/81909515