- signing
signingConfigs {
release {
storeFile file(rootProject.storeFile)
storePassword rootProject.storePassword
keyAlias rootProject.keyAlias
keyPassword rootProject.keyPassword
}
}
buildTypes {
debug {
minifyEnabled false
signingConfig signingConfigs.release
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
- ProGuard
ProGuard
是一个压缩、优化和混淆Java字节码文件的免费的工具,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于Android开发用于混淆最终的项目,增加项目被反编译的难度。
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true //是否启动混淆 ture:打开 false:关闭
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
https://developer.android.com/guide/developing/tools/proguard.html
其实在android Studio中做混淆,基本就是对Proguard-rules.pro文件的操作。混淆的过程也是有规律可循的。先看看官方的proguard-android.txt文件,位于/tools/proguard目录下,可以当成模板改成自己项目所需的混淆配置。
注意开启混淆可能会导致程序运行失败
- zipalige
zipalige 是 Android 提供的一个整理优化 apk 文件的工具,它能提高系统和应用的运行效率,更快地读写 apk 中的资源,降低内存的使用。所以对于要发布的 APP,在发布之前一般要使用 zipalign 进行优化。
- Android Gradle 提供了开启 zipalign 优化更简便的方式,只需要配置开启即可,剩下的操作 Android Gradle 会自动进行调用。**
- **要为 release 版本开启 zipalign 优化的话,只需进行如下配置即可:
buildTypes {
release {
zipAlignEnabled true // 是否开启zip压缩
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}