प्रतिक्रियाशील मूल निवासी Android बिल्ड त्रुटि MainActivity.java:29: त्रुटि: प्रतीक नहीं ढूँढ सकता


84

मेरे रिएक्टिव नेटिव एंड्रॉइड ऐप को संकलित करने की कोशिश करते समय मुझे यह त्रुटि हो रही है। Android एप्लिकेशन BuildConfig.DEBUG को हल नहीं कर सकता है।

:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac
/Users/amirsharif/mobile-rappad/android/app/src/main/java/com/rappadmobile/MainActivity.java:29: error: cannot find symbol
                .setUseDeveloperSupport(BuildConfig.DEBUG)
                                        ^
  symbol:   variable BuildConfig
  location: class MainActivity
>1 error
:app:compileDebugJavaWithJavac FAILED

मैं अस्थायी रूप से इसे सही पर सेट करके हल कर सकता हूं। यह तब हो सकता है जब मैंने एक एप्लिकेशन नाम बदल दिया (क्योंकि यह कुछ ऐसा है जिसे मैं करने की कोशिश कर रहा हूं)।

मुझे शायद ग्रैडल के साथ कुछ बदलना है, इसलिए यह फिर से सही प्रकार की फाइलें उत्पन्न करता है।

/**
 * Automatically generated file. DO NOT MODIFY
 */
package com.app;

public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");
  public static final String APPLICATION_ID = "com.rappadmobile";
  public static final String BUILD_TYPE = "debug";
  public static final String FLAVOR = "";
  public static final int VERSION_CODE = 1;
  public static final String VERSION_NAME = "1.0";
}

जवाबों:


114

मेरे पास एक ही मुद्दा था और इसे निम्नलिखित आयात विवरण में जोड़कर हल किया गया था MainApplication.java:

import com.facebook.react.BuildConfig;

काम करता है। धन्यवाद। मेरी त्रुटि थी: त्रुटि: प्रतीक वापस नहीं पा सकते BuildConfig.DEBUG; // ------ इसे आयात के बिना कोड में संदर्भित किया जाता है। ^ प्रतीक: चर बिल्डकॉनफिग
एमपीवी

1
एक जादू की तरह काम किया! :)
एंड्रयूहेंडर्सन

यह काम किया, लेकिन मुझे इसे मैन्युअल रूप से क्यों जोड़ना पड़ा यह एक रहस्य है। : श्रग:
माइक एस।

आपके पास मेरा समय है। बहुत बहुत धन्यवाद!!
अनिलकुमार iOS - ReactNative

2
एक चेतावनी, प्रतिक्रिया-मूल में ऐसा करने से एप्लिकेशन क्रैश हो सकता है। github.com/wix/react-native-navigation/issues/…
अनपढ़

83

जिस तरह से एंड्रॉइड को पता है कि कुछ फ़ाइलों को कैसे ढूंढना है, और कुछ फ़ाइलों को कैसे कनेक्ट करना है, AndroidManifest.xml में सेट फ़ील्ड का उपयोग करके है। चूंकि रिएक्ट नेटिव प्रोजेक्ट का डिफ़ॉल्ट सेटअप, सब कुछ के साथ संदर्भ देता है। (नाम-की-संसाधन), इसका मतलब है कि <manifest>टैग में सेट किए गए पैकेज नाम के संबंध में सब कुछ हल हो जाएगा । तो बॉक्स के बाहर काम करने के लिए सब कुछ, और उम्मीद के मुताबिक सब कुछ उत्पन्न होने के लिए, MainActivity.java के लिए रास्ता, पैकेज नाम के समान होना चाहिए।

उदाहरण:

आपके एप्लिकेशन पैकेज का नाम: com.mycompanyname.myappname

MainActivity.java का स्थान: android/app/src/main/java/com/mycompanyname/myappname/MainActivity.java


5
पैकेज का नाम "com.mycompany.myapp" मामला संवेदनशील है। आपको अपने /android/app/build.gradle में ApplicationId भी बदलना होगा
माउंटेन का एड

1
यह वास्तव में मेरा मुद्दा था, धन्यवाद। मैंने ऐप का नाम बदलने की कोशिश की थी, और कुछ जगहों पर अलग-अलग नामों के साथ समाप्त हुआ। मुझे यह सुनिश्चित करना था कि ऐप का नाम समान है और सभी निचले मामले फ़ाइल-सिस्टम फ़ोल्डर में, ऐप / build.gradle applicationId में, AndroidManifex.xml "पैकेज" विशेषता में, और MainActivity.java और MainApplication.java पर पैकेज आयात में - इसके बाद बिल्ड पास हुआ।
एलेक्सी ग्रिंको

41

मैंने इस परियोजना का पुनर्निर्माण किया react-native upgrade। मेरा मुद्दा तब था कि मेरे पास पुरानी फाइलें थीं जो पुराने पैकेज के नामों को संदर्भित कर रही थीं (क्योंकि मैंने ऐप का नाम बदल दिया था package.json)। एक बार उन्हें हटाने के बाद, मैंने इस मुद्दे को सुलझा लिया।


आपको बहुत - बहुत धन्यवाद! यह जानने की कोशिश करते हुए दिन बिताए।
डेविड बी।

पुराने AppName के साथ मेरे द्वारा डिलीट किए जाने की जरूरत है ।/android/app/src/main/java/com ..and ./ios
remo

एक आकर्षण की तरह काम किया
जसीम अब्बास

35

अपने में MainActivity.java, आप जाँच कर सकते हैं पहली पंक्ति हैpackage com.YOU_APP_NAME;

यदि यह रेखा मौजूद नहीं है, तो आपको इसे जोड़ना चाहिए।


1
मैंने अपने पैकेज का नाम बदलने की कोशिश की और यह आखिरी बात थी जिसे मैं भूल गया था! Thnx!
मैट डे स्वार्ट

3
बस संदर्भ के लिए: मुझे MainApplication.java में पैकेज का नाम बदलने की आवश्यकता है।
बारदु

15

मेरे मामले में, मैंने BUCK फाइल और मेनिफेस्ट फाइल दोनों में पैकेज का नाम बदल दिया।

BUCK फ़ाइल में, निम्नानुसार परिवर्तन करें।

android_build_config(
    name = "build_config",
    package = "NEW_PACKAGE_NAME",
)

android_resource(
    name = "res",
    package = "NEW_PACKAGE_NAME",
    res = "src/main/res", )

1
मेरी परियोजना में सभी और हर जावा फ़ाइलों में संकुल + नाम बदलने के द्वारा मेरे मामले को हल किया
एंटोनी ऑफ्रे

13

कुछ उत्तरों के संयोजन से मुझे मदद मिली, सारांश:

  • सुनिश्चित करें कि आपके जावा पैकेज के नाम सही हैं ( MainApplication.javaआदि)
  • ग्रेडेल बिल्ड फ़ाइल में पैकेज का नाम अपडेट करें
  • मेनिफ़ेस्ट फ़ाइल में पैकेज का नाम अपडेट करें
  • BUCKफ़ाइल में पैकेज का नाम अपडेट करें
  • सुनिश्चित करें कि आपके लिए जावास्क्रिप्ट स्रोतों का पथ एक फ़ोल्डर संरचना है जो आपके पैकेज के नाम से मेल खाती है

पहला बिंदु "सुनिश्चित करें कि आपके जावास्क्रिप्ट पैकेज के नाम सही हैं" - क्या हम बात कर रहे हैं package.jsonऔर 'कनेक्ट' से आपका क्या मतलब है?
नॉरफेल्ट

यह थोड़ी देर पहले ही है ... लेकिन पैकेज के नाम के साथ मेरा मतलब है कि जावा फाइलों में पहली लाइनें 'पैकेज com.yourname.yourproject' जैसी कुछ हैं
WiRa

7

यदि आपने अपना नाम बदल लिया है तो आपको bundle identifierबदलने की आवश्यकता होगी:

आपका android/app/src/main/....../MainApplication.java पैकेज और आयात

हालांकि मैं इस्तेमाल किया react-native-rename NPM पैकेज , यह कुछ फ़ाइलों का ख्याल नहीं रखा MainApplication.javaऔर MainActivity.java


6

अपग्रेड प्रतिक्रिया-मूलक ने इस त्रुटि को हल किया -

react-native upgrade

अब फिर से निर्माण -

react-native run-android

महान सुझाव हालांकि यह कुछ फ़ाइलों के लिए कुछ संशोधनों को कचरा करता है। मुझे react-native linkदेशी निर्भरता को फिर से जोड़ने के लिए फिर से दौड़ना पड़ा ।
एलियट

3

एंड्रॉइड / ऐप / src / main / java / com में हो सकने वाली पुरानी फ़ाइलों को हटा दें। बस फ़ाइल को ऐप के नए नाम के साथ रखें। फिर करते हैं react-native upgrade


0

जांचें कि क्या आपने प्रतिक्रिया-देशी-जेस्चर-हैंडलर को स्थापित करने में चूक की है।

सूत के साथ

यार्न प्रतिक्रिया-देशी-जेस्चर-हैंडलर जोड़ें

या npm के साथ

npm install --save अभिक्रिया-देशी-जेस्चर-हैंडलर

फिर

प्रतिक्रिया-देशी लिंक प्रतिक्रिया-देशी-जेस्चर-हैंडलर


0

Https://dev.to/karanpratapsingh/quick-guide-for-updating-package-name-in-react-native-3ei3 का अनुसरण करते हुए मैंने इसका अनुभव किया । मैं से अपने आवेदन का नाम बदलने गया था com.company_appकरने के लिए com.mycompany.myapp, जाहिरा तौर पर, कुछ फ़ाइलों कि मैं अभी भी अद्यतन करने की जरूरत है, लेकिन गाइड मैं पीछा कर रहा था, मुझे लगता है कि गाइड, सामान्य के लिए ही है एक ताजा प्रतिक्रिया देशी की तरह ऐप्लिकेशन में शामिल नहीं किया गया था वहाँ थे, मैं हल इसके लिए एक वैश्विक खोज करके com.company_appऔर com.mycompany.myappजब भी यह समझ में आता है, तब हर एक को प्रतिस्थापित करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.