আর সমাধান করা যায় না - অ্যান্ড্রয়েড ত্রুটি


1070

আমি সবেমাত্র নতুন অ্যান্ড্রয়েড এসডিকে ডাউনলোড এবং ইনস্টল করেছি। এটিকে ড্রাইভ পরীক্ষা করার জন্য আমি একটি সাধারণ অ্যাপ্লিকেশন তৈরি করতে চেয়েছিলাম।

উইজার্ড এই কোডটি তৈরি করেছে:

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);
    }
}

তবে গ্রহনটি আমাকে ত্রুটি দেয়

আর সমাধান করা যায় না

লাইনে

setContentView(R.layout.main);

কেন?

দ্রষ্টব্য: আমি একটি XML নামের ফাইল আছে main.xmlঅধীনে res/layout/


যারা এখনও গ্রহণের সাথে কিছু সমস্যা অনুভব করছেন তারা আর.জেবা আপডেট / জেনারেট করতে সক্ষম হচ্ছেন না। একটি সম্ভাব্য সমাধান হ'ল ডামি এক্সএমএল তৈরি করে কেবল সেই এক্সএমএল মুছুন। আমার ক্ষেত্রে এটি সমাধান
ড্যানিল

সত্যিই, এটি এত নির্বোধ শোনায় (এবং এটি হ'ল), তবে AndroidManLive.xML পরিবর্তন করে, সেই সম্পাদনাটি পূর্বাবস্থায়িত করা, তারপরে ফাইলটি সংরক্ষণ করা আমার পক্ষে কাজ করে। আমি এর পরে যদি প্রকল্পটি পরিষ্কার করি তবে তা আবার ভেঙে যায়। এবং এই সমস্ত সময় আমি ভেবেছিলাম এক্সকোডই একমাত্র আইডিই যার মধ্যে এই ধরণের রহস্যজনক ত্রুটি ছিল।
iwasrobbed

3
আপনি কি প্রকল্প -> অ্যান্ড্রয়েড সরঞ্জাম -> প্রকল্প সেটিংস ঠিক করতে প্রকল্পে ডান ক্লিক করার চেষ্টা করেছেন?
সের্গেই

6
দয়া করে আপনার এক্সএমএল লেআউট ফাইলটি পরীক্ষা করুন, যদি এক্সএমএল-তে কোনও ত্রুটি হয় আপনি আর.জেবা জেনারেট করতে পারবেন না, এবং ত্রুটিটি বুলিড এবং ক্লিন করার পরেও আসে।
swiftBoy

1
মাত্র একটি টিপ: যখন আমি গ্রহ থেকে আইডিই অ্যান্ড্রয়েড স্টুডিওতে স্যুইচ করেছিলাম তখন এটি আমার কাছে ঘটতে থামল।
মাতা

উত্তর:


840

পাশাপাশি এই সমস্যাটি সনাক্ত করার পরে, আমি এই নোটটি অ্যান্ড্রয়েড ডকুমেন্টেশনে পেয়েছি:

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

* দ্রষ্টব্য: গ্রহন কখনও কখনও আপনার ফাইলগুলির শীর্ষে একটি "আমদানি অ্যান্ড্রয়েড.আর" বিবৃতি যুক্ত করতে পছন্দ করে যা সংস্থানগুলি ব্যবহার করে, বিশেষত যখন আপনি যখন গ্রহপকে আমদানি বাছাই করতে বা অন্যথায় পরিচালনা করতে বলেন। এটি আপনার মেক ভাঙ্গা সৃষ্টি করবে । এই ত্রুটিযুক্ত আমদানির বিবরণগুলি সন্ধান করুন এবং সেগুলি মুছুন *

অ্যান্ড্রয়েড নমুনা টিউটোরিয়ালগুলির মধ্য দিয়ে যাওয়ার সময়, আমি প্রায়শই "আমদানিগুলি সংগঠিত" করতে এবং কোনও অনুপস্থিত আমদানির বিবৃতি উত্পন্ন করতে Ctrl+ Shift+ Oকমান্ডটি ব্যবহার করতাম । কখনও কখনও এটি ভুল আমদানির বিবৃতি উত্পন্ন করবে যা R.javaআপনার তৈরির সময় স্বয়ংক্রিয়ভাবে উত্পন্ন শ্রেণীর গোপন করবে ।


32
এটি একই সাথে ঘটে থাকে তবে একটি বাংগ আপ লেআউট ফাইলও এর কারণ হতে পারে।
GHz

113
এই ক্লাসিক বাগটি বছরের জন্য Eclipse এ ছিল এবং কখনই স্থির হয় না। সংখ্যাগরিষ্ঠ মানুষ এই একই সমস্যার মুখোমুখি হন।
ক্যারল

52
গ্রহপ বিকাশকারীগণ, দয়া করে এই $ £% & "$ & / বাগ! গুগল বিকাশকারীদের সরান, দয়া করে আইফোনটির জন্য আমাকে এক্সকোডের মতো একটি £ $ & &%"% ও অ্যান্ড্রয়েড স্যুট দিন!
আব্রামোদজ

18
@ 2-স্ট্রোকার: এটি একটি বাগ। আমার কাছে যখন ঘটেছিল আমি যখন গ্রহগ্রহ উইজার্ডের মাধ্যমে একটি নতুন শাখা প্রকল্প তৈরি করেছি এবং এটি 'আর সমাধান করা যায় না' সম্পর্কে অভিযোগ করেছিল। আমাকে সেট কনটেন্টভিউ এবং getMenuInflater লাইনগুলি মন্তব্য করতে হয়েছিল এবং তারপরেই গ্রহপণটি আর.জেভা উত্পন্ন করেছিল যার পরে আমি সেট কনটেন্টভিউ এবং মেনুআইনফ্লেটারকে আপত্তিহীন করতে পারি। আব্রামোদ ঠিক বলেছেন, আপনার 'হ্যালো ওয়ার্ল্ড' উদাহরণটি সংকলন না করলেও পরিবেশের মারাত্মক সমস্যা রয়েছে। গুগল ঠিক করুন!
সিএফ_মিনিটেনার

5
গুগল কীভাবে eclipse.org তহবিল এই ধরণের আইটেম পেতে দেয় না?
ক্রিস

391

প্রতিবার আমার যখন আর এর সাথে সমস্যা তৈরি হয়েছিল তখনই উত্পন্ন হয়নি, এমনকি অদৃশ্য হয়ে গেছে, এটি এক্সএমএল লেআউট ফাইলে কিছু সমস্যার কারণে এটি অ্যাপ্লিকেশনটি তৈরি হতে বাধা দিয়েছে।


21
এই জন্য +1। আমার প্যারেন্ট = "অ্যান্ড্রয়েড: উইন্ডোটিটলব্যাকগ্রাউন্ড" সহ একটি পুরানো স্টাইলস.এক্সএমএল ফাইল ছিল এবং এটি আমার বিল্ডটি ভেঙে ফেলেছিল এবং "জেন" তে উত্পন্ন কোনও কিছু রোধ করছিল। ত্রুটিটি আসলে কনসোল উইন্ডো ব্যতীত রিপোর্ট করা হয়নি ঠিক যখন আমি প্রথম প্রকল্পটি খুললাম।
স্কট পার্সিংগার

12
ঠিক যদি আপনি অন্য প্রকল্প থেকে লেআউট অনুলিপি করে থাকেন এবং এটি পেয়ে থাকেন তবে অনুপস্থিত ড্রয়যোগ্যদের সন্ধান করেন - এটি তাত্ক্ষণিকভাবে ঠিক করে দেবে!
গ্যাবর

4
আমার থেথহ আমার একই সমস্যা আছে, লেআউটগুলির মধ্যে কোনও একটিকে ডাইনী জানার কোনও উপায় আছে?
সার্জি কুচার

3
হ্যাঁ, আমি একটি অঙ্কনযোগ্য ফাইল অনুপস্থিত ছিল এবং এটি আর ফাইলটিকে উত্পন্ন হতে বাধা দিয়েছে। অদ্ভুত বিষয়টি হ'ল আমার একটি মেনু রিসোর্সে একটি android:icon="@drawable/XXX"ঘোষণা ছিল <item>, কিন্তু কোনও লাল স্কুইগল ছিল না যে ইঙ্গিত দেয় যে অঙ্কনীয় উত্স XXX খুঁজে পাওয়া যায় নি। অন্যান্য ক্ষেত্রে, "@drawable/YYY" ছিল যখন YYY পাওয়া যায়নি পতাকাঙ্কিত, কিন্তু এই ক্ষেত্রে নয়। কিছু কারণে.
টেলর

5
হ্যাঁ, দুর্দান্ত সমাধান। যখন কেউ এই ত্রুটিটি পায় .. অনেকবার সমস্ত লেআউট ফাইলগুলিকে ত্রুটিযুক্ত হিসাবে চিহ্নিত করা হয় .. এটি কারণ তারা সমস্ত আর খুঁজছেন them আমার ক্ষেত্রে, একটি অনুপস্থিত অঙ্কনীয়।
টড পেন্টন

201

আপনি যখনই পাবেন

আর সমাধান করা যায় না

তারপরে /resডিরেক্টরিটি পরীক্ষা করুন এবং সেখানে অবশ্যই কিছু ফাইল থাকতে হবে যাতে এতে কিছু ত্রুটি রয়েছে এবং এটি অ্যাপ্লিকেশনটি তৈরি হতে বাধা দিচ্ছে। উদাহরণস্বরূপ, এটি একটি লেআউট ফাইল হতে পারে বা এটি কিছু অনুপস্থিত রিসোর্সের কারণে হতে পারে তবে আপনি এটি XML ফাইলে ইতিমধ্যে সংজ্ঞায়িত করেছেন।

আপনার যদি কোনও অতিরিক্ত, অব্যবহৃত (!) বা অবিকৃত (!) চিত্র যেমন রেস / ড্রয়যোগ্য-এমডিপিআই যেমন ফাইলে নামকরণের কনভেনশনগুলি মেনে চলে না (কেবলমাত্র [a-z0-9_] থাকতে পারে), তবে আর জাভা ক্লাসটি উত্পন্ন হতে পারে না, যা অন্যান্য সমস্ত পোস্টগুলিতে উল্লেখ করা ইভেন্টগুলির শৃঙ্খলা সৃষ্টি করে। আশা করি এটা সাহায্য করবে!


নমুনা এপিডেমোস নিয়ে আমার এই সমস্যা ছিল। স্ট্রিং.এক্সএমএল ফাইলে কিছু অনুপস্থিত রিসোর্স। এক্সিএমএল ত্রুটিটি ইক্লিপসের কনসোলে তালিকাবদ্ধ রয়েছে।
লেমোটডিট

ধন্যবাদ! এটি আমার সমস্যা ছিল, আমার একটি লেআউট ছিল যা ভুল হয়ে গিয়েছিল তবে এটি সম্পর্কে কোনও বার্তা নেই।

29
আপনি কীভাবে ত্রুটিগুলি পরীক্ষা করতে পারেন? বিল্ডিং / চলমান অবস্থায় আমার কনসোলটিতে আমি কিছুই পাই না
ভিনসেন্ট

4
কীভাবে এক্সএমএল ফাইলটি ত্রুটির কারণ হয় তা সন্ধান করবেন? গ্রহনটি তাদের চিহ্নিত করে না!
ইয়ার

1
আমার এইচডিপিআই ফোল্ডারে একই নামের 2 টি চিত্র ছিল (পিএনজি সহ 1 টি এবং জেপিজি ফর্ম্যাট সহ 1 টি) মুছে ফেলার ফলে তাদের 1 টি সমস্যার সমাধান করেছে
হাসিব যাদুন

134

আমার প্রকল্পে একটি আর.জভা.এট শুরু করা আছে, আর.লাইআউট.মেন ভাল কাজ করে ut ?

আপনার আমদানি দেখুন। সম্ভাবনা হ'ল লাইন:

import android.R;

আমি সেখানে থাকব. যদি এটি হয় তবে এটি সরিয়ে ফেলুন, যাতে আপনার প্রকল্পটি আর-কে ডিফল্ট অ্যান্ড্রয়েড রিসোর্স ক্লাস দিয়ে নয়, তবে আপনার / রেজোল্ট / ফোল্ডার থেকে স্বয়ংক্রিয়ভাবে উত্পন্ন একের সাথে সমাধান করবে।


5
ধন্যবাদ @ দিমিতর, এটি আমার সমস্যাটিকে স্থির করেছে! গ্রহন এবং স্বয়ংক্রিয়-আমদানি বৈশিষ্ট্যটি স্বয়ংক্রিয়ভাবে সেই আমদানি লাইনটি যোগ করে আমাকে পেয়েছে বলে মনে হয়।
স্টিভেন

7
আমিও অনুরূপ বিষয় যখন আমি বড় হাতের অক্ষরে ব্যবহার করে একটি বিন্যাস নামে ছিল
ট্রাভিস

এটি লোকেদের "আর পাওয়া যায় নি" শীর্ষ 5 কারণগুলির মধ্যে একটি। আমি নীচে লিঙ্কে প্রধান 5 দেখায় এমন চিত্র সহ একটি সমস্যা / সমাধান পৃষ্ঠা সংকলন করেছি। সত্যই আশা করি তালিকাটি লোকেদের সহায়তা করে কারণ এটি একটি সাধারণ সমস্যা। spragucm.wordpress.com/2014/05/13/…
ক্রিস স্প্রাগ

আর কে অপসারণের পরে, কিছু জায়গায় আর শ্রেণি হিসাবে ব্যবহৃত হয় এবং এখন ত্রুটি দিচ্ছে, কীভাবে এটি সমাধান করবেন?
নরেন্দ্র জাগি 24'15

96

এবং অন্য একটি জিনিস যা এই সমস্যার কারণ হতে পারে:

আমি নতুন এডিটি ইনস্টল করেছি (v 22)। এটি genএতে অন্তর্ভুক্ত ফোল্ডার তৈরি করা বন্ধ করে দিয়েছে R.java। সমাধানটি ছিল অ্যান্ড্রয়েড এসডিকে পরিচালক থেকে নতুন অ্যান্ড্রয়েড এসডিকে বিল্ড সরঞ্জাম ইনস্টল করা।

সমাধান এখানে পাওয়া যায়


নিজেও। এবং যখন আমি এসডিকে পরিচালককে বেছে নেব, দেখুন এবং দেখুন, বিল্ড সরঞ্জামগুলি ইনস্টল করার জন্য স্বতঃ-চেক আপ প্রদর্শন করে, এটি ইনস্টল করা হয়নি এমন একটি নোট সহ ! কি দেয়???
ডেভিড হটস্পট অফিসে

আমারও একই প্রশ্ন ছিল. আপনি এটি ভাগ করে নিয়ে আমি খুব আনন্দিত। আমি আমার নিজস্ব কোড থেকে দু'দিন ত্রুটি দেখেছি। আমি গুগলকে খুব ডায়াপাইসড করেছি, কারণ এই ত্রুটি বার্তাটি সমাধান করা খুব কঠিন, তবে এটি নিজের ত্রুটির কারণে ঘটেছে, যদিও সরঞ্জামগুলি এর কারণ কী তা সঠিকভাবে রিপোর্ট করে না। আমি আমার প্রকল্পে একই সময় পরিবর্তন করেছি তাই আমি ভেবেছিলাম এটি আবার আমার দোষ।
রেইজো কোরহোনেন

5
আমার জন্য কাজ, ধন্যবাদ! এটি কেবল আমার মন্ত্রকে শক্তিশালী করে: "বিকাশের সময় কোনও কিছুই আপডেট করবেন না"।
রদ্রিগো ডায়াস

আমি উত্তরটি খুঁজতে চেয়েছিলাম তবে আমার পক্ষে কিছুই কার্যকর হয়নি। আমি মনে করি এটি একটি গ্রহন বা এসডিকে সমস্যা ছিল। সুতরাং আপনি যেমনটি বলছেন, আমি কেবল পূর্বগ্রাহী বান্ডিলটি মুছুন এবং এটি পুনরায় ইনস্টল করব। এবং তারপরে এটি কাজ করছে। আপনার উত্তরটি সহায়তা করা হয়েছিল
নবীনদের

আমার ক্ষেত্রে এই সমস্যা ছিল! আর ত্রুটিটি সংশোধন করার চেষ্টা করে, উল্লেখগুলি যুক্ত করা / অপসারণ এবং অন্য বিকল্পগুলি চেষ্টা করে একদিন নষ্ট করা। মাই এটিডিটির একটি নতুন নতুন সেটআপ, এবং একটি নতুন অ্যান্ড্রয়েড প্রকল্প তৈরি এবং এখনও ত্রুটি পাচ্ছিল। অবশেষে দেখা গেল, আমাকে অ্যান্ড্রয়েড এসডিকে সরঞ্জাম, অ্যান্ড্রয়েড এসডিকে প্ল্যাটফর্ম সরঞ্জাম এবং এসডিকে বিল্ড সরঞ্জামগুলির সমস্ত উপলভ্য আপডেট ইনস্টল করতে হয়েছিল: পি
সৌরভ কুমার

87

R.javaআপনার অ্যাপ্লিকেশনটি তৈরি করার সময় অ্যান্ড্রয়েড এক্সপ্লিপ প্লাগইনগুলি এমন একটি ফাইল তৈরি করে। R.java"জেন" ডিরেক্টরিতে তৈরি করা হয়। "ফাইল" ডিরেক্টরিতে তথ্য থেকে এই ফাইলটি তৈরি করা হয়েছে। আপনি যদি গ্রহন মেনুতে "প্রকল্প" -> "ক্লিন ..." নির্বাচন করেন, এটি R.javaফাইলটি সরিয়ে এবং তারপরে পুনরায় জেনারেট করবে ।

আপনি যখন AndroidManifest.xmlফাইলটিতে আপনার প্যাকেজের নাম পরিবর্তন করেন তখন "R সমাধান করা যায় না" সমস্যাটি ঘটে । "জেন" ডিরেক্টরিতে এটি R.javaফাইল সঞ্চয় করে সেখানে একটি সাব-ডিরেক্টরি তৈরি করতে এটি আপনার অ্যান্ড্রয়েড প্যাকেজ নামটি ব্যবহার করে ।

গ্রহণের ক্ষেত্রে ক্লিন কার্যকর করতে সমস্যা হতে পারে, কারণ R.javaআপনি যখন অ্যান্ড্রয়েড প্যাকেজটির নাম পরিবর্তন করেছেন তখন ফাইলটি কোথায় তা নিয়ে বিভ্রান্তি রয়েছে । আপনি genআপনার নতুন প্যাকেজের নামের সাথে মিল রাখতে সাবডিরেক্টরির নাম পরিবর্তন করতে পারেন, বা আপনি নিজের প্যাকেজের নামটি পুরানো নামে ফিরিয়ে দিতে পারেন। পরিষ্কার করুন এবং তারপরে প্যাকেজটির নামটি আপনি চান নতুন নামে পরিবর্তন করুন। আপনি প্যাকেজের নাম পরিবর্তন করার সময় যদি Eclipse তৈরির চেষ্টা করা থেকে বিরত থাকেন তবে এটি সেরা কাজ করে। "প্রকল্প" মেনু এর অধীনে "স্বয়ংক্রিয়ভাবে বিল্ড করুন" বিকল্পটি চেক করুন এবং যখন "ক্লিন ..." ডায়ালগটি জিজ্ঞাসা করে যে এটি "অবিলম্বে একটি বিল্ড শুরু করা উচিত" বাক্সটি আনচেক করা উচিত যাতে আপনি পরিবর্তন করার সময় এটি নির্মাণের চেষ্টা করবেন না প্যাকেজের নাম। আপনি নাম পরিবর্তন করার পরে আপনি আবার "বিল্ড স্বয়ংক্রিয়ভাবে" চালু করতে পারেন।

মনে রাখবেন যে আপনার AndroidManifest.xmlফাইল প্যাকেজের নাম যদি আপনার জাভা প্যাকেজের নামের সাথে মেলে না, তবে গ্রহপস স্বয়ংক্রিয়ভাবে একটি "আমদানি <আপনার অ্যান্ড্রয়েড প্যাকেজ নাম> .আর;" যোগ করে শেষ হবে; আপনার সমস্ত .javaফাইলে লাইন যা র এর সাথে কোনও রেফারেন্স রয়েছে you আপনি যদি আপনার AndroidManifest.xml প্যাকেজের নাম পরিবর্তন করেন , কখনও কখনও গ্রহপ এই সমস্ত যুক্ত আমদানি আপডেট করে না। যদি তা ঘটে থাকে তবে আপনার জাভা ফাইলগুলির মধ্যে একটিতে আমদানি বিবৃতিটি আপনার নতুন প্যাকেজের নামে পরিবর্তন করতে Eclipse refactoring ( ALT+ Shift+ R) ব্যবহার করুন AndroidManifest.xml। আপনি "বিল্ড স্বয়ংক্রিয়ভাবে" অক্ষম করার সময় এটি করা ভাল।


21
দেখে মনে হচ্ছে এটি কোনও কাটা এবং পেস্টের মতো উল্লেখ নেই
কেসব্যাশ

1
একাধিক অনুলিপি / ফাইলের পেস্ট এবং নাম সংশোধনকারী একই সমস্যার দিকে নিয়ে যায়, সমস্ত ফাইলের নাম এবং বিষয়বস্তু ঠিক আছে were প্রকল্পটি পরিষ্কার করা হচ্ছে, আর.জ্যাভাকে ম্যানুয়ালি মুছে ফেলা এবং সমস্ত আমদানি শিরোনাম, তারপরে এই আমদানি শিরোনামগুলি পুনরায় তৈরি করা (এখনও সিটিআরএল + শিফট + ও সহ) ভাল কাজ করেছে।
হর্নেটবেজ

এটি আমার পক্ষে কাজ করেছে। আমি ম্যানিফেস্টে প্যাকেজের নাম পরিবর্তন করেছিলাম। সঠিক আমদানি যুক্ত করতে আমাকে উত্পন্ন আর শ্রেণীর মানগুলিকে রেফারেন্সযুক্ত ক্লাসগুলিতে সিটিআরএল-শিফট-ও ব্যবহার করতে হয়েছিল।
চক ক্রুটসিংগার

এটি আমার জন্য এটি স্থির করে দিয়েছে। পূর্বে আমদানি সমস্যাটি ঘটেছিল দেখেছি, তবে এবার ইস্যুটি ম্যানিফেস্টে থাকা প্যাকেজের নামটি এসআরসি ফোল্ডারে প্যাকেজের নামের সাথে মেলে না।
জিম রেঞ্জ

আমার আবেদনে আমার দুটি কার্যক্রম ছিল। আর এর বিপরীতে উত্পাদিত একটির আলাদা আলাদা প্যাকেজের নাম ছিল। আমাকে আর ম্যানুয়ালি এমন কিছু ব্যবহার করে আমদানি করতে হয়েছিলimport com.example.main.package.name.R;
অলিভার মুরান

85

উইল যা বলেছিলেন তা সঠিক ছিল

আর একটি স্বয়ংক্রিয়ভাবে উত্পন্ন শ্রেণি যা আপনার> সংস্থানগুলি সনাক্ত করতে ব্যবহৃত ধ্রুবককে ধরে রাখে। আপনার যদি আর.জেভা ফাইল না থাকে (এটি 1.5 / এসডিকে সঙ্গে গ্রহন (Gen / eu.mauriziopz.gps / R.java হবে> 1.5 এসডিকে গ্রহন)) আমি আপনার প্রকল্পটি বন্ধ এবং পুনরায় খোলার বা> প্রকল্প> সমস্ত বিল্ড করার পরামর্শ দিচ্ছি (এবং সেখানে> জোসেফের প্রস্তাবিত অনুসারে "বিল্ড স্বয়ংক্রিয়ভাবে" নির্বাচন করা)। এটি যদি নতুন প্রকল্প তৈরি করার চেষ্টা না করে কাজ করে, যদি সমস্যাটি আবার> পোস্টের চেয়ে আবার তৈরি করা হয় এবং আমরা আরও বিশদে যাব।

তবে আমি জানতে পেরেছি যে আরও একটি সমস্যা ছিল যা প্রথমটির কারণ হয়েছিল। এসডিকে ডিরেক্টরিতে থাকা সরঞ্জামগুলিতে মৃত্যুদন্ড কার্যকর করার অনুমতি ছিল না, সুতরাং এটি গ্রহনের জন্য উপস্থিতির মতো ছিল না, সুতরাং এটি R.javaফাইলটি তৈরি করে নি ।

সুতরাং অনুমতিটি সংশোধন করে এবং "স্বয়ংক্রিয়ভাবে বিল্ড" নির্বাচন করা সমস্যার সমাধান করে।


@ জিগনেশ - cd $ANDROID_SDK_ROOT/build-tools/<version>। তারপর chmod a+xফাইল পছন্দ হয় তার উপর aapt, aidl, dexdump, dx, ইত্যাদি ANDROID_SDK_ROOTআপনার পরিবেশ নিশ্চিত করে নেওয়া উচিত, এবং এটি আপনার SDK এর ইনস্টলেশন নির্দেশ করবে। উদাহরণস্বরূপ /opt/android-sdk,। উভয় সেট করা এটি গুরুত্বপূর্ণ ANDROID_SDK_ROOTএবং ANDROID_NDK_ROOTকারণ অ্যান্ড্রয়েড সরঞ্জামগুলি এগুলি অভ্যন্তরীণভাবে ব্যবহার করে। দেখুন NDK নির্দেশিকা সুপারিশকৃত? এনডিকে ব্যবহারকারীর তালিকায়।
jww

@ লুইস .. আমি ইতিমধ্যে "বিল্ড স্বয়ংক্রিয়ভাবে" নির্বাচন করেছি তবে ত্রুটি এখনও আছে।
d_ অজ্ঞাত

39

আর একটি স্বয়ংক্রিয়ভাবে উত্পন্ন শ্রেণি যা আপনার সংস্থানগুলি সনাক্ত করতে ব্যবহৃত ধ্রুবকগুলি ধরে রাখে। আপনার যদি আর.জেভা ফাইল না থাকে (এটি 1.5 / এসডিকে দিয়ে একলাসে জেন / eu.mauriziopz.gps / আর. জাভা হবে) আমি আপনার প্রকল্পটি বন্ধ এবং পুনরায় চালু করতে বা প্রকল্প> সমস্ত বিল্ড (এবং বিল্ডে যাওয়ার পরামর্শ দিচ্ছি) সেখানে জোসেফের প্রস্তাবিত অনুযায়ী "বিল্ড স্বয়ংক্রিয়ভাবে" নির্বাচন করা)। যদি এটি নতুন প্রকল্প তৈরি করার চেষ্টা না করে কাজ করে, যদি সমস্যাটি এখানে পোস্টের চেয়ে আবার তৈরি করা হয় এবং আমরা আরও বিশদে যাব।


8
এটি আমার পক্ষে কাজ করেছিল তবে আমাকে প্রথমে "প্রকল্প -> ক্লিন ..." করতে হয়েছিল।
ম্যাট কনলি

27

সমস্ত ফাইল বন্ধ করুন, ক্লিন প্রজেক্ট, পুনরায় সূচনা Eclipse।


23
+1 তবে কখনও কখনও এটির জন্য 3 গ্রহন পুনরায় আর্টস এবং 7 টি প্রকল্পের মাঝখানে ক্লিন প্রয়োজন। কেবল চেষ্টা চালিয়ে যান ;-) #ant
ম্যাথিয়াস বাউচ

3
এটিকে স্পর্শ করে (সম্পাদনা + সংরক্ষণ করুন)। XML ফাইলগুলি (স্ট্রিং.এক্সএমএল ...) মিশিয়ে দিন।
আলী শাকিবা 23'12

24

এটি চেক ইন মূল্য AndroidManifest.xml। বৈশিষ্ট্যের packageসঠিক মান রয়েছে।

এটাই:

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

আপনি এটি পরিবর্তন করার পরে, R.javaপুনরায় উত্পন্ন হবে।


আমার আসল প্যাকেজের নাম com.xxxxxdroid.router। আমি আমার অ্যাপ্লিকেশন com.xxxxxdroid2.router এর একটি নতুন সংস্করণ তৈরি করেছি। এটি করা হয়ে গেলে আমাকে AndroidManLive.xML এ প্যাকেজের নামটি আপডেট করতে হয়েছিল, তবে এরপরেই আমি পুরানো ক্লাসগুলি অনুলিপি করে কপি করতে শুরু করেছিলাম। পয়েন্টারের জন্য ধন্যবাদ!
ইউজিন ভ্যান ডার মেরভে

এটি আমার সমস্যা সমাধান করেছে, আমি একটি এক্সএমএল ফাইলে কাজ করছিলাম, খুশি আমি মনে করি কোনটি, আমি তাদের প্রচুর পরিমাণে পেয়েছি ... ধন্যবাদ ...
GHz

19

আপনার প্যাকেজটির রুট নেমস্পেসের থেকে পৃথক একটি নেমস্পেসে একটি ক্রিয়াকলাপ যুক্ত করার ফলেও এই ত্রুটি ঘটতে পারে।

উদাহরণস্বরূপ, যদি com.example.myappআপনার প্যাকেজটির রুট নেমস্পেস হয় , তবে আপনি পরে com.example.myapp.activitiesনামের জায়গাতে একটি ক্রিয়াকলাপ যোগ করতে পারেন ।

এটি "আর সমাধান করা যায় না" ত্রুটি উত্পাদন করে।

আপনার ক্রিয়াকলাপের ডিফল্ট নেমস্পেসে আমদানি ঠিক করতে এই হওয়া উচিত:

import com.example.myapp.R;

এটি আমাকে সহায়তা করেছিল, আমি আমার ক্রিয়াকলাপগুলি রুটের নীচে প্যাকেজে সরিয়ে নিয়েছি, আমদানি হিসাবে রুট প্যাকেজ যুক্ত করে (আমদানি com.example.myapp.R;) সমস্যার সমাধান করে।
eageranalyst

19

পূর্ববর্তী উত্তরের দুর্দান্ত পরামর্শের পাশাপাশি আপনার অ্যান্ড্রয়েড লক্ষ্য সেট করা আছে তা নিশ্চিত করুন:

  1. আপনার প্রকল্পে ডান ক্লিক করুন
  2. সম্পত্তি নির্বাচন করুন
  3. বাম মেনুতে অ্যান্ড্রয়েড চয়ন করুন
  4. উপযুক্ত প্রকল্প বিল্ড টার্গেটের পাশে একটি বাক্স টিক দিন।
  5. প্রয়োগ করুন এবং ঠিক আছে ক্লিক করুন

সম্পাদনা: এক বছর পরে আমি আরেকটি কারণ পেয়েছি। আমার অঙ্কনযোগ্য ফোল্ডারে একটি .png চিত্র হিসাবে একই নামে আমার একটি .jpg চিত্র ছিল। এই কোডটি আমার কোডটিতে উল্লেখ করা অবশ্যই প্রোগ্রামটিকে বিভ্রান্ত করেছে এবং এটি "আর সমাধান করা যায় না" ত্রুটি দিয়েছে।


17

নিশ্চিত হয়ে নিন যে আপনি অ্যান্ড্রয়েড বিল্ড টুল ফর্ম এসডিকে ম্যানেজারটি ইনস্টল করেছেন

প্রোজেক্টের রাইট ক্লিক বৈশিষ্ট্য-> জাভা বিল্ডপথ লাইব্রেরি নির্বাচন করুন এবং অ্যান্ড্রয়েড-সমর্থন.জার যুক্ত করুন এই পদক্ষেপগুলি অনুসরণ করুন।

প্রোজেক্ট-> বৈশিষ্ট্যগুলিতে যান -> জাভা বিল্ড পাথ নির্বাচন করুন অর্ডার এবং রফতানি ট্যাবটির চেয়ে। অ্যান্ড্রয়েড-সমর্থন .জার লাইব্রেরিটি চেক করুন এবং এটিকে তালিকার শীর্ষে সেট করুন। এবং পরিষ্কার এবং পুনর্নির্মাণ..এটি বেশিরভাগ ক্ষেত্রে কাজ করে

এখানে চিত্র বর্ণনা লিখুন


15

আমি মিলিয়নতমবারের জন্য এই সমস্যাটি পেয়েছি এবং বুঝতে পেরেছিলাম যে এর কারণ কী: আপনার সমস্ত এক্সএমএল ফাইলের নাম /resঅবশ্যই মিলবে [a-z0-9\\._]


এছাড়াও, আমি সবেমাত্র লক্ষ্য করেছি স্ট্যাকের ওভারফ্লোতে আমাদের সমস্ত ব্যাকস্ল্যাশগুলি থেকে বাঁচতে হবে।

14

সহজ সমাধান - কখনও কখনও আপনাকে কেবলমাত্র এক্সএমএল ফাইলটি সংরক্ষণ করতে হবে যা আপনি অটো জেনারেটরটিকে কিক করার জন্য কাজ করে যাচ্ছিলেন।

ফাইলটি সংরক্ষণ করুন (যেমন মেইন.এক্সএমএল) তারপরে আর জাভা ফাইলটি মুছুন এবং দেখুন পুনরায় জেনারেটেড আর জাভা আর সমাধান সমস্যার সমাধান করে কিনা।


সত্য। কখনও কখনও এটি যদি বলে যে আপনার এক্সএমএলে কোনও সমস্যা আছে যেখানে (লাল স্কিগগ্লি লাইন বা হলুদ বিস্ময় বিন্দু) নেই, আপত্তিজনক লাইনটি মুছুন, এক্সএমএল ফাইলটি সংরক্ষণ করুন, লাইনটি আবার পেস্ট করুন এবং আবার সংরক্ষণ করুন। আপনি যদি স্বয়ংক্রিয়ভাবে বিল্ডিং না করে থাকেন তবে তার পরে আবার তৈরি করুন এবং এটি সম্ভবত কার্যকর হতে পারে। গ্রহন কখনও কখনও মূ .় হয়। :)
হটশট 309

উপরে তালিকাভুক্ত অন্যান্য উত্তর থাকা সত্ত্বেও, এটি আমার জন্য সঠিক উত্তর হিসাবে প্রমাণিত হয়েছিল। আমি প্রথমে কিছু "নমুনা কোড" সংকলন করতে গিয়ে "এপিএল খুঁজে পাচ্ছি না" বার্তাটি পেয়েছিলাম, তারপরে একটি ক্লিন তৈরি করেছিল যা একটি টন "আর কে সমাধান করতে পারে না" ত্রুটিগুলি সমাধান করে এবং তারপরে .xML ফাইলটি খোলায় এবং নিজেই ত্রুটিগুলি সংরক্ষণ করে সাফ করা হয়েছে এবং আমি সংকলন করতে পারে।
এসএক্স

এত সত্য: প্রকল্পগুলি সাফ করার পরে আর। জাভা চলে গিয়েছিল - স্ট্রিংগুলি সম্পাদনা এবং সংরক্ষণ করে x এক্সএমএল সমস্যার সমাধান করেছে।
বার্নিনলিও

12

এক্সএমএল ফাইলের নামগুলি পরীক্ষা করুন। নিশ্চিত হয়ে নিন যে তারা সবাই ছোট হাতের আড়ালে রয়েছে।

এছাড়াও নিশ্চিত করুন যে কোনও চিত্র সংস্থার নামগুলিও সমস্ত লোয়ার কেসে রয়েছে। আমার jpg ফাইলের নামে আমার একটি মূলধন পত্র ছিল এবং এটি আমার প্রকল্পের পুরোপুরি আর অমীমাংসিত ত্রুটির কারণ ঘটেছে।


এটির জন্য +1 আমার সমস্যা ছিল। আপনার ইমেজের নাম অবশ্যই রাখবেন: eicon.png eIcon.png নয়। কনসোলটি দেখে ত্রুটিটি পেয়েছি। এটি ফাইলে ভুল ফাইল নাম সহ একটি ত্রুটি
ফিরিয়েছিল

12

Rএকটি উত্পন্ন শ্রেণি। আপনি যদি অ্যান্ড্রয়েড বিকাশ সরঞ্জাম (এডিটি) ব্যবহার করেন তবে যখনই প্রকল্পটি নির্মিত হয় এটি উত্পন্ন হয়। আপনি 'বিল্ড স্বয়ংক্রিয়ভাবে' বন্ধ করে দিতে পারেন।


10

এই ত্রুটিটি আমার x64 লিনাক্স মিন্ট ইনস্টলেশনতে ক্রপ হয়েছে। দেখা গেল যে ফলাফলটি ADBবাইনারিতে ব্যর্থতা , কারণ ia32-libsপ্যাকেজ ইনস্টল করা হয়নি। সহজভাবে চলতে apt-get install ia32-libsএবং পুনরায় সূচনা করার ফলে ত্রুটিটি স্থির হয়ে যায়।

যদি আপনার এক্স 64 ডিস্ট্রোতে ia32-libs না থাকে তবে আপনাকে মাল্টিআরচ যেতে হবে।

এই পোস্টে # 4 এবং # 5 দেখুন: http://crunchbang.org/forums/viewtopic.php?pid=277883#p277883

আশা করি এটি কাউকে সাহায্য করবে।


এটি লক্ষণীয় যে আপনার যদি 64৪-বিট লিনাক্স ইনস্টলেশন থাকে তবে আপনার ia32-libs প্রয়োজন need আপনার যদি এটি না থাকে, অ্যাডবি কমান্ডটি কার্যকর করার চেষ্টা করার ফলে একটি অদ্ভুত বার্তা আসে যে এটি ফাইল বা ডিরেক্টরি খুঁজে পাচ্ছে না।
আরএস_এটল

10

আপনার এসডিকে সরঞ্জাম আপডেট / ইনস্টল করতে হতে পারে। অ্যান্ড্রয়েড এসডিকে ম্যানেজারটিকে আবার লঞ্চ করুন এবং একটি নতুন আইটেম ইনস্টল করুন: অ্যান্ড্রয়েড এসডিকে বিল্ড-টুলস.একটি মুছে ফেলা করুন, আপনার জন্য কোনটি কার্যকর তা ঠিক করুন।এখানে চিত্র বর্ণনা লিখুন


9

আপনার এসডিকে সরঞ্জাম আপডেট করার প্রয়োজন হতে পারে। অ্যান্ড্রয়েড এসডিকে ম্যানেজারটি আবার লঞ্চ করুন এবং একটি নতুন আইটেম ইনস্টল করুন: অ্যান্ড্রয়েড এসডিকে বিল্ড-সরঞ্জামগুলি।

এখানে চিত্র বর্ণনা লিখুন


8

আমি ভাল হিসাবে এই সমস্যা ছিল। দেখা গেল যে আমি অজান্তেই strings.xmlফাইল থেকে "অ্যাপ_নাম" স্ট্রিং রিসোর্সটি মুছে ফেলেছি , যা নীরব ত্রুটির সৃষ্টি করেছিল। একবার আমি এটি যুক্ত করে ফেলি, আর ক্লাসটি সফলভাবে উত্পন্ন হয়েছিল এবং সবকিছু ব্যাক আপ হয়ে চলছে।


6

আপনার নতুন এক্সএমএল লেআউট ফাইলের নাম লোয়ার কেস করার চেষ্টা করুন। উদাহরণস্বরূপ, my_file.xmlপরিবর্তে ব্যবহার করুন myFile.xml


+1 হ্যাঁ! নিশ্চিত করুন যে এটি সঠিক নামকরণের সম্মেলনগুলি অনুসরণ করেছে ... [a-z0-9_]
জেসনফ্লেহার্টি

6

তবুও আর একটি কারণ অটোজেনারেটেডR.java না হওয়ার কারণ হ'ল যদি আপনার কাছে রেজ / ড্রয়যোগ্য-এইচডিপিআই , রেস / ড্রইবল-এমডিপিআই , বা রেজ / ড্রইয়েবল-এলডিপিআইয়ের মতো ডিরেক্টরি থাকে

এই ডিরেক্টরিগুলির সাথে 1.6+ ঠিক আছে বলে মনে হয়, তবে 1.5 এগুলি চায় না। আমি যখন এই ডিরেক্টরিগুলি সরিয়ে ফেলি তখন আমার R.javaজন্য আবার স্বয়ংক্রিয়ভাবে তৈরি শুরু করে।


6

প্রথম চেকটিতে কোনও এক্সএমএল লেআউটে কোনও ত্রুটি আছে কি না, যদি প্রথমে এটি সমাধান করুন।

অন্যথায় প্রকল্প থেকে জুনিট নির্ভরতা অপসারণ করুন এবং প্রকল্পটি পুনর্নির্মাণ করুন।

এখানে চিত্র বর্ণনা লিখুন


5

প্রকল্পটি তৈরির সময় আপনি যে মিনিস্ট্রেড সংস্করণ নম্বর সরবরাহ করেছিলেন তা প্রায়শই এটি হয়। উদাহরণ:

আপনি যদি 2.1 সর্বনিম্ন হতে চান তবে অ্যানড্রয়েড 2.1 আসলে এপিআই লেভেল 7।

আপনি ডাউনলোড এবং ইনস্টল করা এসডিকে ব্রাউজ করার সময় আমি কী সম্পর্কে কথা বলছি তা দেখতে পাবেন। আপনি এসডিকে যে জায়গায় ইনস্টল করেছেন সেখানে নেভিগেট করুন ( C:\android-sdk-windowsউদাহরণস্বরূপ) এবং "প্ল্যাটফর্ম" নামক ফোল্ডারটি খুলুন। আপনি একটি ফোল্ডার হিসাবে তালিকাভুক্ত "অ্যান্ড্রয়েড -7" এর মতো কিছু দেখতে পাবেন এবং আপনি যদি এমন কোনও source.propertiesফাইল খোলেন যা কোনও পাঠ্য সম্পাদক দিয়ে খোলার পরে আপনাকে সংশ্লিষ্ট প্ল্যাটফর্মের সংস্করণটি দেখাবে।

আপনি যখন একটি প্রকল্প তৈরি করেন এবং আপনাকে অবশ্যই "বিল্ড টার্গেট" এপিআই নির্বাচন করতে হবে, সেই তালিকাটির শেষ কলামটি "এপিআই লেভেল" নামক মিনিসডিকে সেটিংটি স্থাপনের সময় আপনি যে নম্বরটি খুঁজছেন তা দেখায়।

এটি সম্ভবত সবচেয়ে সাধারণ ভুলগুলির মধ্যে একটি যার ফলস্বরূপ R.javaফাইলটি প্রকল্প> জেন> প্যাকেজ নাম> আর.জেভা এর অধীনে তৈরি করা হচ্ছে না।


5

সরান main.out.xml। আমি এটিতে নতুন এবং এই ফাইলটি কীসের জন্য ব্যবহৃত হচ্ছে তা এখনও জানি না, তবে এটি মুছে ফেলা সমস্যাটি পরিষ্কার করেছে।


5

কেবল অ্যান্ড্রয়েড শীর্ষ মেনু তালিকায় যান। এ ক্লিক করুন বিল্ড মেনু, বিল্ড অধীন উপর ক্লিক প্রকল্প পুনর্নির্মাণ

এখানে চিত্র বর্ণনা লিখুন


4

আমার কাছে অ্যান্ড্রয়েড 8 এর উদাহরণ রয়েছে এবং অ্যান্ড্রয়েড 7 এসডিকে ব্যবহার করার চেষ্টা করছিলাম। আমি যখন প্রকল্পটি বন্ধ করে দিয়েছি এবং অ্যাপ্লিকেশন ফোল্ডারটি আবার খুললাম এবং অ্যান্ড্রয়েড 8 এসডিকে ব্যবহার করা বেছে নিয়েছি তখন এটি আর ফাইলটি সন্ধান করতে সক্ষম হয়েছিল। আশাকরি এটা সাহায্য করবে.


4

আমার ক্ষেত্রে আমার মধ্যে একটি ত্রুটি ছিল AndroidManifest.xml। অন্যরা বলেছে যে আপনার এক্সএমএল ফাইলগুলি অবশ্যই ত্রুটি থেকে মুক্ত থাকতে হবে, তবে আমি কেবল রেজ / ফোল্ডারে সন্ধান করছিলাম। যতগুলি সম্ভব ত্রুটি অনুসন্ধান করুন এবং ঠিক করুন এবং সমস্যাটি নিজেই সমাধান করতে পারে।


এটাই ছিল আমার মামলার অপরাধী। ম্যানিফেস্ট.এক্সএমএল ফাইলটিতে যে কোনও ত্রুটি এই সমস্যা তৈরি করতে পারে যদি আর জাভা এখনও নির্মিত না হয়।
স্কট বিগস 21

4

যদি কেউ আগ্রহী হন (আমি আপনার জীবন এখানে রক্ষা করতে পারি) তবে আমার ত্রুটি ছিল, R.xmlসমাধান করা যায় না, একটি জিএলএস প্রকল্পের চেয়ে কিছুটা আলাদা different Hmmmm। সন্ধানের পরে R.java, আমি একটি স্বয়ং-উত্পন্ন ক্লাস পেয়েছি XML.java, (আমার মনে হয়) সেখানে ছিল না।

সমাধান? এটিতে একটি নতুন ফোল্ডার প্রয়োজন res: res\xmlএবং default_values.xml সেখানে একটি ফাইল কল করা হয়েছিল। তারপর সব ঠিক ছিল।

আপনি যদি ফাইলটি না পেয়ে থাকেন তবে তা হ'ল:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
</PreferenceScreen>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.