22 এডিটি আপগ্রেড হওয়ার পরে লাইব্রেরিগুলি আর এপিএকে যুক্ত হয় না


238

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

java.lang.NoClassDefFoundError: org.acra.ACRA
....

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

আমি ইতিমধ্যে সামগ্রিক গোছা চেষ্টা করেছি তবে এতে সীমাবদ্ধ নয়:

  • অ্যান্ড্রয়েড এসডিকে পুনরায় ইনস্টল করুন
  • একটি নতুন এডিটি বান্ডিল ডাউনলোড করুন
  • আমার সমস্ত কোড মুছে ফেলুন এবং গিট থেকে আবার তা পান
  • অ্যাপ্লিকেশন প্রকল্পে প্রশ্নের মধ্যে পাঠাগারটি অনুলিপি করুন
  • এই লাইব্রেরিটি ব্যবহার করে এমন কোডটি মন্তব্য করুন - আমি পরবর্তী গ্রন্থাগারের জন্য ঠিক একই ত্রুটি পেয়েছি

সবই কোনও সাফল্য ছাড়াই, তাই আমি এখানে সত্যিই মরিয়া হয়ে উঠছি।

কেউ যদি আমাকে কীভাবে সমস্যাটি সমাধান করবেন সে সম্পর্কে ইঙ্গিত দিতে পারলে আমি সত্যিই খুশি হব।

উত্তর:


337

তার বিজ্ঞাপন-পোস্ট পোস্ট থেকে বোস্টনের স্ট্রিটসের উদ্ধৃতি :

আপগ্রেড করার সময়, নতুন 'অ্যান্ড্রয়েড প্রাইভেট লাইব্রেরি' এর 'অর্ডার এবং রফতানি' সর্বদা চেক করা হয় না। এবং অ্যান্ড্রয়েড-সমর্থন-ভি 4.জার এখন এই 'অ্যান্ড্রয়েড প্রাইভেট লাইব্রেরি' বিভাগে রয়েছে।

এটি ঠিক করতে, 'অর্ডার এবং এক্সপোর্ট' এ যান এবং 'অ্যান্ড্রয়েড প্রাইভেট লাইব্রেরি' দেখুন। তারপরে রিফ্রেশ / পরিষ্কার / পুনর্নির্মাণ করুন।

আপনি একটি লাইব্রেরি প্রকল্পের জন্য এই 'ফিক্স' করার পরে, আপনাকে কোনও নির্ভরশীল প্রকল্পটি কেবল বন্ধ এবং পুনরায় খোলার প্রয়োজন হতে পারে, কারণ তারা এই 'ফিক্স' তত্ক্ষণাত দেখতে না পাবে।

এটি একটি শট দিন এবং ভাগ্যের সাথে এটি আপনার সমস্যার সমাধান করবে।

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


32
কমন্সওয়্যার সর্বদা প্রথম অগ্রগামীদের মতো, আপনাকে অনেক ধন্যবাদ! :)
পল ওয়েইন

1
অ্যাভারি নতুন এডিটি সংস্করণে নতুন চমক;) আশা করি নতুন বিল্ড সিস্টেম আরও ভাল হবে। ধন্যবাদ কমন্সওয়েয়ার
লুজপ

3
এটি কি কেবল আমিই বা প্রতিটি বিকাশকারী [যেটি গ্রহ এবং গ্রন্থাগার ব্যবহার করে] তাদের সমস্ত লাইব্রেরি প্রকল্পে প্রবেশ করে এবং "অ্যান্ড্রয়েড প্রাইভেট প্রাইভেট লাইব্রেরি" রফতানি হিসাবে চিহ্নিত করা ভুল বলে মনে হয়? এটি আমাকে ভাবতে বাধ্য করে যে আমরা সকলেই গুগলের এই নতুন "বৈশিষ্ট্য "টিকে প্রথম স্থানে যুক্ত করার ইচ্ছাকে ভুল করে ফেলেছি। সম্ভবত আমাদের গ্রন্থাগারগুলি রফতানি হিসাবে চিহ্নিত করার কথা নয়। হতে পারে আমরা আমাদের "libs" ফোল্ডারে সরাসরি কোনও অনুপস্থিত জার ফাইল যুক্ত করব। উদাহরণস্বরূপ: এটি আমার লাইব্রেরি প্রকল্পটিকে সর্বশেষতম অ্যান্ড্রয়েড-সমর্থন-ভি 4.জার [v13] ব্যবহার করার অনুমতি দেবে, এ বি এস অভ্যন্তরীণভাবে অ্যান্ড্রয়েড-সমর্থন-ভি 4-12.জার ব্যবহার করে।

2
@ সোবুবি: "এটি কি কেবল আমি, নাকি প্রতিটি বিকাশকারী [যেটি গ্রহ এবং গ্রন্থাগার ব্যবহার করে] তাদের সমস্ত লাইব্রেরী প্রকল্পে প্রবেশ করে এবং" অ্যান্ড্রয়েড প্রাইভেট লাইব্রেরিগুলিকে "রপ্তানি হিসাবে চিহ্নিত করেছে?" - এটি "ভুল" ইনসোফার যেমন এটি একটি বাগ, সেই সরঞ্জামগুলি লিখেছেন লোকেদের দ্বারা স্বীকৃত। "হতে পারে আমাদের কোনও অনুপস্থিত জার ফাইলগুলি সরাসরি আমাদের" libs "ফোল্ডারে" যুক্ত করার কথা - ওহ, আপনাকেও তা করতে হবে, যেমন আপনার গত বছরের পরিবর্তন এবং পরিবর্তনের জন্য রয়েছে। তবে, আপনাকে এখনও এই চেকবক্সটি চেক করতে হবে।
কমন্সওয়্যার

9
@ ফিলিপ: এএফাইক, এটি সমস্ত প্রকল্প। আরও সঠিকভাবে, আমি মনে করি, এটি সমস্ত প্রকল্পগুলির মধ্যে স্টাফ রয়েছে libs/তবে আপনি libs/কিছু মাস পরে স্টাফ যোগ করলে এবং এটি ভুলে যেতে পারেন তবে আপনি এটি সবার জন্যও পরীক্ষা করতে পারেন ।
কমন্সওয়্যার

10

কেবল অ্যান্ড্রয়েড প্রাইভেট লাইব্রেরি চেক করা যথেষ্ট ছিল না, আমাকে অ্যান্ড্রয়েড এসডিকে ম্যানেজারে অ্যান্ড্রয়েড এসডিকে বিল্ড-সরঞ্জামগুলি ইনস্টল করতে হয়েছিল ।


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

এটা আমার জন্য কাজ করে। শুধুমাত্র গ্রহগ্রহের পছন্দগুলি পরিবর্তন করা যথেষ্ট নয় y আপনার অ্যান্ড্রয়েড এসডিকে ম্যানেজারে ইনস্টলড বিল্ড-সরঞ্জামগুলি পরীক্ষা করতে হবে।
স্টিভেনস

4

আমারও একই সমস্যা adtছিল এবং আমারও ছিল 22.0.1। এবং উপরের সমাধানগুলির কোনওটিই কাজ করে না। কোনও কাজের প্রকল্পে একটি বাহ্যিক গ্রন্থাগার প্রকল্প যুক্ত করার সময় আমি সর্বদা genকার্যকরী প্রকল্পের ফোল্ডারটি পরীক্ষা করি এবং যদি Rবাহ্যিক গ্রন্থাগার প্রকল্প থাকে (প্যাকেজের নাম সহ) থাকে তবে কেবল বাহ্যিক গ্রন্থাগার প্রকল্পটি রফতানি করা হয়। এবং আমার genফোল্ডারে কোনও packagenameবাহ্যিক গ্রন্থাগার দেখানো হয়নি।

সুতরাং আমি project.propertiesফাইলটিতে যাচাই করেছিলাম এবং উপস্থিত কোনও বাহ্যিক লাইব্রেরি লিঙ্ক উপস্থিত ছিল না android.library.reference.1=। সুতরাং আমি নিজে থেকে বাহ্যত গ্রন্থাগার রেফারেন্সটি যুক্ত করেছিলাম, যদিও আমি এতে যুক্ত করেছিলাম project->properties->Java Build Path->Projects->Add। সুতরাং ম্যানুয়ালি সম্পাদনা project.propertiesআমার জন্য সমস্ত কাজ করে।

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


1
আমি মনে করি যেহেতু এটি গুই স্থান নির্ধারণের android.library.reference.nজন্য নয় java build path , বরং project-> properties-> Android-> Library-> হয় Add...। একটা গ্যাচা
n611x007

4

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


3

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


1
খুব ঝামেলা, কমন্সওয়্যারের সমাধানটি আমার পক্ষে কাজ করেছে এবং আমি বিশ্বাস করি এটি আপনার পক্ষেও কাজ করতে পারত।
বিলথন

2

আমার অনুরূপ সমস্যা ছিল এবং আমার উত্তর কমন্সওয়্যারের থেকে কিছুটা আলাদা। এখানে আমার স্ক্রিনশট:

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

আমার বিল্ডে ফিরিয়ে দেওয়া চেকগুলি আবার কাজ শুরু করে।


2
আমি এই সমাধানটি সম্পর্কে যত্নবান হতে হবে। Android Dependenciesদ্বারা প্রতিস্থাপিত হয়েছে Android Private Librariesএবং উত্তরাধিকারগত কারণে শুধুমাত্র সেখানে থাকতে পারে। আমার ধারণা এটি যে কোনও সময় মুছে ফেলা হতে পারে।
সাইমনসেস

0

আমারও একই সমস্যা ছিল,

i) জিএসএন লাইবকে রেফারেন্স লাইব্রেরি হিসাবে যুক্ত করুন
ii) জাভা বিল্ড পাথটিতে এটি পরীক্ষা করুন http://i.stack.imgur.com/Gldhs.png

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