Expoでリアクティブネイティブを使用して、小さな辞書アプリを開発しています。
私はApkファイルにコンパイルしています。サイズは最大30 MBになり、デバイスにインストールした後は80 MBになります。
これは正常ですか?
アプリのサイズを小さくする方法はありますか?
君たちありがとう。
expoは、実稼働用にリアクティブネイティブに移行する必要があるアプリをテストするためのものです。
新しい反応アプリ「react-native init
」を作成する
Expoプロジェクトからソースファイルをコピーします
app.json
ファイルに必要な調整を行いますExpを使用してExpoからAndroidアプリの署名キーをダウンロードします
fetch:Android:keystoreとセットアップ
これによりアプリが大幅に削減され、CPUアーキテクチャのプロガードと特定のビルドを有効にすることもできます
buildTypes {
release {
debuggable false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
}
}
詳細情報をご覧ください https://medium.com/@aswinmohanme/how-i-reduced-the-size-of-my-react-native-app-by -86-27be72bba640
完了して、より小さなサイズで公開したい場合、またはネイティブライブラリexpoを使用したくない場合は、 ExpoKit というオプションを指定します。既にネイティブコード反応プロジェクトでビルド
1回実行コマンドexpo eject
でExpoKitを追加(「ExpoKit」オプションを選択)
(手動でファイルをコピーした場合、またはネイティブプロジェクトを使用した場合、これを行う必要はありません)
2-expo start
でexpoパッケージャーを起動します。これを実行したままにして、次の手順に進みます。
3- Androidおよびiosのリンクライブラリ、このコマンドは主にこれを行いますreact-native link
、これは機能しない場合があり、このために手動で行う必要があります expokit
PS:これをテストしなかったので、うまくいかない場合はお知らせください
次の場所にあるbuild.gradle
ファイルに次の変更を加えます
./Android/app/build.gradle
Abiフィルターからx86を削除します。
splits {
abi {
reset()
enable true
universalApk false
include "armeabi-v7a", "x86"
}
}
アーキテクチャごとに異なるAPKを生成します
def enableSeparateBuildPerCPUArchitecture = true
ProGuardを有効にします。
def enableProguardInReleaseBuilds = true
また、minifyEnabledをtrueに設定し、shrinkResourcesをtrueに設定します
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile("proguard-Android.txt"), "proguard-rules.pro"
}
}
また、開発ビルドとリリースビルドに異なるビルドタイプを使用できます(ユーザーベースによって異なります)
buildTypes {
debug {
ndk {
abiFilters "armeabi-v7a", "x86"
}
....
}
release {
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
....
}
未使用のFONTファイルを削除することも忘れないでください
Expoバージョンを31にアップグレードします。Android向けに発売されたシングルSDKビルド。これらのビルドには、ビルド時にアプリが使用するSDKバージョンのみが含まれ、より高速でスリムです。スタンドアロンアプリのビルドサイズを小さくするのに役立ちます。 リリースノート
Android expoを使用したAPKバンドルの場合、次のコマンドを使用できます。
expo build:Android -t app-bundle
サイズははるかに小さくなります一度Playストアにアップロードすると。
基本的に、apkファイルのサイズを32mb(expo)から7mb(react-native cli)に減らすための2つのオプションがあります。
アプリのサイズを小さくするために、上記のすべての手順を使用しました。現在は6.94 MBです。さらに削減する方法。同様のアプリは、Google Playで1 MB未満です。
React-nativeを新しいバージョンにアップグレードします。バージョンが異なると、apkのサイズも異なります。
ために 0.57
そうだった ≈12mb
ために 0.59.3
そうだった ≈30mb
および0.59.9
そうだった ≈15mb
常に更新されたreact-nativeバージョンを使用するようにしてください