Yerel tepki: Android projesi bulunamadı. Belki önce react-native android'i çalıştırın?


90

React-Native projemde daha önce iyi çalışan ama aniden çalışmayı bırakan bir sorun vardı. Komutu ne zaman kullansam:

react-native run-android

Bir hata alıyordum :

Android projesi bulunamadı. Belki önce react-native android'i çalıştırın?

Koşmayı denedim :

react-native android

Ama dedi ki:

Unrecognized command 'android' Run react-native --help to see list of all available commands

Denedikten sonra:

D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native eject

Döndürülen hata şuydu:

D sembolik bağlar için klasörleri Tarama: \ ProjectRoot \ ReactNativeProjects \ AwesomeProject \ node_modules (48ms) App nametanımlanmalıdır app.jsonproje adını tanımlamak için yapılandırma dosyası. Boşluk veya tire içermemelidir.

Bu, app.json dosyasıdır:

{
  "expo": {
    "name": "AwesomeProject",
    "description": "A very interesting project.",
    "slug": "AwesomeProject",
    "privacy": "public",
    "sdkVersion": "30.0.0",
    "platforms": ["ios", "android"],
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "package": "com.project.first"
    },
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/images/icon.png",
    "splash": {
      "image": "./assets/images/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ]
  }
}

1
root yönergesinde android klasörü eksikse react-native eject komutunu çalıştırın.
Khurshid Ansari

1
@Khurshid Ansari, hata geldiği için çözümünüz işe yaramadı: "Uygulama adı proje adını tanımlamak için app.json yapılandırma dosyasında tanımlanmalıdır" adı tanımlansa bile. Lütfen güncellenmiş soruya bakın.
Abhinav Saxena

Yanıtlar:


156

Bu soruyu gündeme getirdim ve benzer sorunla karşılaşanlara yardımcı olacağını düşündüğüm için kendim yanıtladım. Terminalde gösterilen hata kesin olmadığı için arkasındaki gerçek nedeni bulmak için çok uğraştım.

Sorunu çözmek için lütfen react-native paketini yükseltin.

  1. Git Proje kökü .

  2. Komut İstemi'nde React yerel paketini şunu yazarak yükseltin :

    react-native upgrade.

  3. Ardından y (Yes), Komut İstemi'ne yazarak tüm Dosyaları güncellemeyi kabul edin .

Referans: https://github.com/facebook/react-native/issues/9312


9
Günü
Muhammed

React yerel paketi nerede bulunur? lütfen net adımlar
atın

@LutaayaHuzaifahIdris Yanıtta belirtildiği gibi, react yerel paketi Proje kökünde yükseltilebilir. Öyleyse, komut istemini açın ve proje köküne gidin. Ardından react yerel paketini yükseltin.
udai

istemediğim react-native yükseltildi.
Khurshid Ansari

Çalışma çözümüm aşağıda, yukarıdakilerin hiçbiri benim için çalışmadı :: 1. Android Studio'da AVD yöneticisini açın ve sanal bir cihaz çalıştırın (daha sonra AS'yi kapatabilirsiniz) 2. CMD'yi proje klasörünüze girin ve 'expo start' yazın 3. Expo başladığında 2. seçeneği seçin, "Android emülatörü için basın" Sanal cihaza expo yükleyecek ve oradan test edebilirsiniz
Paul Gwamanda

26

React Native Project Root Directory'nizi açın ve android -> app -> build -> intermediates -> signing_config -> debug -> out -> signing-config.json'u bulun. signing-config.json dosyasını silip bu dosyayı tekrar deneyin

Veya

1) Bazen react native'in daha eski sürümüne sahipsek ve yeni yüklenen paketlerin bazıları eski sürümü desteklemiyor. Daha sonra react-native upgrade komutunu kullanarak react native projesini güncellemeniz gerekir.

  1. Mevcut projeyi yeni sürüme güncelledikten sonra bu hata çözülmelidir.

23

Bunun eski bir soru olduğunu biliyorum ama bu çözümlerden herhangi biri benim için işe yaramadı ve belki benim gibi başkaları da var. Daha önce bu komutu çalıştırırken sorunumu çözdümrun-android

react-native eject

1
Bazı nedenlerden dolayı bu benim için de işe yaradı, "react-native-git-upgrade" i çalıştırdığınızda önerildiği gibi "react-native-git-upgrade" kullanarak react yerel yükseltmesinin yeni sürümünü denedim, bu benim için işe yaramadı.
Zaid Qureshi

2
bu komut projenizde android ve ios klasörünü yeniden oluşturun
Khurshid Ansari

1
Bunun doğru cevap olduğunu düşünüyorum. Sadece benim için işe yaradığı için değil, aynı zamanda belgelerden anladığım için, bunu yapmanın amaçlanan yolu budur ve dolayısıyla başka yan etkileri yoktur.
Daan

10
ejectKomut kaldırıldı den react-native.
Phantom Watson

9

Projeyi şu komutu kullanarak başlattığınızdan emin olun (expo olmayan):

react-native init <your-project-name>

Klasör varsa, takip edin:

react-native çıkarma


React-native'in en son sürümünde, bu öneri, komutu vermeye çalıştığınızda gelir:

react-native eject

D sembolik bağlar için klasörleri Tarama: \ ProjectRoot \ ReactNativeProjects \ AwesomeProject \ node_modules (48ms) App nametanımlanmalıdır app.jsonproje adını tanımlamak için yapılandırma dosyası. Boşluk veya tire içermemelidir.

Şimdi aşağıdaki komutu verdiğinizde:

D:\ProjectRoot\ReactNativeProjects\AwesomeProject>react-native upgrade

Aşağıdakiler ortaya çıkıyor:

D: \ ProjectRoot \ ReactNativeProjects \ AwesomeProject \ node_modules (56ms) içindeki sembolik bağlantılar için klasörleri tarama Git'e dayalı yeni yükseltme aracını kullanmayı düşünmelisiniz. Çoğu çatışmayı otomatik olarak çözerek yükseltmeleri kolaylaştırır. Kullanmak için: - React Native'in eski sürümüne geri dönün - "npm install -g react-native-git-upgrade" komutunu çalıştırın - "react-native-git-upgrade" komutunu çalıştırın Bkz. Https://facebook.github.io /react-native/docs/upgrading.html "package.json" daki react-native sürümü, "node_modules" içindeki yüklü sürümle eşleşmiyor. Bunu düzeltmek için "npm install" çalıştırmayı deneyin. İptal ediliyor.

Facebook react-native komut önerilerinde net bir çözüm var.

Bu komutlar mevcut sürümü ve güncelleme gerekip gerekmediğini kontrol eder.

Bir çözüm daha:

react-native: Komut run-androidtanınmıyor. Belki npm yüklemesinden kaynaklanır

Lütfen ayrıca bakınız:

"Expo: LogReporter modülü bulunamıyor" çözümü


Benim için kabul edilen cevap, +10 rep. to @Abhinav
Saeed

8

Bunu beğendim ... Çalıştı !!

  1. CMD Projesi kökünde react-native yükseltmeyi çalıştırın .
  2. Hala sorun yaşıyorsanız , package.json içinde json bağımlılıklarında react-native olduğundan emin olun , değilse ekleyin
  3. Hala sorun yaşıyorsanız, react-native -v kullanarak cmd'de react native sürümünü edinin ve cmd ile package.json'da döndürülen değerin aynı olup olmadığını kontrol edin. package.json dosyasını cmd olarak döndürülen değerle güncelleyin

İşte benim sorunum çözüldü.


6

Komut İstemi'ni Yönetici olarak açın ve proje klasörüne gidin, android'i çalıştırın (npx react-native run-android)


4

Dosyayı kaldırın: Yerel Proje Kök Dizinini React ve android -> app -> build -> intermediates -> signing_config -> debug -> out -> signing-config.json dosyasını bulun.


4

AndroidManifest.xml'mi yeniden biçimlendirmek zorunda kaldım çünkü bir yerde sözdizimi hatası vardı (bir yerde fazladan "/" vardı). Şimdi düzeltildi. Söz diziminize çok dikkat edin ...


Bu nasıl bir cevap?
theWellHopeErr

3

Bu sorunu yaşadık çünkü android klasörü gradlew ve gradlew.bat (sırasıyla UN * X, Windows için Gradle başlangıç ​​betiği) bir şekilde global .gitignore dosyasına girdi ve bu nedenle yerel ortamlarda sunulmadı.

Aslında react-native yükseltme komutunu çalıştırmak , bu dosyaları geri yükleyerek sorunu çözer.


3

Tamamlayıcı olarak, react-native komutunun bulunmaması durumunda, react-native CLI yüklemelisiniz:

npm install -g react-native-cli

Daha sonra yukarıda söyledikleri adımları takip edebilirsiniz.

Daha fazla ayrıntı: react-native: komut bulunamadı


3

React Yerel Proje Kök Dizininizi açın ve android -> app -> build -> intermediates -> signing_config -> debug -> out -> signing-config.json dosyasını bulun

Dosyayı silin ve tekrar deneyin.


2

Projenize takip ederek başladıysanız

npm install -g create-react-native-app
create-react-native-app MyReactNative
npm install -g react-native-cli
npm start

bundan sonra, yukarıda bahsedilen problemle karşılaşabilirsiniz. Yani çözüm:

npm run eject

2

Bugün bu sorunla karşılaştım ve çözümlerin hiçbiri benim için işe yaramadı, bu yüzden başka bir tane buldum.

Kötü Biçimlendirilmiş AndroidManifest.xml bu soruna neden olur , belki de açılış ekranını bugün benim gibi ayarladınız ve AndroidManifest'i doğru şekilde biçimlendirmediniz


1

Burada app.json'un adı yoktur, ancak fuarla ilgili yapılandırması vardır. Bu nedenle, app.json dosyasında ad ve görünen ad alanlarını eklemeniz yeterlidir.

app.json (ilk iki satır):

{
"name": "AwesomeProject",
"displayName": "Awesome Project",
"expo": {
    "name": "AwesomeProject",
    "description": "A very interesting project.",
    "slug": "AwesomeProject",
    "privacy": "public",
    "sdkVersion": "30.0.0",
    "platforms": ["ios", "android"],
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "package": "com.project.first"
    },
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/images/icon.png",
    "splash": {
      "image": "./assets/images/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ]
  }
}

Bundan sonra şunu çalıştırın:

$ react-native çıkarma

info iOS klasörünün oluşturulması.

info Android klasörünün oluşturulması.

React-native yükseltmeye gerek yok.


aslında, "expo eject" de daha iyi çalışıyor. Bana seçenekler verdi ve app.json'u güncelledi ve android / ios dizinlerini oluşturdu.
hp2017

1

Terminal'i Windows'ta Yönetici olarak çalıştırmak benim için hile yaptı ... Diğer çözümler işe yaramadı.


Bu sadece karthik mano'nun mevcut cevabı sayesinde demek değil mi? Değilse, lütfen bu yanıtın sağladığı ek bilgileri daha açık hale getirin.
Yunnosch

1

Android Studio (expo olmayan) kullanıyorum ve bu benim için çalışıyor

react-native init <your-project-name>

1

Cmd'nizi yönetici ayrıcalıklarıyla çalıştırmanız gerekir. Bu benim için aynı sorunu çözdü. "Çıkarma" ya da başka bir şey yapmadım.


Aynı soru için pek çok benzer cevap var. Cevabınızı eklemek yerine, size yardımcı olsaydı, mevcut cevabı yükseltebilirsiniz.
Deepak Terse

1

Benim durumumda, Sudo'yu eklemeyi unuttum. Aşağıdaki gibi düzeltildi,

sudo npx react-native run-android

1

Signing-config.json dosyasını silin ve ardından react-native run-android'i tekrar deneyin

signing-config.json dosyası Yol: android -> app -> build -> ara ürünler -> signing_config -> hata ayıklama -> out -> signing-config.json


1

Bence kontrol edebileceğiniz daha basit bir şey daha önce projeyi farklı bir kullanıcı rolü olarak çalıştırdıysanız, örneğin daha önce bir yönetici rolüyle react-native run-android'i çalıştırdıysanız, pencerelerde olduğu gibi.


Yukarıdaki soruya benzer bir sorun yaşadım ve terminali yönetici izinleriyle başlattım (Windows'ta) bu hata ortadan kalktı.
LakeRunner

1

Benim durumumda proje klasörüm için doğru izinlere sahip değildim.

Bu sizin durumunuzsa, klasör> Özellikler> Güvenlik> Gelişmiş üzerindeki sağ tuşa tıklayın ve ardından klasörün sahipliğini alt klasörler dahil olmak üzere kullanıcınız olarak değiştirin. Bunu yapmalı


1

Benim için "rm -rf android / app / build /" çalıştı

Komutunuzu "--verbose" ile çalıştırın. Bir dosyayı okuyamadığına dair hata aldım (android / app / build / generated / not_namespaced_r_class_sources / içinde). Bu klasörü sildim ve işe yaradı


0

Çalışma çözümüm aşağıda, yukarıdakilerin hiçbiri benim için işe yaramadı:

CD'yi proje klasörünüze yerleştirin ve expo start --android yazın.

Veya uzun yoldan:

  1. Android Studio'da AVD yöneticisini açın ve sanal bir cihaz çalıştırın (daha sonra AS'yi kapatabilirsiniz)
  2. CMD'yi proje klasörünüze yerleştirin ve 'expo start' yazın
  3. Expo başladığında, "Android emülatörü için a'ya basın" olan 2. seçeneği seçin

Sanal cihaza expo kuracak ve oradan test edebilirsiniz.


0

Koştum zaman react-native eject, bu hata var:

Both the iOS and Android folders already exist! Please delete `ios` and/or `android` before ejecting.
  • MyProject/androidKlasörü silin .
  • Çalıştır react-native ejectBu, androidklasörü oluşturdu

  • Ardından react-native run-androidandroid oluşturmak için çalıştırın


0

Git tabanlı yeni yükseltme aracını kullanmayı düşünmelisiniz. Çoğu çatışmayı otomatik olarak çözerek yükseltmeleri kolaylaştırır. Kullanmak için: - React Native'in eski sürümüne geri dönün - "npm install -g react-native-git-upgrade" komutunu çalıştırın - "react-native-git-upgrade" komutunu çalıştırın Bkz. Https://facebook.github.io /react-native/docs/upgrading.html


0

Projenizi şu expokomutla oluşturduysanız expo init projectname, daha sonra projenizi çıkarmanız gerekir:

expo eject

Projenizi yarattıysanız, react-native init projectNameo zaman kullanmanız gerekir

react-native eject


0

Çok geç olabilir, Androidklasörü bir yedekleme dosyasından değiştirdim. Benim için çalıştı.


0

Java.exe'nin tüm örneklerini şu şekilde öldürerek sorunu çözdüm: taskkill /f /im java.exe .


0

Bir projede aynı hatayı aldım (React Native CLI ile oluşturulmuş):

görüntü açıklamasını buraya girin

android manifest dosyamda (android / app / src / main / AndroidManifest.xml) bir sözdizimi hatası yaşadığım ortaya çıktı.


0

React native android'i silin build folderve ardından komutu yeniden deneyinnpx react-native run-android

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.