গ্রহনে, অন্য অ্যান্ড্রয়েড প্রকল্পে অ্যান্ড্রয়েড গ্রন্থাগার প্রকল্পের উল্লেখ করতে অক্ষম


104

আমি যখন এই প্রশ্নটি লিখছিলাম তখন আমি এটি সমাধান করতে সক্ষম হলাম তাই অন্যের সুবিধার্থে এটি এখানে পুনরাবৃত্তি করুন। প্রাথমিক সমস্যাটি এখানে:

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

  1. প্রকল্পের বৈশিষ্ট্যগুলির মাধ্যমে লাইব্রেরি প্রকল্পটিকে পতাকাঙ্কিত করে। default.propertiesফাইল এই সেট আছে:android.library=true

  2. আমার অন্যান্য প্রকল্পে প্রকল্পের বৈশিষ্ট্যগুলির মাধ্যমে আমার লাইব্রেরি প্রকল্পের রেফারেন্স যুক্ত হয়েছে। default.propertiesফাইল রেফারেন্স প্রত্যাশিত অর্থাত হিসাবে যোগ করেনিandroid.library.reference.1=K:/android_test_ws/applicationRegistrar

  3. রেফারেন্সযুক্ত গ্রন্থাগার প্রকল্পের বিরুদ্ধে সবুজ রঙের টিকটি সবুজ রঙের শুরু হয় এবং তারপরে একটি রেড ক্রসে পরিবর্তিত হয়।

এটি বোঝায় যে লাইব্রেরী প্রকল্প থেকে অবশ্যই কিছু ভুল / নিখোঁজ থাকতে হবে তবে আমি কী জানি না। এই উপলক্ষে আমার লাইব্রেরি প্রকল্পটি আমি তৈরি করা আগেরটির চেয়ে অনেক বেশি সহজ।


এই সমাধানটি আমার ক্ষেত্রে সহায়তা করেছে: stackoverflow.com/questions/9283040/… আমি আশা করি এটি কাউকে সাহায্য করবে
আবির সুল

উত্তর:


160

ঠিক আছে আমি আমার ফাইল সিস্টেমে রেফারেন্সিং প্রজেক্টের (লাইব্রেরি নয়) ডিফল্ট ফাইলগুলির সন্ধান করার সময় এটি সমাধানটি পেয়েছি। যদিও রেফারেন্সিং প্রকল্পটি গ্রন্থাগার প্রকল্পের মতো একই গ্রহন কর্মক্ষেত্রে ছিল, প্রকৃত ফাইলগুলি ফাইল সিস্টেমে অন্য কোথাও ছিল অর্থাৎ তারা গ্রন্থাগার প্রকল্পের একই প্যারেন্ট ফোল্ডারে ছিল না। রেফারেন্সিং প্রকল্পটি লাইব্রেরি প্রকল্পের মতো একই শারীরিক ফোল্ডারে রাখার সাথে সাথে এটি সমস্ত ঠিক হয়ে গেল।

আমি অনুমান করি যে প্রচ্ছদের নীচে পিঁপড়া ব্যবহার করে অ্যান্ড্রয়েডের সাথে অবশ্যই এটি করতে হবে।

সম্পাদনা করুন: প্রকল্পের নামটি ফাইল সিস্টেমে ফোল্ডারের নামের সাথে মেলে। আপনি প্রকল্পের বৈশিষ্ট্যগুলিতে যা দেখছেন-> অ্যান্ড্রয়েড-> লাইব্রেরি রেফারেন্স একটি আপেক্ষিক ফাইল সিস্টেমের পথ।


3
এছাড়াও যোগ করতে চান যে প্রতীকী লিঙ্কগুলি এর জন্য ঠিক নয়। আমার সমস্ত প্রকল্পগুলি একে অপরের মতো একই ফোল্ডারে আলাদা জায়গায় সংরক্ষণ করা হয়েছিল (যেখানে আমি ব্যাকআপ নিতে চাই এমন জিনিসগুলি রেখেছি) এবং তারপরে এই ফোল্ডারে আমার ওয়ার্কস্পেস ফোল্ডারের মধ্যে প্রতীকী লিঙ্কগুলির একগুচ্ছ। সুতরাং তারা উভয় স্থানে একে অপরের মতো একই ফোল্ডারে ছিল তবে প্রতীকী লিঙ্কগুলির ব্যবহার এটিকে সমস্ত গোলমেলে ফেলেছে। আমি যখন আমার বেস ওয়ার্কস্পেস হিসাবে আসল ফোল্ডারটি লোড করি তখন এটি ঠিক হয়ে যায়।
জুলাসিয়া

7
+1 গ্রহন / এডিটি কম্বোর এই ভৌতিক আচরণটি প্রকাশের জন্য। শুধু এফওয়াইআই, এমনকি যদি উভয় প্রকল্প একই শারীরিক ফোল্ডারে স্থাপন করা যদি সেই ফোল্ডারটি সাম্বা অংশীদার হিসাবে ঘটে থাকে তবে তাতে কোনও লাভ হয় না । Ugrrr ...
an00b

20
কখনও কখনও Eclipse রেফারেন্সটি সরিয়ে ফেলবে, Eclipse পুনরায় আরম্ভ করবে এবং আবার যুক্ত করবে, এখন এটি কাজ করা উচিত।
ওয়ারপজিট

আমার প্রকল্পগুলির সাথে একই ওয়ার্কস্পেসে অবস্থিত এটি আমার সমস্যা ছিল। লাইব্রেরির মতো একই কর্মক্ষেত্রে প্রকল্পটি আমদানি করে এবং সবকিছু ঠিকঠাক কাজ করেছিল। উত্তর করার জন্য ধন্যবাদ.
জয়শিল ডেভ

আপনার কর্মক্ষেত্র এবং লাইব্রেরি একই ফোল্ডারের অবস্থানে রয়েছে তা পরীক্ষা করুন। এডিটি পুনরায় ডাউনলোডের ভুল করেছে এবং সি: under এর অধীনে একটি প্রকল্প তৈরি করেছে যা আমার আসল কর্মক্ষেত্রের বিপরীতে ব্যবহারকারীদের কর্মপরিসর। বলা বাহুল্য, আপনার প্রকল্প এবং আপনার গ্রন্থাগার একই কার্যনির্বাহী ডিরেক্টরিতে রয়েছে তা আবার পরীক্ষা করুন!
গার্বিত

11

নিশ্চিত করুন যে উভয় প্রকল্প একই কাজের জায়গায় উপস্থিত রয়েছে। এটি করার জন্য, প্রকল্পগুলি আমদানি করার সময় নিশ্চিত করুন "কপিরাইট প্রজেক্টকে কাজের জায়গাতে" চেক বক্সটি চেক করা আছে।


1
আমি একই লাইব্রেরি প্রকল্পটি অন্য প্রকল্পে কীভাবে ব্যবহার করতে পারি। যদি আমি এটি করি তবে এটি লাল রঙের ক্রস প্রতীক দেখায় .. @ কার্তিক
শৈলেন্দ্র মাদদা

10

আপনার লাইব্রেরি প্রকল্পটি আপনার বর্তমান কর্মক্ষেত্র থেকে আলাদা বিভাজনে থাকলে একই সমস্যা দেখা দিতে পারে। আমার ঠিক এখন একই সমস্যা আছে। আমার গিট সোর্স সি তে রয়েছে: এবং আমি আমার ওয়ার্কস্পেসটি কেবল ডি তে স্থানান্তরিত করি: এবং সমস্ত কিছুই ধসে পড়তে শুরু করে।


4
যদি মূল এবং গ্রন্থাগার প্রকল্পগুলি বিভিন্ন ড্রাইভে থাকে তবে মনে হয় যে গ্রহগ্রহ নিখরচায় থেকে আপেক্ষিকের থেকে রেফারেন্স পাথটি সমাধান করতে পারে না এবং গ্রহনটি এতে সন্তুষ্ট নয় (সবুজ রঙের টিকটি রেড ক্রসে রূপান্তরিত হয়)।
পাইং

আমার জন্যও কাজ করেছেন। আমি একই ড্রাইভে রেফারেন্সড প্রকল্পটি প্রতিস্থাপন করেছি (এইচ :) এবং এখন এটি ঠিক আছে
টোবিয়া জাম্বন

4

লাইব্রেরির পাথের পথগুলি সঠিক করার সহজতম উপায় হ'ল নিম্নলিখিত স্ক্রিনশটটিতে প্রদর্শিত লাইব্রেরিটি যুক্ত করতে Eclipse থেকে GUI ব্যবহার করা এবং Eclipse- কে প্রকল্প.properties- তে সঠিক আপেক্ষিক পাথগুলি রাখার যত্ন নেওয়া উচিত। আপনার লাইব্রেরি প্রকল্পগুলি আপনার প্রধান প্রকল্পগুলি যা গ্রন্থাগারটি ব্যবহার করে তার চেয়ে সম্পূর্ণ আলাদা ডিরেক্টরিতে হোস্ট করা এটি একটি সাধারণ সেটআপ। "লিবারি প্রকল্প" এবং এটির ব্যবহার করা প্রকল্পটি একই গ্রহণ "ওয়ার্কস্পেস" এ থাকলে (তাদের "প্রয়োজন নেই" একই প্যারেন্ট ফোল্ডারে থাকতে হবে) এই পদ্ধতিটি কাজ করবে: এখানে চিত্র বর্ণনা লিখুন


4
সমস্যাটি কারণ গ্রন্থাগার এবং প্রকল্পটি বিভিন্ন ড্রাইভ / পার্টিশনে রয়েছে ... উপরের বাগ তালিকাটি দেখুন। আপনার ভাল আছে কারণ আপনার লাইব্রেরির পাথটি ডস পূর্ণ পথের পরিবর্তে আপেক্ষিক পাথ দেখায় ...
কেনে

3

দয়া করে নিশ্চিত করুন যে লাইব্রেরি প্রকল্পটি "ইজ লাইব্রেরি" হিসাবে চিহ্নিত হয়েছে - লাইব্রেরী প্রকল্পে - রেকর্ডগুলি - অ্যান্ড্রয়েড - ডান ক্লিক করুন - "ইস লাইব্রেরি" চেকবক্সটি চিহ্নিত করুন - প্রকল্পে লাইব্রেরি প্রকল্পের প্রোপার্টিগুলি আপনার একটি নতুন এন্ট্রি হওয়া উচিত: "অ্যান্ড্রয়েড .লিবারি = সত্য। এখন নীচের পোস্টে বর্ণিত আপনার প্রকল্পে এটি যুক্ত করুন ((চিত্রের সমন্বিত পোস্ট - নীলেশ পাওয়ারের কাছ থেকে)।


1
এটি আমার পক্ষে ঠিক কাজ করেছে। বিভ্রান্তিকর অংশটি হ'ল আমি মনে করি এই 'লাইব্রেরি' চেকবক্সের অবস্থান। এটি স্বজ্ঞাত নয় যে এটি প্রকৃতপক্ষে বর্তমান অ্যাপ / লাইব্রেরি বিল্ডের লক্ষ্য নির্বাচন করছে এবং লাইব্রেরিগুলিকে অন্তর্ভুক্ত করার জন্য কোনও বিকল্প স্যুইচ নয়।
এটিয়েনস্কি

3

এই বাগটি এখানে 27199 , 35786 , 36460 এবং 38052 কয়েকবার উল্লেখ করা হয়েছে

তাদের পক্ষে ভোট দিয়ে, এটি একদিন ঠিক হয়ে যাবে ...


2

তবুও একই বিষয়ে আরেকটি পর্যবেক্ষণ।

আমার জন্য দুটি প্রকল্প যেখানে একই প্যারেন্ট ফোল্ডারে রয়েছে, এবং কর্মক্ষেত্রের অভ্যন্তরে উভয়ই স্থানীয় ছিল। তারপরেও বিষয়টি এখনও ঘটছিল।

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

এটি সত্যই অদ্ভুত এবং এডিটির সাথে অবশ্যই একটি বাগ থাকতে হবে। আমি ADT সংস্করণ 20.0.2 ব্যবহার করছি


+1 টি। একই নামে লাইব্রেরিগুলি স্যুইচ করার সময় এই সমস্যার মুখোমুখি হয়েছিল। মনে হচ্ছে গ্রহস্ব (বা এডিটি) পুরানোটির উল্লেখ করার চেষ্টা করছে এবং ব্যর্থ হয়েছে। গ্রহন পুনঃসূচনা সাহায্য করে। (উবুন্টু 12.04, এক্লিপ্স ইন্ডিগো, 21 ডিসেম্বর এডিটি)
লুটেন

2

ডেভেলপার যখন ফেসবুক বা অন্য কোনও লাইব্রেরি প্রকল্পের উল্লেখ করে প্রথমে গ্রাহক-> প্রকল্প-> পরিষ্কার প্রকল্প থেকে প্রকল্পটি সাফ করুন। যা রেফারেন্সিং স্ক্রিনে রেড ক্রসের ত্রুটির অনুমতি দেয়।


2

আমার জন্য, আমি কেবল গ্রহনটি পুনরায় চালু করব এবং যুক্ত লাইব্রেরিটি ঠিকঠাক কাজ করে।

মানে প্রথমবার এটি লাইব্রেরী প্রকল্প যুক্ত করার পরে লাল চিহ্ন দেখায়। যদিও গ্রহন মূল প্রকল্প এবং গ্রন্থাগার প্রকল্প একই ওয়ার্কস্পেস ফোল্ডারে রয়েছে এবং প্রকল্প ফোল্ডারের বাইরে কোনও সংস্থান ফাইল নেই।

সুতরাং, আপনি আপনার গ্রহনটি পুনরায় চালু করার চেষ্টা করতে পারেন। শুভ কোডিং ....


1

আমার জন্য কাজ ছিল

  1. একটি নতুন কর্মক্ষেত্র তৈরি করুন
  2. ওয়ার্কপেসে লাইব্রেরি প্রকল্পটি আমদানি করুন
  3. ওয়ার্কস্পেসে কাঙ্ক্ষিত প্রকল্পটি আমদানি করুন
  4. প্রকল্প এবং গ্রন্থাগার উভয়ই একই লক্ষ্য অ্যান্ড্রয়েড ওএস সংস্করণে প্রকল্প করে Having
  5. আমার প্রকল্পে রেফারেন্স লাইব্রেরি প্রকল্প

আমার সমস্যা সমাধান


একটি নতুন কর্মক্ষেত্র তৈরি করাও সমস্যার সমাধান করেছে। আপনার প্রকল্পগুলি সাফ করাও দরকার।
ওমর কানসিগোগলু

1

আমার কর্মক্ষেত্রটি পরিবর্তন করার চেষ্টা করার সময় সেখানে আমার একই সমস্যা ছিল তাই এটি আমার সমাধান:

  1. লাইব্রেরি প্রকল্প সহ সমস্ত প্রকল্পের ডেটা ওয়ার্কস্পেসে আমদানি করুন এবং অনুলিপি করুন
  2. প্রকল্পটি -> বৈশিষ্ট্য -> অ্যান্ড্রয়েড -> লাইব্রেরিতে রাইট ক্লিক করে পুরানো প্রকল্পের রেফারেন্স মুছুন এবং কলুষিত লাইব্রেরি নির্বাচন করুন (যাতে আমি এটি কল করি) এবং সরান নির্বাচন করুন
  3. প্রকল্পটি প্রথমে পরিষ্কার করুন (আপনার প্রকল্পের বৈশিষ্ট্যগুলি রিফ্রেশ করতে)
  4. লাইব্রেরি প্রকল্পের বৈশিষ্ট্যগুলিতে যান -> অ্যান্ড্রয়েড -> লাইব্রেরি এবং এটি লাইব্রেরিটি পরীক্ষা করুন যদি এটি প্রয়োগ না করে তবে ঠিক আছে ক্লিক করুন
  5. লাইব্রেরী প্রকল্পটি যদি লাইব্রেরি হয় তবে ইতিমধ্যে এটি চেক করা হয়েছে, প্রথমে এটি পরীক্ষা করে চেক করুন তারপরে লাইব্রেরি প্রকল্পটি পরিষ্কার করুন এর পরে আবার পদক্ষেপ 4 করুন
  6. আপনি যে লাইব্রেরিটি চান তা প্রকল্পে যান তারপরে প্রকল্পটিতে ডান ক্লিক করুন -> সম্পত্তি -> অ্যান্ড্রয়েড -> গ্রন্থাগার, তারপরে লাইব্রেরি প্রকল্পটি চয়ন করুন (এটি থাকা উচিত) এবং তারপরে প্রয়োগ করুন ক্লিক করুন ঠিক আছে
  7. যদি এখনও আরও একবার প্রকল্পটি পরিষ্কার না হয় এবং এটি করা উচিত


0

আপনার আগে এবং পরে রেফারেন্স-পাথের দিকে একবার নজর থাকলে, এটি অর্থাত্ "সি: / ওয়ার্কস্পেস / মেলিব" থেকে আসে এবং সঠিক অবস্থানে অনুলিপি করা হলে "../../mylib" এ চলে যায়, বেশ আকর্ষণীয়।


0

অবগতির জন্য,

আমার কাজটি হ'ল আমার গ্রন্থপথটি (ফাইলগুলি মুছে না ফেলে) 'লাইব্রেরি' প্রকল্পগুলি (প্রকৃত প্রকল্পগুলি) মুছে ফেলা এবং তারপরে উইজার্ড ব্যবহার করে সেগুলি পুনরায় আমদানি করা (উত্স কোড থেকে বিদ্যমান অ্যান্ড্রয়েড প্রকল্প আমদানি))


আমার জন্যও কাজ করেছেন।
সবেমাত্র

0

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


0

সুফি খানের পোস্টের মতো আমিও রিবুট দিয়ে এই সমস্যাটি সমাধান করেছি। আমার কেস এর মধ্যে পার্থক্য ছিল যখন আমি প্রথম প্রোপার্টি-> অ্যান্ড্রয়েড অ্যাক্সেস করেছি এবং লাইব্রেরি যুক্ত করেছি যখন আমি একটি সুন্দর সবুজ চেকমার্ক পেয়েছি। আমি যখন ডায়লগটি বন্ধ করে দিয়েছিলাম তখন Eclipse তখনও শ্রেণি-না পাওয়া টাইপের ত্রুটিগুলি দেখিয়েছিল। আমি যখন আবার বৈশিষ্ট্যগুলি পরীক্ষা করেছি তখন আমি লাল এক্সটি দেখেছি saw

আমি এডিটি বান্ডিলটির 0702 সংস্করণ ব্যবহার করছি ("ক্লাস্টার" দিয়ে শুরু, "হাঁসের সাথে ছড়াগুলি)"।


0

আমি স্বীকৃত উত্তরটি অনুসরণ করেছি তবে আমার "প্রকল্প.প্রপার্টি" ফাইলটি পাঠযোগ্য কিনা তাও নিশ্চিত করতে হয়েছিল।

যদি ফাইলটি কেবল পঠনযোগ্য হয় (উত্স নিয়ন্ত্রণে চেক করা হয়) তবে এটি গ্রহণ করবে না cl লাইব্রেরির রেফারেন্স যুক্ত করা সফল হবে, তবে ঠিক আছে চাপ দেওয়ার পরেও এই পরিবর্তনটি স্থায়ী হবে না।

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


0

যদি আপনার গ্রন্থাগার প্রকল্পটি এখনও আপনার গ্রন্থাগার প্রকল্পের বৈশিষ্ট্যে লাইব্রেরি পতাকা যুক্ত করার চেষ্টা দেখায় না

Android.library = সত্য যোগ করুন

project.properties

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

# Project target.
target=android-17
android.library=true
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.