我使用以下方式使用Gradle生成我的APK:
gradle assembleRelease
和
gradle assembleDebug
我有相同的配置(签名除外):
buildTypes {
debug {
// En Scala obligatorio pasar por Proguard.
runProguard true
proguardFiles file('proguard.txt')
signingConfig signingConfigs.debug
}
release {
runProguard true
proguardFiles file('proguard.txt')
signingConfig signingConfigs.release
}
}
问题是为什么调试APK是3.3 Mb,而发布时只有2.4 Mb。 这个事实使我无法将调试APK安装到设备上:
E/installd( 151): dexopt failed on '/data/dalvik-cache/data@app@my.package-1.apk@classes.dex' res = 11
E/PackageManager( 277): Package my.package has mismatched uid: 10061 on disk, 10062 in settings
E/dalvikvm( 2090): LinearAlloc exceeded capacity (5242880), last=41944
E/dalvikvm( 2090): VM aborting
E/installd( 151): dexopt failed on '/data/dalvik-cache/data@app@my.package-1.apk@classes.d
发布APK安装没有问题。
我使用SBT而不是Gradle,我也可以安装调试APK。
我使用真正的低成本设备:三星Galaxy Mini与Android 2.3版。 可能有更强大的设备,没有问题。