Windows'ta varlık dizini.android.bundle dosyasından komut dosyası yüklenemiyor


357

İlk React Native projemi cihazımda ilk kez çalıştırmaya çalışıyorum (Android 4.2.2).

Ve anladım:

index.android.bundle varlıklarından komut dosyası yüklenemiyor

Kullandığım komutlar:

  1. cd (project directory)
  2. react-native start
  3. react-native run-android

6
Jerry'nin cevabını ilk denemeden önce, çevre değişkeninde ve yol platform aracında ANDROID_HOME'u ayarladınız.
Sagar Chavada

Son sürümdeki bir hata. React-native init kullanarak önceki sürümü kullanmanız gerekir ProjectName --version = 0.55.4 Sorun düzeltilmelidir.
Sulung Nugroho

aynı hata, aynı bağlam, ancak düzeltme kolaydır: hata ayıklama sunucusunun uygulamasına Loading dependency graph...geçmesini Loading dependency graph, doneve yeniden yüklemeye basmasını bekleyin .
Nino Filiu

Kabul edilen cevap, derleme sürecini ve kod tabanını karmaşıklaştıran son derece rahatsız edici bir hack'tir. Burada daha iyi cevaplar var.
Andrew Koster

Kullanım mkdir ... /assets && react-native bundle --platform..bu sorunu tamamen
Ian Zhong

Yanıtlar:


948

React Native öğreticisini (Linux üzerinde geliştirme ve Android'i hedefleme) izlerken aynı sorunla karşılaştım .

Bu sorun, aşağıdaki adımlarda sorunu çözmeme yardımcı oldu.

  1. (proje dizininde) mkdir android/app/src/main/assets
  2. 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. react-native run-android

Sen onları yerleştirerek yukarıdaki adımları otomatik hale getirebilirsiniz scriptsparçası package.jsonşöyle:

"android-linux": "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 && react-native run-android"

Sonra npm run android-linuxher seferinde komut satırınızdan çalıştırabilirsiniz .


15
dosyayı değiştirmek istersek ne olur index.android.js? Terminalde her seferinde komut 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
eklememiz gerekiyor

9
Loading dependency graph...her seferinde terminalden tekrar çalıştırdığımda takılıyor ve çok fazla zaman alıyor. FYI Ubuntu kullanıyorum 14.04
Maulik

12
Yeni yerel sürümleri yeniden indeksle index.android.js içermez, bu nedenle lütfen App.js komutunu kullanın. :) Teşekkürler
Chinthaka Dinadasa

11
Benim durumumda ChinthakaDinadasa, öyle index.jsdeğilApp.js
Felix

11
Bu adamın bir heykele ihtiyacı var! Yani gerçekten sadece linux üzerinde değil, Windows 10'da da işe yaradı
Reborn

126

Uygulamanızı fiziksel cihazda çalıştırıyorsanız ve bu hatayı alıyorsanız

unable to load script from assets index.android.bundle

komutu çalıştırmayı deneyin:

adb reverse tcp:8081 tcp:8081

Benim için çalıştı ...


Bu benim sorunumu çözdü! Teşekkürler!
Pablo

7
Benim için çalıştı. Windows platformunda terminal yolunuzda android platform araçlarına sahip olmayanlar için, adb yürütülebilir dosyası `C: \ Kullanıcılar \ KullanıcıKullanıcı \ AppData \ Local \ Android \ sdk \ platform-tools`
Mikepote

2
Bence bu doğru cevap olmalı, diğeri hack gibi görünüyor.
Cristian Gomez

Bu benim için sorunu düzeltti (Windows, fiziksel cihazda uygulama çalışıyor). Kırmızı hata kutusundaki önerilen düzeltmelerden biridir.
Tur1ng

MacOS'ta benim için çalışıyor, ancak cihazı her taktığımda çalıştırmam gerekiyor. Bu izni yapmanın bir yolu var mı?
Pauloco

102

Bu sorunu çözmeye çalışarak saatler geçirdim. Benim sorunum Windows'a değil Android'e özgüdür.

Geliştirme sunucusuna erişim yerel olarak ve öykünücünün tarayıcısında çalıştı. Çalışmayan tek şey, uygulamadaki geliştirme sunucusuna erişmekti.

Android 9.0'dan (API düzey 28) başlayarak, varsayılan olarak açık metin desteği devre dışıdır.

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        ...
    </application>
</manifest>

Daha fazla bilgi için bakın: https://stackoverflow.com/a/50834600/1713216


11
Teşekkür ederim. Bu yükselttikten sonra benim konuydu targetSdkVersioniçin 28.
bencergazda

Bu doğru cevap. Aslında ağ iletişim sorununu çözer.
Andrew Koster


Bunu işaretlediğiniz için teşekkürler - RN uygulamamın yüklenmesini tamamen engelliyordu. Bu konuda mesajlaşma daha iyi bir hata olmadığını hayal kırıklığı: /
greg7gkb

2
İşler! Sizi şahsen görürsem, sana bir madalya veririm (-:
Yaron Levi

61

Npm sürüm 4.3.0 tepki-yerel-cli sürüm 2.01 tepki-yerel sürüm 0.49.5 kullanma

Proje dizininde,

  • mkdir android/app/src/main/assets
  • 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
  • react-native run-android

Dosya adı index.android.js yerine index.js olarak değiştirildi


3
FB'nin yeni bir sürüm çıkardığı için üzücü ve tonlarca insanı açıkça vuran bu hatayı düzeltmek yerine, kabul edilen çözümü kırıyorlar!
Tom

@IgorGanapolsky Varlıklar klasörünüzde bir index.bundle dosyanız olduğundan emin olun
Darshan Pania

@DarshanPania Bu dosya ne yapıyor?
IgorGanapolsky

3
@IgorGanapolsky That JS dosyası, uygulamanıza bir giriş noktasıdır. RN 0.49'dan itibaren veya index.jsyerine sadece bir dosya varindex.android.jsindex.ios.js
Darshan Pania

1
linux için:sudo 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
Taohidul İslam

42

Gerçek bir android cihazla aynı problemle karşılaştım.

Çözüm: Niltoid'in bu cevabına dayanarak

  1. Yerel IP'nizi bulun
  2. Uygulamayı açın ve Android cihazınızı sallayın
  3. Geliştirici Ayarına Git ve> Sunucuda Hata Ayıkla ...
  4. IP ve portunuzu yapıştırın; XXXX: 8088 "(burada X'ler yerel IP'nizdir)

Mac kullanıcısı için: ağ tercihinizi açın, burada yerel IP'nizi alacaksınız.


Benim için çalışıyor (y)
MAhipal Singh

22

Windows kullanıyorsanız, komutları aşağıdaki şekilde çalıştırın veya "Girdi dosyası index.android.js bulunamadı" hatası alıyorsanız

  1. mkdir android\app\src\main\assets
  2. 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. react-native run-android


19

Bu sorunu çözmek için resmi sayfada belirtilen talimatları takip edebilirsiniz . Bu sorun ortaya gerçek cihazdan JS paket geliştirme sistemi üzerinde bulunan ve gerçek cihazın içindeki uygulama 's konumunun farkında değildir çünkü.


Doğrudan android studio'dan çalışırken bu sorunu alıyordum. react-native run-androidSabit kullanarak
yairsz

7
Bağlantınız artık çalışmıyor, ileride bilgi kaynağı öldükten sonra hayatta kalabilmek için önemli yardımcı bölümlere başvurmalısınız.
Zac Grierson

Peki bu gerçek bir cihazda çalıştırmak için nasıl ??
IgorGanapolsky

1
@IgorGanapolsky ben aynı sorunu var ve resmi belgelerle düzeltti, kolayca ortamınızı kontrol edebilirsiniz facebook.github.io/react-native/docs/running-on-device.html Android stüdyosundan porj yükleyemiyorum (ve android klasörü) ancak proje ve terminalin kök klasörü ile yapabilirdim.
Ivan Titkov

15

Mac aynı sorunu vardı, 2 gün geçirdikten sonra nihayet almak mümkün başardı çalışıyor.

Beri Emulator cellular data was turned offben başlamıştı unable to load script from assets index.android.bundle make sure your bundle is running.

Emulator cellular data is turned onBu paket sunucusunu yaparak paketlenebildiğinden emin olun index.android.js. Umarım gelişme aşamasında olan birine yardımcı olur.


Sen ne diyorsun Emulator cellular data is turned on? Nerede bu? Sanal cihaz? Gerçek cihaz?
Yeşil

Emulator, android stüdyosundan gelen sanal cihaz anlamına gelir.
Srinivas

13

Aynı sorunu birkaç aydır yaşadım. Başlangıçta @ Jerry'nin çözümünü kullandım, ancak sorunu tam olarak çözmediği için yanlış bir çözümdü. Bunun yerine, uygulamada yaptığınız herhangi bir küçük değişikliğin, tüm uygulamayı yeniden oluşturmanın gerektiği anlamına geleceği anlamına gelen her yapıyı bir üretim derlemesi olarak almaktı.

Bu geçici bir çözüm olmakla birlikte, React Native'ın sıcak yeniden yükleme gibi şaşırtıcı geliştirme araçlarından artık yararlanamayacağınız için uzun vadede korkunç bir şekilde çalışıyor.

Uygun bir çözüm gösterilmiştir:

Senin içinde MainApplication.javadosyasında aşağıdakiler değiştirin:

@Override
public boolean getUseDeveloperSupport() {
    return BuildConfig.DEBUG;
}

ile

@Override
public boolean getUseDeveloperSupport() {
    return true;
}

bazı nedenlerden dolayı BuildConfig.DEBUGher zaman false döndürür ve varlıklar dizininde bir paket dosyasıyla sonuçlanır.

Bunu manuel olarak true olarak ayarlayarak, uygulamayı paketleyiciyi kullanmaya zorlarsınız. Bu, üretimde ÇALIŞMAZ, bu nedenle yanlış veya varsayılan değer olarak değiştirdiğinizden emin olun.

Koşmayı da unutma

$ adb reverse tcp:8081 tcp:8081

1
Holy, asıl çözüm bu. Kabul edilen cevap, sıcak yeniden yükleme için çalışmaz ve hiçbir şekilde soruna meşru bir çözüm değildir.
Ganesh Datta

11

1 Proje dizininize gidin ve bu klasörün var olup olmadığını kontrol edin android/app/src/main/assets

  1. Varsa, iki viz dosyasını silin index.android.bundleveindex.android.bundle.meta
  2. Klasör varlıkları yoksa, orada varlıklar dizinini oluşturun.

2. kök proje dizininizden yapın

cd android && ./gradlew clean

Son olarak, kök dizine geri dönün ve tek bir giriş dosyası olup olmadığını kontrol edin.index.js

  • Eğer tek bir dosya yani index.js varsa aşağıdaki komutu çalıştırın 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

  • İndex.android.js ve index.ios.js olmak üzere iki dosya varsa, bunu çalıştırın 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

    1. Şimdi koş react-native run-android

neredeyse tüm bu senaryoları denedikten sonra ... benim için işe yarayan tek çözüm buydu. Teşekkür ederim!!!!
MizAkita

Bu, Ubuntu 18.04'teki başlangıç ​​kılavuzunu izleyerek bu hatayla karşılaştıktan sonra benim için çalıştı. Teşekkürler!
59'da rasgele

9

İşletim Sistemi: Windows

Yukarıdaki iki yöntemi denedikten sonra bu sorunu çözmenin başka bir yolu
( C: \ users \ "kullanıcı_adı" \ appdata \ local \ sdk gibi VARSAYILAN YER'e olmayan SDK'yı yüklediğim için )

Komut satırının duyurduğunu fark ettiyseniz: "'adb' dahili veya harici komut olarak tanınmadı ..."

Yani bu şekilde aşmak:
Örnekler: SDK D: \ Android \ sdk yükledim
Yani Sistem Değişkenleri 2 daha satır yol ekleyeceğim:

D:\Android\sdk\tools  
D:\Android\sdk\platform-tools  

(Sistem Değişkenleri yolunu nasıl düzenleyeceğinizi bilmiyorsanız, işte konu: /android/38321/what-do-i-type-in-path-variable-for-adb- sunucu-start-den-cmd / 38324 )

Sonra tekrar cmd çalıştırıyorum: react-native run-android

Benim için çalıştı.


gerçekten bağlı olmasa bile - bu çok yaygın sorunlardan biridir ve
Thien'in

8

Benim durumumda, MainApplication.java satırın altındaki kaldırdım. (Bu daha önce yanlışlıkla benim tarafımdan eklenmiştir.) : -

import com.facebook.react.BuildConfig;

Bundan sonra Projeyi Temizle ve vurma komutu

tepki-yerli run-android


Teşekkürler, bana da yardım ediyor.
Anil Ravsaheb Ghodake

6

İçin IOS:

Bir terminalde:

cd ios

Derleme klasörünü kaldır: rm -r build

Tekrar koş: react-native run-ios

Alternatif olarak, size, gezinmek Finder açabilir YOUR_PROJECT / ios ve silme inşa klasörü .

Sonra tekrar çalıştırın: react-native run-ios

İçin ANDROID:

Bir terminalde:

cd android/app

Derleme klasörünü kaldır: rm -r build

Tekrar koş: react-native run-android

Alternatif olarak, Finder açın gezinmek için olabilir YOUR_PROJECT / android / app ve silme inşa klasörü .

Sonra tekrar çalıştırın: react-native run-android


2
Android için çalışıyor! temiz ve kolay!
llioor

android/app/binWindows'daki klasörü silmek de işe yaradı. Projeyi çalıştırmak yerine doğrudan Android Studio'dan react-native run-androidyapmıştım ve elle silmek zorunda kaldığım yanlış bir şey inşa etmiş gibi görünüyor.
Lucas Bustamante

5

Bu sorun için sadece çalıştırarak çözmek:

react-native start

sonra

adb reverse tcp:8081 tcp:8081

komut satırında. Ve sonra koşabilirim:

react-native run-android

Bu yüzden çalıştırmak için zamanımı boşa harcamaz:

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

her zaman.


5

Bu sorunla da karşı karşıya kaldım çünkü öykünücüler üzerinde projeler çalıştırdığımda iyi çalışıyor, ancak gerçek bir cihazda bu hatayı veriyor. Bu sorunu aşağıdaki çözümle çözüyorum

1. adım: Her şeyden önce cmd'yi açın ve SDK yöneticiniz Platform araçları klasörünüze gidin

cd C:Development\Android\Sdk\Platform-tools

2. adım : şimdi şu komutu çalıştırın:

adb devices

bu komuttan sonra komut isteminde listelenen cihazınızı kontrol edin

3. adım : şimdi bunu çalıştırın

adb reverse tcp:8081 tcp:8081

Şimdi kurulumunuz tamamlandı

4. adım : Proje dizininize gidin ve bu komutu çalıştırın

react-native run-android

4

Ubuntu

ilk kez ile yeni bir uygulama oluşturdum react-native init project-name. Aynı hatayı aldım. bu yüzden benim durumumda bu sorunu çözmek için aşağıdaki adımları izleyin.

  1. Öncelikle sudo chown user-name-of-pc /dev/kvmbenim durumumda koş .
  2. Android telefonunuzdan hata ayıklarken öğesini seçin Use USB to Transfer photos (PTP).

  3. Klasör oluşturun assetsProje adı / android / app / src / main'de

  4. index.jsproje root dizininizde kullanılabilir olduğundan emin olun ve dizinden sonra konsoldan aşağıdaki komutu çalıştırın cd project-name.

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

veya index.android.js için

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

  1. çalıştır komutu ./studio.shiçindeandroid-studio/bin dizine. Android Studio'yu açacak.

  2. komutu çalıştır react-native run-android.

resim açıklamasını buraya girin


4

Fiziksel cihazınızı ve sunucu senkronizasyonunuzu yapmak için metro oluşturucunun çalıştığından emin olun

İlk olarak, metro oluşturucuyu çalıştırmak için bu komutu çalıştırın

npm başlangıç

Daha sonra, yerel reaksiyonda derlemeye başlayabilirsiniz.

tepki-yerli run-android

Bu sefer onların hatası olmamalı. Kodunuzun canlı olarak değiştirilmesini istiyorsanız, değişiklik olduğunda yeniden yükleyin. Cihazınızı sallayın ve ardından Canlı Yeniden Yüklemeyi Etkinleştir'e dokunun


3

Yol değişkeninize / path / to / sdk / platform-tools eklediğinizden emin olun.

React-native run-android'i çalıştırdığınızda, isteği cihazınızdan bilgisayarınızda yerel olarak çalışan sunucuya iletmek için adb reverse tcp: <device-port> tcp: <local-port> komutunu çalıştırır. Eğer adb bulunmazsa böyle bir şey göreceksiniz.

/bin/sh: 1: adb: not found
Starting the app (.../platform-tools/adb shell am start -n 
com.first_app/com.first_app.MainActivity...
Starting: Intent { cmp=com.first_app/.MainActivity }

kontrol edilecek ilk şeylerden biri olması gerektiği gibi, bu da en çok oylanan cevaplara kadar olmalıdır
eis

3

Bunun nedeni, React Native proje kodu tabanınızdaki bağlantısız varlıklar olabilir, örneğin proje uygulama / paket kimliğinizi yeniden adlandırdığınızda veya düzgün bir şekilde bağlamadan harici bir paket eklediğinizde olduğu gibi.

Sadece proje kök dizininizde deneyin:

react-native link

react-native run-android

2

react-native run-androidKomutu çalıştırırken izlemenin ikinci satırı

JS server not recognized, continuing with build...

uygulamanın paketleyicisinin başlatılamayacağı ve uygulamanın bazı ek adımlar olmadan yüklenemediği anlamına gelir. İzlemenin sonunda yine de başarılı olduğunu bildiriyor:

BUILD SUCCESSFUL

Sorun muhtemelen bazı bağlantı noktası çakışmasıdır (benim durumumda tamamen unuttuğum varsayılan IIS sitesiydi). Sorunun başka bir tezahürü, açılmamasıhttp://localhost:8081/debugger-ui URL'yi Chrome'da açmamaktır.

Bağlantı noktası çakışması giderildikten sonra, izleme

Starting JS server...

ek bir Düğüm penceresi açılır ( node ...cli.js start) ve uygulama başarıyla yüklenir / yeniden yüklenir.

Bundan sonra Chrome'da hata ayıklama konsolunu aşağıdakilerle açabilmeniz gerekir: http://localhost:8081/debugger-ui .


2

Bir simülatörde çalışırken bile aynı sorunu yaşadım. Normal geliştirme iş akışına sahip olabilmem için hızlı bir çözüm buldum.

private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
  @Override
  public boolean getUseDeveloperSupport() {
    // return true here to load JS from the packager
    // BuildConfig.DEBUG for me was set to false which meant it
    // it was always trying to load the assets from assets folder.
    return true;
  }

  @Override
  protected String getJSMainModuleName() {
    return "index";
  }
};

Muhtemelen bir üretim yapısı yapmaya çalışırken değişikliği geri almak zorunda kalacak.


2

Mac engelleme bağlantı noktası 8081'de McAfee ile ilgili sorunum vardı, 8082 olarak değiştirmek zorunda kaldım.

İlk olarak paket sunucunuzu çalıştırın:

react-native start --port 8082

Başka bir terminal açın, android uygulamasını her zamanki gibi başlatın:

react-native run-android

Tamamlandığında, şimdi tünelleri takan tcp portunu yeniden yazın:

adb reverse tcp:8081 tcp:8082

Adb TCP tünellerinin listesine bakın:

adb reverse --list

Şimdi iç açıcı bir mesaj görmelisiniz:

(reverse) tcp:8081 tcp:8082

Uygulamanıza gidin ve yeniden yükleyin, bitti!

Not: "localhost: 8082" eklediyseniz, uygulama Dev ayarlarında hiçbir şeyi değiştirmeyin, sadece kaldırın, boş bırakın.

EDIT: Orada tüm McAfee kurbanları için, kök erişiminiz varsa daha kolay bir çözüm var, sadece 8081 numaralı bağlantı noktasında oturan McAfee işlemini geçici olarak öldürün ve bağlantı noktası değişikliğine hiç gerek yok:

sudo launchctl remove com.mcafee.agent.macmn

2

Bence iplik yok takılı chocolatey ya da başka bir şeyle kurmayı deneyin. Projenizi oluşturmadan önce kurulmalıdır (reat-native init komutu).

Varlık dizini oluşturmaya gerek yok.

Çalışmıyorsa yanıtlayın.

Düzenleme: Reac-native son sürümünde onlar düzelttim. Bu kaldırma düğümünden tam özgürlük istiyorsanız ( Tamamen kaldırma için Düğümü tamamen kaldırın bu bağlantıya başvurun) ve düğümü yeniden yükleyin, tepki-native-cli sonra yeni projenizi oluşturun.


2

emülatör cihazında internet açmayı unutmayın, bu hatayı geri aldım, mükemmel çalışıyor: V NetInfo: D test etmek için interneti kapattığım için bu hatayı alıyorum


2

Bu genel bir hata iletisidir, yerel uygulama geliştirme sırasında karşılaşmış olabilirsiniz. Yani bu derste bu konuya çözüm sağlayacağız.

Sorun Açıklama: Windows'ta varlıkların index.android.bundle komut dosyası yüklenemedi Windows'ta varlıkların index.android.bundle komut dosyası yüklenemedi

Yukarıdaki sorunu çözmek için aşağıdaki adımları izleyin:

Adım-1: Proje dizininizde "varlıklar" klasörü oluşturun Şimdi proje dizininde "MobileApp \ android \ app \ src \ main" olan varlıklar klasörü oluşturun. Varlıklar klasörünü manuel olarak oluşturabilirsiniz:

<VEYA>

komutu kullanarak da klasör oluşturabilirsiniz. Komut: mkdir android / app / src / main / asset

Adım-2: React Native uygulamanızı çalıştırma Emülatörde veya fiziksel aygıtta yerel reaksiyonu uygulamayı çalıştırmak için aşağıdaki komutu çalıştıralım.

Proje dizinine geçin. cd MobileApp

Android uygulama projenizi paketlemeye yardımcı olan aşağıdaki komutu çalıştırın.

tepki yerel paketi - platform android --dev yanlış - giriş dosyası index.js - paket çıktısı android / app / src / main / asset / index.android.bundle --assets-dest android / app / src / ana / res

Emülatörde veya fiziksel aygıtta yerel uygulama tepkisini çalıştırmak için Son adımı çalıştırın. tepki-yerli run-android

<VEYA>

Ayrıca son iki komutu bir arada birleştirebilirsiniz, Bu durumda komutu yalnızca bir kez yürütmeniz gerekir.

tepki yerel paketi - platform android --dev yanlış - giriş dosyası index.js - paket çıktısı android / app / src / main / asset / index.android.bundle --assets-dest android / app / src / main / res && tepki-yerel çalışma-android

<VEYA>

Yukarıdaki adımları aşağıdaki gibi script.json komut dosyalarına yerleştirerek otomatikleştirebilirsiniz:

"android-android": "tepki yerel paketi - platform android --dev false --entry-file index.js --bundle-çıktı android / app / src / main / asset / index.android.bundle --assets -dest android / app / src / main / res && tepki-yerli çalışma-android "

Her şey doğru şekilde ayarlandıysa, yeni uygulamanızın kısa süre içinde Android öykünücünüzde çalıştığını görmelisiniz.


2

Bunu takip et, benim için çalıştı.

https://github.com/react-community/lottie-react-native/issues/269

Proje dizininize gidin ve bu klasörün var olup olmadığını kontrol edin android / app / src / main / varlıklar i) Varsa, iki dosyayı silerek index.android.bundle ve index.android.bundle.meta ii) Klasör varlıkları yoksa var değil, orada varlıklar dizini oluşturun.

Kök proje dizininizden cd android && ./gradlew clean yapın

Son olarak, kök dizine geri dönün ve index.js adında tek bir giriş dosyası olup olmadığını kontrol edin. İ) Yalnızca bir dosya yani index.js varsa, şu komutu çalıştırın: reaktif-yerel paket --platform android --dev false - -entry-file index.js --bundle-çıktı android / app / src / main / asset / index.android.bundle --assets-dest android / app / src / main / res

ii) index.android.js ve index.ios.js olmak üzere iki dosya varsa, bu yerel tepki paketini çalıştırın - platform android --dev false --entry-file index.android.js --bundle-çıktı android /app/src/main/assets/index.android.bundle --assets-dest android / app / src / main / res

Şimdi tepki-yerli çalıştırmak-android çalıştırın


Yorumunuz bana çok yardımcı oldu. Neden iki paket dosyasını silmem gerektiğinden emin değilim. Ama yol tarifleriniz mükemmel olurdu! Çok teşekkür ederim!
VK1

2

Tam olarak aynı problemle karşılaştım ve çözdüm. Bu yüzden yardımcı olmayı umuyoruz.

Bir sürüm uygulama paketi (.apk) oluşturduğunuzu varsayalım

  1. Varlık klasörünüzün var olup olmadığını kontrol edin ?: \ android \ app \ src \ main \ asset Varsa bir tane oluşturun.

  2. "Sürüm Birleştir" i yürüttükten sonra, bu klasörde bir şey olup olmadığını kontrol edin (\ android \ app \ src \ main \ asset) Değilse, birden fazla klasörde olması gereken js paket dosyasını ( index.android.bundle ) bulun . aşağıdaki yollar:

    * A) \ robot \ uygulama \ inşa \ \ index.android.bundle üzerinden ara \ merged_assets \ salma \

    b) \ robot \ uygulama \ inşa \ ara \ merged_assets \ serbest \ mergeReleaseAssets \ üzerinden \ index.android.bundle

    c) \ robot \ uygulama \ yapı \ Aramaddelerinin \ varlıklar \ salma \ index.android.bundle

    d) \ robot \ uygulama \ \ index.android.bundle \ serbest reaksiyona \ inşa \ oluşturulan \ varlıklar *

Daha iyi bir yol, index.android.bundle dosya adını aramak için "Her şey" kullanmaktır.

  1. Ardından bu dosyayı varlık klasörünüze kopyalayın (\ android \ app \ src \ main \ asset \ index.android.bundle)

  2. Powershell veya komut konsoluna geri dönün, şunları yürütün:

tepki-yerel çalışma-android --variant = sürüm

İşe yaramalı.

İyi şanslar!


Çok teşekkür ederim! Üç gün mücadele etti! Btw yerel tepki 0.59 sorunu düzeltti.
Annie


1

görüntü

Bu sorunla karşılaşıyorum, çok fazla arama yaptım ve bu sorunu çözdüm.

c:\ProjectFolder\ProjectName> 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

Daha sonra yerel reaksiyonu çalıştırın:

c:\ProjectFolder\ProjectName>react-native run-android


1
Ekran görüntüsü, yanıtla biraz alakasız.
Tyler

1

Oluşturma-tepki-yerel-uygulamadan gelişen ve dışarı atılan ve bu konuyu ele alan herkes developmentiçin, benim için kabul edilen cevaptan biraz ayrıntı

(proje dizininde) mkdir android / app / src / main / asset

İşte geliştirme aşamasında olduğunuz için değişen bölüm geliyor bölümden kurtulmak --dev: false:

tepki yerel paketi - platform android - giriş dosyası index.js - paket çıktı android / app / src / ana / varlıklar / index.android.bundle --assets-dest android / app / src / main / res

Bundan sonra tüm terminalleri kapatın, uygulamanızı oluşturmak, temiz bir terminal açmak ve yeni bir terminal açmak için derleme klasörünü android / app / dizininden silin ve

(proje dizininde) npm çalıştırmak android

paketleyici konsolunu (başka bir terminalde) isteyecek ve başarılı bir şekilde oluşturacak

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.