2015-11-12 5 views
10

अक्षम करने के तरीके को मूल रूप से प्रतिक्रिया दें मैंने पढ़ा है कि एंड्रॉइड में देव मोड को अक्षम करने से एंड्रॉइड एमुलेटर के साथ कुछ मुद्दों को तेज करने में मदद मिल सकती है क्योंकि यह इस समय प्रतिक्रिया नहीं दे रहा है। मैं देव मोड को कैसे अक्षम करूं? मुझे प्रतिक्रियात्मक मूल फ़ाइलों में कहीं भी कोई बूल वैल्यू या कुछ भी नहीं मिल रहा है।एंड्रॉइड देव मोड

उत्तर

18

करते हैं और देव विकल्प का चयन करना चाहिए, वहाँ लाइव पुनः लोड जैसे अन्य विकल्पों के साथ देव मोड बंद स्विच करने का विकल्प है

+0

जब मैं एफ 2 दबाता हूं और फिर देव सेटिंग्स पर क्लिक करता हूं, तो मुझे केवल निम्न विकल्प मिलते हैं: एफपीएस डिबगिंग, एनिमेशन एफपीएस सारांश, जेएस परिवर्तन पर ऑटो रीलोड और डिवाइस के लिए डीबग सर्वर होस्ट। इनमें से कोई भी देव मोड से संबंधित प्रतीत नहीं होता है। –

+0

क्या मैं पूछ सकता हूं कि आप किस प्रतिक्रिया-मूल और एंड्रॉइड का उपयोग कर रहे हैं? मैं 0.14.2 और 5.0.1 का उपयोग कर रहा हूं –

+0

मुझे लगता है कि मैं अपने पैकेज.सन फ़ाइल से प्रतिक्रिया-मूल के संस्करण 0.12.0 का उपयोग कर रहा हूं, मुझे लगता है कि मैं 0.14 पर था। मैं नहीं देख सकता कि मेरे एंड्रॉइड के संस्करण का उल्लेख कहां है। क्या आप प्रतिक्रिया-मूल के मेरे संस्करण को अपग्रेड करने का सबसे अच्छा तरीका जानते हैं? –

0

मैं इस प्रयास नहीं किया है, लेकिन मैं यकीन है कि अगर आप निम्न फ़ाइल को खोलने हूँ ...

/node_modules/प्रतिक्रिया देशी/ReactAndroid/src/मुख्य/जावा/com/फेसबुक/प्रतिक्रिया /devsupport/DevServerHelper.java

और अगर आप इसे परिवर्तित ...

private static final String BUNDLE_URL_FORMAT = 
    "http://%s/%s.bundle?platform=android&dev=%s"; 

यह करने के लिए ...

private static final String BUNDLE_URL_FORMAT = 
    "http://%s/%s.bundle?platform=android"; 

आप प्रतिक्रिया देशी क्षुधा (F2 या क्रोध शेक) में मेनू खोलने हैं यही कारण है कि चाल

4

मैं एक साधारण gradle कमांड लाइन के साथ एपीके बनाने के तरीके को पसंद किया। मुझे बंडल प्रतिक्रिया मूल जेएस के साथ एक ऐप-प्रीप्रोड.एपीपी बनाने की आवश्यकता है और रिलीज बिल्ड से कुछ अलग एपीआई होस्टनाम सेटिंग्स सेट करने के लिए अपने देव मोड को बंद करें।

Google और stackoverflow पर दिखने के बाद, मैं PROJECT_PATH\node_modules\react-native\react.gradle ढूंढने के लिए समाप्त हुआ, और यह पता चला कि प्रतिक्रिया केवल देव मोड को बंद कर देगी जब एंड्रॉइड बिल्ड वेरिएंट नाम में "रिलीज़" होता है।

// Set up dev mode 
def devEnabled = !targetName.toLowerCase().contains("release") 
if (Os.isFamily(Os.FAMILY_WINDOWS)) { 
    commandLine "cmd", "/c", "react-native", "bundle", "--platform", "android", "--dev", "${devEnabled}", 
      "--entry-file", entryFile, "--bundle-output", jsBundleFile, "--assets-dest", resourcesDir 
} else { 
    commandLine "react-native", "bundle", "--platform", "android", "--dev", "${devEnabled}", 
      "--entry-file", entryFile, "--bundle-output", jsBundleFile, "--assets-dest", resourcesDir 
} 

तो मैं सिर्फ refactor devEnabled अपने कस्टम devInXxx

def devEnabled = config."devIn${targetName}" == false ? false : !targetName.toLowerCase().contains("release") 

स्थापित करने का पालन करें और सेट का निर्माण प्रकार PROJECT_PATH/android/build.gradle

project.ext.react = [ 
bundleInPreprod: true, 
devInPreprod: false] 

में गलत पर देव मोड वेरिएंट निर्माण को साफ करने के लिए, सभी को निकालने "PROJECT_PATH/एंड्रॉइड/ऐप/बिल्ड" के तहत फ़ाइलें और रन ग्रेड केवल

द्वारा बिल्ड संस्करण को इकट्ठा करें
PROJECT_PATH/android$ ./gradlew assemblePreprod 

जो ऐप-प्रीप्रोड.एपीके का निर्माण करेगा, जो जेएस को बंडल करेगा और देव मोड बंद कर देगा। फ़ोल्डर PROJECT_PATH/android/app/build/output/apk/

0

तुम भी npm start चलाने की कोशिश कर सकते हैं के तहत आम तौर पर, तो d प्रेस वर्तमान मोड स्विच करने के लिए, तो ctr+c द्वारा NPM रोकने के लिए और उसके बाद फिर से exp start चलाने आप वृद्धि सुविधा पर बन गया है और मोड उत्पादन हो गया मिल जाएगा।

संबंधित मुद्दे