উত্তর দিতে দেরি হলেও, গুগলের কাছে এটি একটি কঠিন (একক উদ্ধৃতি) এবং কী হচ্ছে তা পরিষ্কার নয়। মন্তব্য বা স্কোপ (বা 3 লিঙ্ক পোস্ট) করার জন্য আমার কাছে এখনও সুনাম নেই, সুতরাং এই উত্তরটি কিছুটা ক্লান্তিকর হতে পারে।
দ্রুত উত্তর দিতে, আপনার প্রকল্পে একাধিক গ্রেডল প্লাগইন থাকতে পারে।
গ্রেডেল র্যাপার এবং প্লাগইনগুলি সিঙ্ক্রোনাইজ করুন
আমার সমস্যাটি মনে হয়েছে দূষিত আইএমএল ফাইল দিয়ে শুরু হবে। অ্যান্ড্রয়েড স্টুডিও (কোনও প্রকল্প বন্ধ ও পুনরায় চালু করার মধ্যে) অভিযোগ শুরু করে একটি আইএমএল চলে গেছে (এটি ছিল না) এবং একটি মডিউল মুছতে হবে, যা আমি প্রত্যাখ্যান করেছি। এটি অবিরত রয়েছে, আমি এএস 0.8.7 (ক্যানারি চ্যানেল) এ আপগ্রেড করেছি এবং ওপি ইস্যুতে আটকে গিয়েছি (টাস্ক '' মূল প্রকল্পে পাওয়া যায়নি)। এটি সম্পূর্ণরূপে অবরুদ্ধ রয়েছে যাতে আমাকে গ্রেডলে খনন করতে হয়েছিল।
ওএসএক্সে আমার মেরামতের পদক্ষেপগুলি (দয়া করে উইন্ডোজের জন্য সামঞ্জস্য করুন):
- অ্যান্ড্রয়েড স্টুডিও 0.8.7 এ আপগ্রেড করুন
- পছন্দসমূহ | আপডেট | "বিটা চ্যানেল" "ক্যানারি চ্যানেল" এ স্যুইচ করুন, তারপরে এখনই একটি পরীক্ষা করুন।
- আপনি এড়িয়ে যেতে সক্ষম হতে পারে।
গ্রেডল র্যাপারটি পরীক্ষা করে (বর্তমানে 1.12.2; এই সময়ে 2.0 ব্যবহার করার চেষ্টা করবেন না)।
ধরে নিচ্ছি আপনার কোনও নির্দিষ্ট সংস্করণ দরকার নেই, সর্বশেষ সমর্থিত বিতরণটি ব্যবহার করুন
$ vi ~/project/gradle-wrapper.properties
...
distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
এটি পছন্দসই এন্ড্রয়েড স্টুডিওতে সেট করা যেতে পারে | গ্রেডল (তবে 0.8.7 আমাকে 'অবৈধ অবস্থান' ত্রুটি দিচ্ছিল)।
- 'মোড়ক' প্রতিটি অ্যান্ড্রয়েড স্টুডিও প্রকল্পের গ্রেডলের কেবল একটি অনুলিপি। এটি আপনাকে আপনার ওএসে গ্রেডল 2 এবং আপনার প্রকল্পে বিভিন্ন সংস্করণ রাখতে দেয়। অ্যান্ড্রয়েড বিকাশকারী ডক্স এখানে তা ব্যাখ্যা করে ।
- তারপরে প্লাগইনটির জন্য আপনার বিল্ড.gradle ফাইলগুলি সামঞ্জস্য করুন । গ্রেডল প্লাগইন সংস্করণ অবশ্যই পুরো প্রকল্পের জন্য বিতরণ / র্যাপার সংস্করণের সাথে সামঞ্জস্যপূর্ণ হতে হবে। যেহেতু সরঞ্জামাদি ডকুমেন্টেশন (সরঞ্জাম.অ্যান্ড্রয়েড.com/tech-docs/new-build-system/user-guide#TOC- প্রয়োজনীয়তা) কিছুটা পুরানো হয়েছে, আপনি প্লাগইন সংস্করণটি খুব কম (যেমন 0.8.0) সেট করতে পারেন এবং অ্যান্ড্রয়েড স্টুডিও মোড়কের জন্য গ্রহণযোগ্য সীমার সাথে একটি ত্রুটি নিক্ষেপ করবে।
উদাহরণস্বরূপ, build.gradle এ আপনার এই প্লাগইন রয়েছে:
dependencies {
classpath "com.android.tools.build:gradle:0.12.+"
}
আপনি এটির মতো সঠিক সংস্করণে স্যুইচ করার চেষ্টা করতে পারেন:
dependencies {
classpath "com.android.tools.build:gradle:0.12.2"
}
এবং (প্রতিটি ক্ষেত্রে আপনি কী সংস্করণটি পরিবর্তন করছেন তা রেকর্ড করার পরে) যাচাই করা হচ্ছে যে আপনার প্রকল্পের প্রতিটি বিল্ড.gradle ফাইল একই প্লাগইন সংস্করণে টান। "+" রাখার কাজ করা উচিত (০.০২.০, ০.০২.১, ০.০২.২, ইত্যাদি), তবে আমার বিল্ড সফল হয়েছিল যখন আমি গুগলের ভলির লাইব্রেরি (মূলত গ্রেড: 0.8। +) এবং আমার মূল প্রকল্পটি (মূলত 0.12) আপডেট করি। +) স্থির সংস্করণে: গ্রেড: 0.12.2।
অন্যান্য চেক
নিশ্চিত করুন একই প্রকল্পে আপনার কাছে দুটি Android অ্যাপ্লিকেশন মডিউল নেই
এটি চূড়ান্ত সমাধানের সাথে (বিভিন্ন গ্রেডল সংস্করণ, উপরে) এবং কারণের সাথে ইন্টারঅ্যাক্ট করতে পারে
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define (various classes)
চেক করতে, বিল্ড | আপনি কী অ্যাপ্লিকেশন তৈরি করতে চান তা জিজ্ঞাসা করে মেক প্রজেক্টটিকে উইন্ডো পপ আপ করা উচিত নয়।
- আপনার ক্যাশেগুলি অবৈধ করুন
- ফাইল | ক্যাশে / পুনঃসূচনা অবৈধ করুন (স্ট্যাকওভারফ্লো.com/a/19223269/513413)
- যদি পদক্ষেপ 2 কাজ না করে তবে ~ / .gradle / (www.wuttech.com/index.php/tag/groovy-lang-closure/) মুছুন)
- ছাড়ুন অ্যান্ড্রয়েড স্টুডিও
- $ আরএম-আরএফ ~ /। গ্রেডেল /
- অ্যান্ড্রয়েড স্টুডিও শুরু করুন, তারপরে সিঙ্ক করুন:
- সরঞ্জাম | অ্যান্ড্রয়েড | গ্রেডল ফাইলগুলির সাথে প্রকল্প সিঙ্ক করুন
- হাল ছেড়ে দেওয়ার আগে এই পুরো ক্রমটি পুনরায় (সিড করুন ... সিঙ্ক করুন) eat
- প্রকল্প পরিষ্কার করুন
আপনি যদি এটি দেখতে পান ...
আমার সাম্প্রতিক বিল্ডগুলিতে, আমি ভয়াবহ ব্যর্থতাগুলি দেখতে পেয়েছি (ব্যতিক্রমগুলির পৃষ্ঠাগুলি) তবে কয়েক সেকেন্ডের মধ্যে বার্তাগুলি পরিষ্কার হয়ে যাবে, বিল্ড সাফল্য পেয়েছে এবং অ্যাপটি স্থাপন করা হয়েছে। যেহেতু আমি কখনই এটি ব্যাখ্যা করতে পারি নি এবং অ্যাপটি কাজ করেছিল, তাই আমি কখনই লক্ষ্য করিনি যে আমার প্রকল্পে আমার দুটি গ্র্যাডল প্লাগইন রয়েছে। সুতরাং আমি মনে করি গ্রেডল প্লাগইনগুলি একে অপরের সাথে লড়াই করেছে; একজন ক্র্যাশ করেছে, অন্যটি তার রাষ্ট্র হারিয়েছে এবং ত্রুটির কথা জানিয়েছে।
আপনার যদি সময় থাকে তবে 1 ঘন্টার ভিডিওটি "গ্রেডল অব গ্রেডল পরিচিতি" (www.youtube.com/watch?v=OFUEb7pLLXw) সত্যিই আমাকে গ্রেডল ফাইল, কার্যাদি, সিদ্ধান্ত গ্রহণ, ইত্যাদি গঠনে সহায়তা করেছিল really
অস্বীকৃতি
আমি এই সম্পূর্ণ স্ট্যাকটি শিখছি, একটি বিদেশী ওএসে, একটি ভিন্ন ক্যারিয়ার কাজ করার পরে ... সব একই সময়ে এবং চাপে। গত কয়েকমাসে আমি প্রতিটি দেয়ালে আঘাত করেছি বলে আমি মনে করি অ্যান্ড্রয়েড রয়েছে; আমি এখানে প্রায়শই এসেছি এবং এটি আমার প্রথম পোস্ট। আমি ভেবেছিলাম এটি একটি হার্ড ফিক্স, সুতরাং আমার উত্তরটির গুণমানটি পেতে আমার যে সমস্যা হয়েছে তা প্রতিফলিত করে আমি আন্তরিকভাবে ক্ষমা চাইছি।