Construire et installer apk non signé sur le périphérique sans le serveur de développement?

comme je suis nouveau dans react-native donc s'il y a quelque chose de mal dans steps faites le moi savoir.

j'ai construit une application android natif react en utilisant la commande selon la documentation

réagissent-android native

la commande suivante a été utilisée pendant le fonctionnement sur l'appareil:

réagir indigènes de l'exécution android

qui me donne le rendement de 2 fichiers apk dans mon projectfolder/android/app/build/sorties/apk

enter image description here

maintenant, lorsque j'installe cet apk après l'installation, il demande à un serveur de développement de se connecter pour regrouper les JS. Mais mon exigence est que l'utilisateur n'a pas à lutter avec le serveur de développement, il est nécessaire d'installer l'apk et tout est fait.

Ont traversé quelques questions stackoverflow mais pas utile pour construire apk non signé qui ne nécessite pas de serveur de développement.

pouvez-vous m'aider à trouver comment construire et non signé apk dans react native?

76
demandé sur Pushpendra 2016-02-09 07:33:37

7 réponses

vous devez créer manuellement le bundle pour une construction de débogage.

Bundle debug:

#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

ensuite pour construire les APK après empaquetage:

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

P. S. une autre approche pourrait être de modifier les scripts gradle.

153
répondu Dmitry Mugtasimov 2018-08-02 08:58:45

veuillez suivre ces instructions.

regrouper vos js:

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

créer debug apk:

cd android/
./gradlew assembleDebug

alors vous pouvez trouver votre apk ici:

cd app/build/outputs/apk/
26
répondu m4r00p 2017-02-10 09:33:56

Avec moi, dans le répertoire du projet exécutez les commandes suivantes.

pour l'ancienne version de react native (vous verrez index.Android.js en root):

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 ../

Pour réagir natif de nouvelle version (il suffit de voir l'index.js en root):

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.bundle --assets-dest android/app/src/main/res && cd android && ./gradlew clean assembleRelease && cd ../

le fichier apk sera généré à:

  • Gradle < 3.0: android / app/build/outputs/apk/
  • Gradle 3.0+: android/app/build/sorties/apk/presse/
17
répondu Nhan Cao 2018-09-25 14:13:47

pour L'utilisateur Windows si toutes les étapes ont suivi correctement de ceci: https://facebook.github.io/react-native/docs/signed-apk-android.html

vous devez exécuter seulement: gradlew assembleRelease

et votre fichier sera:

  • app-libération.apk
  • app-version-non-alignées.apk

lieu: E:\YourProjectName\android\app\build\outputs\apk

3
répondu Dharam Mali 2017-01-02 07:15:20

après avoir suivi la première réponse , vous pouvez lancer votre application en utilisant

react-native run-android --variant=debug

et votre application fonctionnera sans nécessité pour le packager

2
répondu Abdellah Alaoui 2017-12-03 12:37:05

je suis sur réagir natif 0.55.4, en gros j'ai eu de regrouper manuellement:

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

puis connectez votre périphérique via usb, activez le débogage usb. Vérifier le dispositif connecté avec adb devices .

enfin lancer react-native run-android qui installera le debug apk sur votre téléphone et vous pouvez l'exécuter très bien avec le serveur dev

Note:

  • à partir de 0.49.0, le point d'entrée est un seul index.js
  • gradlew assembleRelease ne génère que les APK non signés qui ne peuvent pas être installés
2
répondu Shem Leong 2018-06-17 09:51:07

Changez Dans le dossier android et lancez ./gradlew assembleRelease pour construire le fichier release que vous pouvez envoyer à votre appareil android. La version apk n'a pas besoin que le serveur dev tourne.

-1
répondu manonthemat 2016-02-09 07:51:16