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
包