use*_*876 11 react-native react-native-android expo
我正在开发一个小字典应用程序,使用本机与本世纪的反应.
因为我正在编译Apk文件.尺寸达到30mb并且安装在设备上,它达到80mb.
这是正常的吗?
有没有办法减少应用程序的大小?
感谢你们.
jak*_*inn 39
对于使用 expo 的 android APK 包,您可以使用以下命令:
expo build:android -t app-bundle
Run Code Online (Sandbox Code Playgroud)
将其上传到 Play 商店后,大小会小得多。这与 React Native SDK 32 及更早版本相关。
nim*_*adi 13
expo用于测试您应该迁移到应用于生产的本地应用程序
制作一个新的反应应用程序" react-native init"
从Expo项目复制源文件
app.json文件进行必要的调整使用exp从Expo下载Android应用程序的签名密钥
fetch:android:keystore并设置它
这可以大大减少您的应用程序您还可以为cpu架构启用proguard和特定构建以
获取更多信息,请访问 https://medium.com/@aswinmohanme/how-i-uuced-the-size-of-my-react-native-app逐86-27be72bba640
在你完成并希望以较小的尺寸发布或者只是想要使用本地库展示给你一个名为ExpoKit的选项,这也可以用于已经构建的本机代码反应项目
1-run命令expo eject添加ExpoKit(选择"ExpoKit"选项)
(如果您手动或使用本机项目复制文件,则无需执行此操作)
2 -start expo packager with expo start.Leave this running并继续执行以下步骤.
用于android和ios的3-链接库,这个命令大部分是这样做的react-native link,有时候这个不行,你应该手动做这个意味着访问expokit
PS:我没有测试这个,所以如果这不起作用告诉我
在build.gradle位于以下位置的文件中进行以下更改:
./android/app/build.gradle
Run Code Online (Sandbox Code Playgroud)
从abi过滤器中删除x86。
splits {
abi {
reset()
enable true
universalApk false
include "armeabi-v7a", "x86"
}
}
Run Code Online (Sandbox Code Playgroud)
为不同的架构生成不同的APK
def enableSeparateBuildPerCPUArchitecture = true
Run Code Online (Sandbox Code Playgroud)
启用ProGuard:
def enableProguardInReleaseBuilds = true
Run Code Online (Sandbox Code Playgroud)
同时将minifyEnabled和true设置为true
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
Run Code Online (Sandbox Code Playgroud)
此外,您可以有不同的构建类型来进行开发和发布(取决于您的用户群)
buildTypes {
debug {
ndk {
abiFilters "armeabi-v7a", "x86"
}
....
}
release {
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
....
}
Run Code Online (Sandbox Code Playgroud)
同样不要忘记删除未使用的FONT文件
到 2021 年,现在有一个更简单的选择来减少 Android 二进制文件的大小,因为弹出/迁移到纯 react-native、切换到裸工作流和在本地构建自己的二进制文件需要大量的工作和学习,如果你不知道的话如何做到这一点,或者没有你的环境和工具都设置好了。
在 app.json 中,进行以下更改:
"expo": {
...
"android": {
"enableDangerousExperimentalLeanBuilds": true
}
}
Run Code Online (Sandbox Code Playgroud)
根据您的项目,仅此一项就可以将应用程序大小减少约 40-50%。
关于使用此选项,您应该了解一些事项,因此您应该阅读 https://github.com/expo/fyi/blob/master/managed-app-size.md。它仍然比弹出更容易。
最重要的是,在上传到 Play 商店后,您仍应使用应用程序包 (.aab) 将大小再缩小约 50%:
expo build:android -t app-bundle
| 归档时间: |
|
| 查看次数: |
12828 次 |
| 最近记录: |