válida una subido studio has generar firmar firma debug crear con android apk react-native

android - una - ¿Construir e instalar apk sin firmar en el dispositivo sin el servidor de desarrollo?



has subido un apk con una firma no válida (11)

Última actualización

En su directorio de proyecto raíz

Asegúrese de que ya tiene el directorio android / app / src / main / assets / , si no crea un directorio, luego cree un nuevo archivo y guárdelo como index.android.bundle y coloque su archivo como este android / app / src / main / assets / index.android.bundle

Después de eso corre esto

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/ cd android && ./gradlew assembleDebug

Entonces puede obtener apk en app / build / salidas / apk / debug / app-debug.apk

Como soy nuevo en react-native, si hay algo mal en los pasos, hágamelo saber.

He creado una aplicación de Android nativa reaccionar usando el comando según la documentación

Android reaccionar nativo

mientras se ejecutaba en el dispositivo, se utilizó el siguiente comando

reaccionar nativo run-android

que me da la salida de 2 archivos apk en mi carpeta de proyecto / android / app / build / salidas / apk

ahora, cuando uso para instalar este apk después de la instalación, solicita un servidor de desarrollo para conectar el JS. Pero mi requisito es que el usuario no tenga que luchar con el servidor de desarrollo, solo necesita instalar el apk y todo está hecho.

He pasado por algunas preguntas de stackoverflow pero no es útil para construir apk sin firmar que no requiere servidor de desarrollo.

¿Pueden ayudarme a encontrar la forma en que la forma de construir y apk sin firmar en reaccionar nativo?


Cambie a la carpeta de Android y ejecute ./gradlew assembleRelease para crear el archivo de lanzamiento que puede enviar a su dispositivo Android. La versión apk no necesita tener el servidor de desarrollo ejecutándose.


Conmigo, en el directorio del proyecto ejecute los siguientes comandos.

Para reaccionar versión antigua nativa (verá index.android.js en la raíz):

mkdir -p android/app/src/main/assets && rm -rf android/app/build && react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && cd android && ./gradlew clean assembleRelease && cd ../

Para reaccionar nueva versión nativa (solo ve index.js en la raíz):

mkdir -p android/app/src/main/assets && rm -rf android/app/build && react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && cd android && ./gradlew clean assembleRelease && cd ../

El archivo apk se generará en:

  • Gradle <3.0: android / app / build / salidas / apk /
  • Gradle 3.0+: android / app / build / salidas / apk / release /

Debe crear manualmente el paquete para una compilación de depuración.

Compilación de depuración de paquete:

#React-Native 0.49.0+ react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest ./android/app/build/intermediates/res/merged/debug #React-Native 0-0.49.0 react-native bundle --dev false --platform android --entry-file index.android.js --bundle-output ./android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest ./android/app/build/intermediates/res/merged/debug

Luego, para crear los APK después de la agrupación:

$ cd android #Create debug build: $ ./gradlew assembleDebug #Create release build: $ ./gradlew assembleRelease #Generated `apk` will be located at `android/app/build/outputs/apk`

PD: Otro enfoque podría ser modificar los scripts gradle.


Después de seguir la primera respuesta , puede ejecutar su aplicación usando

react-native run-android --variant=debug

Y su aplicación se ejecutará sin necesidad del empaquetador


En caso de que alguien más esté teniendo este mismo problema recientemente, estoy usando React Native 0.59.8 (también probado con RN 0.60) y puedo confirmar algunas de las otras respuestas, estos son los pasos:

  1. Desinstale la última versión compilada de su aplicación instalada que tenga en su dispositivo

  2. Ejecute el react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

  3. ejecute cd android/ && ./gradlew assembleDebug

  4. Obtenga su app-debug.apk en la carpeta android / app / build / salidas / apk / debug

¡buena suerte!


Encontré una solución cambiando buildTypes como este:

buildTypes { release { signingConfig signingConfigs.release } }


Estoy en reaccionar nativo 0.55.4, básicamente tuve que agrupar manualmente:

react-native bundle --dev false --platform android --entry-file index.js --bundle- output ./android/app/build/intermediates/assets/debug/index.android.bundle --assets- dest ./android/app/build/intermediates/res/merged/debug

Luego conecte su dispositivo a través de usb, habilite la depuración de usb. Verifique el dispositivo conectado con dispositivos adb devices .

Por último, ejecute react-native run-android que instalará el apk de depuración en su teléfono y puede ejecutarlo bien con el servidor de desarrollo

Nota:

  • Desde 0.49.0, el punto de entrada es un solo index.js
  • gradlew assembleRelease solo genera los apks de lanzamiento sin firmar que no se pueden instalar


Por favor sigue esos pasos.

Agrupa tu js:

si tiene index.android.js en la raíz del proyecto, ejecute

react-native bundle --dev false --platform android --entry-file index.android.js --bundle-output ./android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest ./android/app/build/intermediates/res/merged/debug

si tiene index.js en la raíz del proyecto, ejecute

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

Crear apk de depuración:

cd android/ ./gradlew assembleDebug

Entonces puedes encontrar tu apk aquí:

cd app/build/outputs/apk/


Puede ser posible generar una versión apk no firmada para fines de prueba para que pueda ejecutarla en su dispositivo móvil.

Inicialmente obtuve los errores de pantalla roja como los más mencionados aquí. pero seguí lo mismo que se mencionó aquí y funcionó para mí.

En su consola desde el directorio de trabajo, ejecute estos cuatro comandos

react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/build/intermediates/assets/debug/index.android.bundle --assets-dest ./android/app/build/intermediates/res/merged/debug cd android gradlew assembleDebug gradlew assembleRelease

Y luego el archivo APK se producirá en: android / app / build / salidas / apk / debug / app-debug.apk