Android Studio上鼠标修改构建类型
Release版本
- 激活路径:
More tool windows->Build Variants->Active Build Variant->release APK路径:Project\app\build\intermediates\apk\app-release.apk


Debug版本
- 激活路径:
More tool windows->Build Variants->Active Build Variant->debug APK路径:Project\app\build\intermediates\apk\app-debug.apk


build.gradle(:app)文件中代码修改构建类型
Release版本
keytool -genkey -v -keystore yang_release_store.jks -keyalg RSA -keysize 2048 -validity 10000 -alias yang_release_key_name
signingConfigs {
release {
keyAlias 'yang_release_key_name'
keyPassword 'yang.guo'
storeFile file('../build_store/yang_release_store.jks')
storePassword 'yang.guo'
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
./gradlew assembleRelease
Debug版本
keytool -genkey -v -keystore yang_debug_store.jks -keyalg RSA -keysize 2048 -validity 10000 -alias yang_debug_key_name
signingConfigs {
debug{
keyAlias 'yang_debug_key_name'
keyPassword 'yang.guo'
storeFile file('../build_store/yang_debug_store.jks')
storePassword 'yang.guo'
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
debuggable true
signingConfig signingConfigs.debug
}
}
./gradlew assembleDebug
如何区分当前APK文件是Release包还是Debug包
检查APK中的BuildConfig文件
- 解压
APK文件:
- 查找
BuildConfig类:在解压后的目录中,找到classes.dex文件,将其反编译为Java代码(可以使用dex2jar和JD-GUI工具) - 查看
BuildConfig类:在反编译后的Java代码中,找到BuildConfig类,查看其中的DEBUG字段 - 如果
DEBUG字段为true,则表示是Debug包 - 如果
DEBUG字段为false,则表示是Release包
检查APK的调试字段
- 解压
APK文件:
- 查找调试属性:在解压后的目录中,查找
AndroidManifest.xml文件,查看其中的android:debuggable属性 - 如果
android:debuggable属性为true,则表示是Debug包 - 如果
android:debuggable属性为false,则表示是Release包