我在我的android项目中使用OpenCV本机库。它是一个带有一个CameraScreen的hello world项目,它已经有40mb。如何减少apk的大小,因为我没有使用大多数OpenCv库功能?
我有带c ++代码的jni文件夹并导入了OpenCVLibrary320?
答案 0 :(得分:3)
看一下这些链接:
基本上,你想在这里做什么:
将此添加到build.gradle文件(Android括号):
android{
splits {
abi {
enable true
reset()
include 'x86', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips', 'mips64', 'x86_64'
universalApk true
}
}
project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 8, 'x86_64': 9]
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.versionCodeOverride =
project.ext.versionCodes.get(output.getFilter(
com.android.build.OutputFile.ABI), 0) * 10000000 + android.defaultConfig.versionCode
}
}
这将导致当您单击以生成签名的apk时,它将生成许多apks。
gradle中的android.applicationVariants.all将为每个apks创建版本代码,因此您不需要自己完成。考虑到这一点,你可以把每个apk放到游戏商店,一切都会正常工作。
重要强>
在构建您的发布版apk时,请在新的Android Studio中选择Signature version V1
:
从所有这些的更多信息和详细解释,请查看我上面提供的链接。