android - समस - मोबाइल डेटा सेटिंग




आर हल नहीं किया जा सकता है-एंड्रॉइड त्रुटि (20)

मेरी परियोजना में शुरुआत में r.java.at शामिल है, R.layout.main अच्छा काम करता है। लेकिन, कुछ कोड जोड़ने के बाद यह काम नहीं करता है, और त्रुटि R.layout.main हल नहीं हो सकती है। समस्या क्या है ?

अपने आयात को देखो। संभावना है कि रेखा:

import android.R;

वहाँ पहुँच जाएगा। यदि ऐसा है, तो इसे हटा दें, ताकि आपकी प्रोजेक्ट आर को डिफ़ॉल्ट एंड्रॉइड संसाधन वर्ग के साथ हल नहीं करेगी, लेकिन आपके / res / फ़ोल्डर से स्वचालित रूप से जेनरेट की गई है।

मैंने अभी नया एंड्रॉइड एसडीके डाउनलोड और स्थापित किया है। मैं इसे ड्राइव करने के लिए एक सरल अनुप्रयोग बनाना चाहता था।

विज़ार्ड ने यह कोड बनाया:

package eu.mauriziopz.gps;

import android.app.Activity;
import android.os.Bundle;

public class ggps extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

लेकिन Eclipse मुझे त्रुटि देता है

आर हल नहीं किया जा सकता है

लाइन पर

setContentView(R.layout.main);

क्यूं कर?

पीएस: मेरे पास res/layout/ तहत main.xml नाम की एक एक्सएमएल फ़ाइल है।


अक्सर यह प्रोजेक्ट बनाने के दौरान आपके द्वारा प्रदान की गई मिनीएसडीके संस्करण संख्या के कारण होता है। उदाहरण:

यदि आप 2.1 न्यूनतम होना चाहते हैं, तो एंड्रॉइड 2.1 वास्तव में एपीआई लेवल 7 है।

जब आप डाउनलोड और स्थापित एसडीके ब्राउज़ करते हैं तो आप देख सकते हैं कि मैं किस बारे में बात कर रहा हूं। उस स्थान पर नेविगेट करें जहां आपने एसडीके को स्थापित किया है (उदाहरण के लिए C:\android-sdk-windows ) और "प्लेटफॉर्म" नामक फ़ोल्डर खोलें। आपको फ़ोल्डर के रूप में सूचीबद्ध "एंड्रॉइड -7" जैसा कुछ दिखाई देगा, और यदि आप खोलते हैं कि एक source.properties फ़ाइल है, जो एक टेक्स्ट एडिटर के साथ खोला जाता है, तो आपको संबंधित प्लेटफॉर्म संस्करण दिखाएगा।

जब आप कोई प्रोजेक्ट बनाते हैं, और आपको "बिल्ड लक्ष्य" एपीआई चुननी होगी, तो "एपीआई लेवल" नामक उस सूची में अंतिम कॉलम उस नंबर को दिखाता है जो आप MinSDK सेटिंग को पॉप्युलेट करते समय ढूंढ रहे हैं।

यह शायद सबसे आम गलतियों में से एक है R.java फ़ाइल प्रोजेक्ट> जेन> पैकगेनेम> आरजेवा के तहत नहीं बनाई जा रही है।


आपको एसडीके उपकरण अपडेट करने की आवश्यकता हो सकती है। एंड्रॉइड एसडीके प्रबंधक को फिर से लॉन्च करें और एक नया आइटम इंस्टॉल करें: एंड्रॉइड एसडीके बिल्ड-टूल्स।


आपको एसडीके टूल्स को अपडेट / इंस्टॉल करने की आवश्यकता हो सकती है। एंड्रॉइड एसडीके प्रबंधक को फिर से लॉन्च करें और एक नया आइटम इंस्टॉल करें: एंड्रॉइड एसडीके बिल्ड-tools.one एक डिलीट करके, यह तय करें कि आपके लिए कौन सा काम है।


इस समस्या को भी ट्रैक करने के बाद, मुझे एंड्रॉइड दस्तावेज में यह नोट मिला:

http://source.android.com/source/using-eclipse.html

* नोट: ग्रहण कभी-कभी संसाधनों का उपयोग करने वाली फ़ाइलों के शीर्ष पर "आयात android.R" कथन जोड़ना पसंद करता है, खासकर जब आप ग्रहण को सॉर्ट करने या अन्यथा आयात करने के लिए कहें। यह आपके ब्रेक को तोड़ने का कारण बन जाएगा। इन गलत आयात विवरणों के लिए देखो और उन्हें हटा दें। *

एंड्रॉइड नमूना ट्यूटोरियल्स के माध्यम से जाने के दौरान, मैं अक्सर "आयात आयात" करने के लिए Ctrl + Shift + O कमांड का उपयोग करता हूं और किसी भी अनुपलब्ध आयात विवरण उत्पन्न करता हूं। कभी-कभी यह गलत आयात विवरण उत्पन्न करेगा जो R.java क्लास को R.java जो आपके द्वारा बनाए जाने पर स्वचालित रूप से जेनरेट किया जाता है।


एक्सएमएल फ़ाइल नामों की जांच करें। सुनिश्चित करें कि वे सब लोअरकेस में हैं।

यह भी सुनिश्चित करें कि किसी भी छवि संसाधन नाम सभी को कम मामले में भी हैं। मेरे पास मेरी जेपीजी फ़ाइल के नाम पर एक पूंजी पत्र था, और इसने मेरी परियोजना में आर अनसुलझा त्रुटि उत्पन्न की।


क्या कहा जाएगा सही था

आर एक स्वचालित रूप से जेनरेट किया गया वर्ग है जो आपके> संसाधनों की पहचान करने के लिए उपयोग किए जाने वाले स्थिरांक रखता है। यदि आपके पास आरजेजा फ़ाइल नहीं है (यह 1.5 एसडीके के साथ ग्रहण में> gen / eu.mauriziopz.gps / R.java होगा) मैं आपकी परियोजना को बंद करने और फिर से खोलने की सलाह दूंगा या> परियोजना> सभी को बनाएं (और "जोसेफ द्वारा अनुशंसित" के दौरान "स्वचालित रूप से बनाएं" का चयन करें। यदि यह एक नई परियोजना बनाने की कोशिश करने से काम नहीं करता है, अगर समस्या फिर से पोस्ट की गई है> पोस्ट करें और हम अधिक विस्तार से जाएंगे।

लेकिन मुझे पता चला है कि एक और समस्या थी जो पहली बार पैदा कर रही थी। एसडीके निर्देशिका में औजारों को निष्पादित करने की अनुमति नहीं थी, इसलिए यह ग्रहण के लिए अस्तित्व में नहीं था, इस प्रकार यह R.java फ़ाइल नहीं बना।

इसलिए अनुमति को संशोधित करना और "स्वचालित रूप से बनाएं" का चयन करना समस्या हल हो गई।


जब भी आपको मिलता है

आर हल नहीं किया जा सकता है

फिर /res निर्देशिका की जांच करें और वहां कुछ फ़ाइल होनी चाहिए जिसमें इसमें कुछ त्रुटि हो और वह एप्लिकेशन को बनाए जाने से रोक रहा हो। उदाहरण के लिए, यह एक लेआउट फ़ाइल हो सकती है या यह कुछ गायब संसाधनों के कारण हो सकती है, लेकिन आपने इसे पहले से ही XML फ़ाइल में परिभाषित किया है।

यदि आपके पास res / drawables-mdpi जैसे फ़ोल्डर में कोई अतिरिक्त, यहां तक ​​कि अप्रयुक्त (!) या अप्रतिबंधित (!) छवियां हैं जो फ़ाइल नामकरण सम्मेलनों का पालन नहीं करती हैं (केवल [a-z0-9_।] हो सकती हैं), आर। जावा वर्ग उत्पन्न नहीं हो सकता है, जिससे घटनाओं की श्रृंखला अन्य सभी पदों को संदर्भित करती है। आशा करता हूँ की ये काम करेगा!


पिछले उत्तरों में महान सुझावों के साथ, सुनिश्चित करें कि आपका एंड्रॉइड लक्ष्य सेट है:

  1. अपनी परियोजना पर राइट-क्लिक करें
  2. गुण चुनें
  3. बाएं मेनू में एंड्रॉइड चुनें
  4. उचित परियोजना निर्माण लक्ष्य के बगल में एक बॉक्स पर निशान लगाएं।
  5. लागू करें और ठीक क्लिक करें

संपादित करें: एक साल बाद मुझे एक और कारण मिला। मेरे पास एक .ppg छवि के समान नाम वाले मेरे ड्रॉबल फ़ोल्डर में .jpg छवि थी। मेरे कोड में इस छवि को संदर्भित करने से प्रोग्राम को भ्रमित कर दिया जाना चाहिए और उसने "आर को हल नहीं किया जा सकता" त्रुटि दी।


प्रत्येक बार जब मुझे उत्पन्न नहीं किया गया था, आर उत्पन्न नहीं हुआ था, या यहां तक ​​कि गायब हो गया था, तो यह XML लेआउट फ़ाइल में कुछ समस्या के कारण था जिसने एप्लिकेशन को निर्माण से रोका था।


बस एंड्रॉइड टॉप मेनू सूची पर जाएं। बिल्ड बिल्ड पर क्लिक करें, बिल्ड के तहत पुनर्निर्माण परियोजना पर क्लिक करें।


मुझे यह समस्या भी थी। यह पता चला कि मैंने अनजाने में strings.xml फ़ाइल से "app_name" स्ट्रिंग संसाधन हटा दिया था, जो एक चुप त्रुटि उत्पन्न कर रहा था। एक बार जब मैंने इसे वापस जोड़ा, तो आर वर्ग सफलतापूर्वक उत्पन्न हुआ और सब कुछ बैक अप और चल रहा था।


मेरे पास एंड्रॉइड 8 के उदाहरण थे और एंड्रॉइड 7 एसडीके का उपयोग करने की कोशिश कर रहे थे। जब मैंने प्रोजेक्ट को बंद कर दिया और एप्लिकेशन फ़ोल्डर को दोबारा खोल दिया और एंड्रॉइड 8 एसडीके का उपयोग करना चुना, तो यह आर फाइल ढूंढने में सक्षम था। उम्मीद है की यह मदद करेगा।


मेरे मामले में, मुझे अपने AndroidManifest.xml में एक त्रुटि हुई। अन्य ने कहा है कि आपकी एक्सएमएल फाइलें त्रुटियों से मुक्त होनी चाहिए, लेकिन मैं केवल res / फ़ोल्डर में देख रहा था। कई संभावित त्रुटियों को ढूंढें और ठीक करें और समस्या स्वयं को हल कर सकती है।


यह त्रुटि मेरी x64 लिनक्स मिंट स्थापना पर फसल हो गई। यह पता चला कि परिणाम ADB बाइनरी में विफलता थी, क्योंकि ia32-libs पैकेज स्थापित नहीं किया गया था। बस apt-get install ia32-libs और ग्रहण को पुनः लॉन्च करने से त्रुटि ठीक हो गई है।

यदि आपके x64 distro में ia32-libs नहीं है, तो आपको मल्टीआर्क जाना होगा।

इस पोस्ट पर # 4 और # 5 देखें: http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883

उम्मीद है कि यह किसी की मदद करता है।


सभी फाइलें बंद करें, स्वच्छ परियोजना, ग्रहण को पुनरारंभ करें।


सुनिश्चित करें कि आपने एंड्रॉइड बिल्ड टूल फॉर्म एसडीके मैनेजर स्थापित किया है

प्रोजेक्ट राइट क्लिक गुण-> जावा बिल्डपैथ लाइब्रेरी का चयन करें और इन चरणों का पालन करें android-support.jar जोड़ें।

प्रोजेक्ट-> Properties-> जावा बिल्ड पथ पर चयन ऑर्डर और निर्यात टैब से जाएं। एंड्रॉइड-सपोर्ट सेट करें .jar लाइब्रेरी ने इसे सूची के शीर्ष पर चेक किया है। और साफ और पुनर्निर्माण .. यह ज्यादातर मामलों के लिए काम करता है


AndroidManifest.xml में जांचना उचित है। विशेषता package में सही मान है।

अर्थात्:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="your.correct.package.name"
   ...

इसे बदलने के बाद, R.javaR.java फिर से उत्पन्न किया जाएगा।



main.out.xml निकालें। मैं इसके लिए नया हूं और अभी तक यह नहीं जानता कि इस फ़ाइल का क्या उपयोग किया जाता है, लेकिन इसे हटाने से समस्या को मंजूरी मिलती है।





android-sdk-tools