App Bundle 是否足够或 APK 拆分是否有必要减小 APK 大小?
Is App Bundle enough or the APK Splits necessary to reduce an APK size?
我正在使用 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
Gradle:
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 大小,或者我应该按每个架构拆分它?
尽管您可以将大小小于 100MB 的应用程序上传到 Google Play 商店,但强烈建议您使用 Android Abb Bundle 功能。实施起来非常容易:
bundle {
language {
enableSplit = true
}
density {
enableSplit = true
}
abi {
enableSplit = true
}
}
由于您支持四个 abis:'armeabi-v7a'
、'arm64-v8a'
、'x86'
和 'x86_64'
,使用 Android Abb Bundle 将减少尺寸用户从 Google Play 商店下载的最终包显着增加。从你给的信息来看,我估计会减半到30-40MB左右。
如果您没有将您的应用程序本地化为其他语言,或者如果本地化文件占用的空间不大 space,您可以设置 language {enableSplit = false}
,同样的逻辑也适用于密度,如果您没有太多 space 被不同的密度相关文件占用。
发布 Android App Bundle 时,Play 会根据 ABI(以及 DPI 和语言)为您进行拆分。这是 Android App Bundle 的主要优势之一:您只需发布一个具有单一版本代码的工件,Play 就可以代表您管理有关缩减应用大小的所有最佳实践。
我正在使用 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
Gradle:
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 大小,或者我应该按每个架构拆分它?
尽管您可以将大小小于 100MB 的应用程序上传到 Google Play 商店,但强烈建议您使用 Android Abb Bundle 功能。实施起来非常容易:
bundle {
language {
enableSplit = true
}
density {
enableSplit = true
}
abi {
enableSplit = true
}
}
由于您支持四个 abis:'armeabi-v7a'
、'arm64-v8a'
、'x86'
和 'x86_64'
,使用 Android Abb Bundle 将减少尺寸用户从 Google Play 商店下载的最终包显着增加。从你给的信息来看,我估计会减半到30-40MB左右。
如果您没有将您的应用程序本地化为其他语言,或者如果本地化文件占用的空间不大 space,您可以设置 language {enableSplit = false}
,同样的逻辑也适用于密度,如果您没有太多 space 被不同的密度相关文件占用。
发布 Android App Bundle 时,Play 会根据 ABI(以及 DPI 和语言)为您进行拆分。这是 Android App Bundle 的主要优势之一:您只需发布一个具有单一版本代码的工件,Play 就可以代表您管理有关缩减应用大小的所有最佳实践。