web-dev-qa-db-de.com

So verringern Sie die reaktionsnative App-Größe

Ich entwickle eine kleine Wörterbuch-App, indem ich mit Expo native reagiere. 

Da ich zu Apk-Datei kompiliere. Die Größe reicht bis zu 30 MB und nach der Installation auf dem Gerät sind es 80 MB.

Ist das normal?

Gibt es Möglichkeiten, die Größe der App zu reduzieren?

Danke Jungs.

6
user3036876

expo dient zum Testen der App, die Sie für die Produktion zu reaktionsnativ migrieren sollten

  • eine neue Reakt-App erstellen "react-native init"

  • Kopieren Sie die Quelldateien aus dem Expo-Projekt

  • Installieren Sie alle Abhängigkeiten des Expo-Projekts mit Ausnahme der Expo-spezifischen Bibliotheken.
  • Nehmen Sie die erforderlichen Anpassungen an der app.json-Datei vor
  • Laden Sie den Signaturschlüssel Ihrer Android-App von Expo mit exp herunter 

  • holen Sie sich: Android: Keystore und richten Sie es ein



Dadurch wird Ihre App drastisch reduziert. Sie können auch Proguard und spezifischen Build für die CPU-Architektur aktivieren

weitere Informationen finden Sie unter https://medium.com/@aswinmohanme/how-i-reduced-the-size-of-my-react-native-app-by-86-27be72bba640

mit Expo-Komponente

nachdem Sie fertig sind und mit weniger Größe veröffentlichen möchten oder einfach nur eine native Bibliothek expo verwenden möchten, geben Sie eine Option namens ExpoKit dies kann auch bei bereits mit native Code-React-Projekten erstellten Projekten verwendet werden

1-Run-Befehl expo eject zum Hinzufügen von ExpoKit (wählen Sie die Option "ExpoKit")
(Dies ist nicht erforderlich, wenn Sie Dateien manuell kopiert haben oder ein natives Projekt verwenden.)
2 -start expo packager mit expo start .Lassen Sie dies fort und fahren Sie mit den folgenden Schritten fort.
3-link-Bibliothek für Android und ios, dieser Befehl führt meistens diesen react-native link aus, manchmal wird dies nicht funktionieren, und Sie sollten dies manuell tun. Dies bedeutet Besuch expokit
PS: Ich habe das nicht getestet, wenn dies nicht funktioniert, informieren Sie mich

7
nima_moradi

Entfernen Sie x86 von den Filtern.

splits {
        abi {
            reset()
            enable true
            universalApk false
            include "armeabi-v7a", "x86"
        }
    }

Nehmen Sie folgende Änderungen in build.gradle vor:

./Android/app/build.gradle

Generieren Sie verschiedene APKs für unterschiedliche Architekturen

def enableSeparateBuildPerCPUArchitecture = true

Aktivieren Sie ProGuard:

def enableProguardInReleaseBuilds = true

Setzen Sie auch minifyEnabled auf true und shrinkResources auf true

buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile("proguard-Android.txt"), "proguard-rules.pro"
        }
    }
2
akshay gore

Aktualisieren Sie die Expo-Version auf 31.Eingeladene Single-SDK-Builds für Android. Diese Builds enthalten nur die SDK-Version, die die App beim Erstellen verwendet, und sind sowohl schneller als auch schlanker. es hilft bei kleineren eigenständigen App-Build-Größen. Veröffentlichungshinweis

0
Anjal Saneen

Für Android APK-Bundle mit expo können Sie den folgenden Befehl verwenden:

expo build:Android -t app-bundle

Die Größe wird viel kleiner sobald Sie es in den Play Store hochgeladen haben.

0
jakobinn

Grundsätzlich gibt es zwei Möglichkeiten, die Größe einer apk-Datei von 32 MB (expo) auf 7 MB (reaktives Cli) zu reduzieren.

  1. Trennen Sie sich von der Messe
  2. erstellen Sie ein neues Projekt für das native Cli-Projekt, und kopieren Sie alle Quellen von der Version in ein neues Projekt für das native Projekt.
0
user3036876

Ich habe alle oben genannten Schritte ausgeführt, um die Größe meiner App zu reduzieren. Jetzt sind es 6,94 MB. Wie man es noch weiter reduziert. Ähnliche Apps sind bei Google Play weniger als 1 MB groß.

0
Anirudh

Upgrade Reactive auf eine neuere Version, für verschiedene Versionen gibt es verschiedene Größen apk.

zum 0.57 es war ≈12mb

zum 0.59.3 es war ≈30mb

und für 0.59.9 es war ≈15mb

versuchen Sie immer, eine aktualisierte, reaktionsorientierte Version zu verwenden

0
Vinil Prabhu