我正在使用 OpenCV 库v4.1.2来实现GrabCut算法,我仅使用以下内容:
import org.opencv.android.Utils;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Rect;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
生成APK后,它具有巨大的大小 70MB
成绩:
defaultConfig {
applicationId "abc.app"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
multiDexEnabled true
ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
我的问题:
Android App Bundle是否足以减少APK的大小,还是应该按每种体系结构拆分它?
答案 0 :(得分:1)
尽管可以将大小不超过100MB的应用上传到Google Play商店,但强烈建议您使用Android Abb捆绑功能。实施起来很容易:
bundle {
language {
enableSplit = true
}
density {
enableSplit = true
}
abi {
enableSplit = true
}
}
当您支持四个'armeabi-v7a'
,'arm64-v8a'
,'x86'
和'x86_64'
时,使用Android Abb捆绑包将减少用户从以下位置下载的最终软件包的烦恼Google Play商店明显。根据您提供的信息,我想它将减少一半,大约为30-40MB。
如果您没有将应用程序本地化为其他语言,或者如果本地化文件不占用太多空间,则可以设置language {enableSplit = false}
,如果没有太多空间,密度也会采用相同的逻辑被不同的密度相关文件占用。
答案 1 :(得分:1)
发布Android App Bundle时,Play会为您按ABI(以及DPI和语言)进行拆分。这是Android App Bundle的主要优点之一:您只需要发布具有单个版本的单个工件Code,并且Play可以代表您管理减小应用大小的所有最佳实践。