Solución:
Para el paquete de APK de Android que usa expo, puede usar el siguiente comando:
expo build:android -t app-bundle
El tamaño será mucho más pequeño. una vez que lo subes a la tienda de juegos. Esto es relevante para React Native SDK 32 y versiones anteriores.
la expo es para el desarrollo la aplicación que debe migrar a react-native para producción
-
crear una nueva aplicación de reacción “
react-native init
“ -
Copie los archivos fuente del proyecto Expo
-
Instale todas las dependencias del proyecto de la Expo, excepto las bibliotecas específicas de la Expo.
-
Haga los ajustes necesarios para
app.json
expediente -
Descargue la clave de firma de su aplicación de Android desde Expo usando exp
-
buscar: android: keystore y configurarlo
Esto reduce drásticamente su aplicación, también puede habilitar proguard y una compilación específica para la arquitectura de la CPU
buildTypes {
release {
debuggable false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
para obtener más información, visite https://medium.com/@aswinmohanme/how-i-reduced-the-size-of-my-react-native-app-by-86-27be72bba640
usando el componente expo
después de que haya terminado y quiera publicar con menos tamaño o simplemente no quiera usar una biblioteca nativa expo le brinde una opción llamada ExpoKit, esto también se puede usar con proyectos de reacción ya construidos con código nativo
Comando de 1 ejecución expo eject
para agregar ExpoKit (elija la opción “ExpoKit”)
(no es necesario hacer esto si ha copiado archivos manualmente o utilizando un proyecto nativo)
Empaquetador expo de 2 inicios con expo start
Deje esto funcionando y continúe con los siguientes pasos.
3- biblioteca de enlaces para android e ios, este comando principalmente hace esto react-native link
, en algún momento esto no funcionará y debe hacerlo manualmente para esto, visite expokit
PD: no probé esto, así que si esto no funciona, infórmame
Realice los siguientes cambios en build.gradle
archivo ubicado en:
./android/app/build.gradle
Elimina x86 de los filtros abi.
splits {
abi {
reset()
enable true
universalApk false
include "armeabi-v7a", "x86"
}
}
Genere diferentes APK para diferentes arquitecturas
def enableSeparateBuildPerCPUArchitecture = true
Habilite ProGuard:
def enableProguardInReleaseBuilds = true
También establezca minifyEnabled true y shrinkResources true
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
Además, puede tener diferentes tipos de compilación para versiones de desarrollo y lanzamiento (depende de su base de usuarios)
buildTypes {
debug {
ndk {
abiFilters "armeabi-v7a", "x86"
}
....
}
release {
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
....
}
Además, no olvide eliminar los archivos FONT no utilizados