নতুন 3.0.0 গ্রেডল প্লাগিং সহ নতুন অ্যান্ড্রয়েড স্টুডিও ব্যবহার করা।
নির্মাণের সময় কিছু সতর্কতা ঘটেছিল:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
নতুন 3.0.0 গ্রেডল প্লাগিং সহ নতুন অ্যান্ড্রয়েড স্টুডিও ব্যবহার করা।
নির্মাণের সময় কিছু সতর্কতা ঘটেছিল:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
উত্তর:
আমি যা বলতে পারি, ক্লাসপাথ নির্ভরতা হিসাবে যুক্ত প্লাগইনগুলি সমস্যা দেবে। আই ফায়ারবেস এটি নিয়ে একটি সমস্যা ছিল। চামচ এবং তেঁতুল এছাড়াও। এরকম যদি এই Google অনুসন্ধানের একই জিনিস উপর উত্থাপিত একটি বিষয় দিয়ে GitHub Repos অনেকটা প্রকাশ করে, এবং সমস্ত যা তারা প্রচলিত আছে যে এটি একটি Gradle প্লাগইন হয়। ম্যাট * দ্বারা উল্লিখিত হিসাবে ফ্যাব্রিক এছাড়াও একটি কারণ হিসাবে প্রদর্শিত হবে
আমি যা বলতে পারি তা থেকে, সমস্যাটি একাধিক গ্রেডল প্লাগইন (গুলি) থেকে আসে। এটি আপনার গ্রেডল কোড দ্বারাও ট্রিগার হতে পারে তবে আপনার প্রকল্পটি কোনও অ্যাপ্লিকেশন এবং গ্রেডল প্লাগইন না হলে এটি সম্ভবত প্রযোজ্য নয়।
এবং অ্যালেক্স কোহন একটি মন্তব্যে যেমন উল্লেখ করেছেন , অবমূল্যায়ন হ'ল সতর্কতা। এই ক্ষেত্রে, এর অর্থ এটি এমন একটি বৈশিষ্ট্য যা শেষ পর্যন্ত মুছে ফেলা হবে। সুতরাং আপাতত, ধরে নিই এটি একটি প্লাগইন (এবং আপনার দ্বারা তৈরি নয়), আপনি এটিকে উপেক্ষা করতে পারেন। এটি অপসারণের সময়, বেশিরভাগ / বড় প্লাগইনগুলির এটি ঠিক করার জন্য আপডেট করা উচিত।
এবং, আবার, এটি একটি সতর্কতা; ত্রুটি নয় আপনি এখনও এটি চালাতে পারেন, এবং সমস্যাটি সম্পর্কে আপনার কিছু করার মতো কিছুই না থাকলে তা এড়িয়ে যান। অক্ষম করা যেমন: ফ্যাব্রিক * প্লাগইন ওভারকিল, এটি এখনও কাজ করে।
আমি নিজেই ফ্যাব্রিক ব্যবহার করি না, এবং ফ্যাব্রিক ওপেন-সোর্স নয়, তাই আমি জানি না যে বিকাশকারীরা এটি স্থির করেছেন কি না
টিএল; ডিআর: গ্রেডল প্লাগইনগুলির কারণ। এটি একটি সতর্কবার্তা (ত্রুটি নয়), সুতরাং সমস্যাটি হ্রাসকারী প্লাগিনগুলি অপসারণ করা ওভারকিল। আপনি যদি এটি ঠিক করতে না পারেন, যতক্ষণ না কেবলমাত্র এই মুহুর্তে হ্রাস করা হয় (অপসারণ করা হয় না) ততক্ষণ এটিকে ছেড়ে যান
আপনি যদি ফায়ারবেস ব্যবহার করেন তবে এর একটি নির্দিষ্ট সমাধান রয়েছে যা মাইগ্রেশন গাইডেও উল্লেখ করা হয়েছে (এই পোস্টে পরে সংযুক্ত); পেয়ারা মডিউল বাদ দিন
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
বিষয়টি নিজেই সনাক্ত করা মোটামুটি শক্ত। আমি যা বলতে পারি তা থেকে, এমন কোনও একক সমস্যা নেই যা আমার চেক করা সমস্ত প্লাগইনগুলিতে এটি তৈরি করে (এবং এই উত্তরে লিঙ্কযুক্ত)। যদি আপনি এমন কিছু কোড করে থাকেন যা সমস্যার কারণ হয়ে থাকে (এবং এটি সংশোধন করা সম্ভব; তৃতীয় পক্ষের গ্রেড প্লাগইন যুক্ত করা এটির কারণ নয়), এমন কিছু জিনিস রয়েছে যা আপনি এটি সমাধান করার চেষ্টা করতে পারেন।
আসল কারণ হিসাবে আমি যা বলতে পারি তা থেকে, গ্রেডল ফাইল আপডেট করে সমাধান করা হয়েছে (যদিও চামচাগার লাইব্রেরিতে এটি সম্পর্কিত একটি লাইন পরিবর্তন করে ঠিক করা হয়েছিল) TestVariant
) গ্রেডল প্লাগইন 3.0.0 মাইগ্রেশন গাইডের বিষয়গুলি অনুসরণ করে।
পুরো জিনিসটি বিকাশকারী ডক্স দ্বারা আচ্ছাদিত , তবে আমি মনে করি এমন কিছু বিষয় যা আমার মনে হয় প্রাসঙ্গিক সেই প্রকল্পগুলিতে করা অনুরোধের ভিত্তিতে যা এটি সমস্যা হয়েছে:
একপাশে Gradle সংস্করণ আপডেট করা এবং প্লাগ ইন, এছাড়াও আপনি যোগ করতে হবে google()
অধীনে রেপো repositories
।
compile
এখন implementation
বা হয় api
, তবে implementation
এটি প্রস্তাবিত।
provided
হয় compileOnly
এবং apk
হয়runtimeOnly
androidTestCompile
হয়ে গেছে androidTestImplementation
, এবংtestCompile
->testImplementation
যদি আপনি স্বাদ ব্যবহার করেন তবে আপনাকে স্বাদ মাত্রা (ডক্স দ্বারা আবৃত) ব্যবহার করতে হবে।
বিল্ড প্রকারের জন্য, কোনও লাইব্রেরির ক্ষেত্রে বিল্ড টাইপ না থাকলে আপনাকে ফলব্যাকগুলি অন্তর্ভুক্ত করতে হবে। এগুলি profile
নীচে ব্লকে সংজ্ঞায়িত করা হয়android
।
যদি ইতিমধ্যে সম্পন্ন না হয় তবে গ্রেডেল প্লাগইনটি প্রথমে সংজ্ঞায়িত করতে হবে। আপনার যদি অন্য কোনও ক্লাসপাথ নির্ভরতা না থাকে তবে সমস্যা নেই। তবে আপনি যদি তা করেন তবে নিশ্চিত হন যে গ্রেডেল প্লাগইনটি প্রথমে সংজ্ঞায়িত হয়েছে।
আপনি যদি ব্যবহার করেন তবে testVariants
নিশ্চিত হন যে আপনি testedVariant
ক্লাসে কল করবেন না । এটি চামচ গ্রন্থাগারের জন্য কারণ বলে মনে হচ্ছে।
এই বিষয়গুলি হ'ল, আমি যা বলতে সক্ষম হয়েছি, সেগুলি থেকে সমস্যার সমাধানের জন্য কিছু পরিবর্তন আনা হয়েছে।
আমি com.google.gms:google-services
সংস্করণ সহ প্লে পরিষেবাগুলি গ্রেডল প্লাগইন ব্যবহার করছি4.2.0
।
উত্স কোডে আমরা এটি দেখতে পারি:
সুতরাং আমার জন্য, এটি ছিল আমার সতর্কতার কারণ এবং প্লাগইন স্থির না হওয়া পর্যন্ত অপসারণ করা যাবে না। বিষয়টি হ'ল এখানে
@ জো দ্বারা উল্লিখিত হিসাবে, এটি অন্যান্য গ্র্যাডল প্লাগইন থেকেও আসতে পারে।
সেরা
গুগল সার্ভিস প্লাগইন সংস্করণ ৪.৩.০ ( এই প্রতিশ্রুতি দিয়ে সমাধান করা ) সহ সমস্যাটি সমাধান করা হয়েছে
buildscript {
dependencies {
// Change version to 4.3.0
classpath 'com.google.gms:google-services:4.3.0'
}
}
ফ্যাব্রিক গ্রেডল প্লাগইনের সর্বশেষতম সংস্করণে আপডেট করা এই সমস্যাটিকে সংশোধন করে।
চেঞ্জলগ থেকে:
আমার ক্ষেত্রে এটি অ্যান্ড্রয়েড সমর্থন লাইব্রেরির মিলহীন সংস্করণের কারণে ঘটেছিল। আমি সমস্ত মডিউলকে সর্বশেষতম সংস্করণে (28.0.0) আপডেট করেছি এবং এটি সমাধান করেছে।
ফ্যাব্রিক সঠিকভাবে ইনস্টল করার পরে এই সমস্যাটি আমার জন্য সমাধান হয়ে গেল
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}
}
build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
dependencies {
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
আমার এই ত্রুটি বার্তাটি ছিল এবং আরও অনেকের পছন্দ
x-version is deprecated and use y-version instead and it'll be removed in 2019
এবং আমার সমস্ত প্রকল্প হঠাৎ হঠাৎ একই ত্রুটি বার্তা দেওয়া শুরু করে।
অ্যান্ড্রয়েড স্টুডিও আমার অ্যান্টিভাইরাস প্রোগ্রাম সম্পর্কে সতর্কতা দিচ্ছিল। আমি এটি কনফিগার করার চেষ্টা করেছি কিন্তু কাজ হয়নি।
অবশেষে আমি আমার সিস্টেম থেকে কুইকহিল অ্যান্টিভাইরাস আনইনস্টল করেছিলাম এবং এখন সব ঠিক আছে
অন্য সমস্ত উত্তর তৃতীয় পক্ষের উপাদানগুলির সাথে সমস্যা সম্পর্কিত ।
আপনার প্রকল্পটি যা registerResGeneratingTask
সরাসরি ব্যবহার করে তা আপডেট করার পদ্ধতি এখানে রয়েছে :
আগে:
variant.registerResGeneratingTask generateIcon, ICON_DIR
পরে:
variant.mergeResourcesProvider.get().dependsOn generateIcon
variant.registerGeneratedResFolders files(ICON_DIR)
প্রকল্পের স্তর বিল্ড.গ্রাডল
গুগল পরিষেবাগুলির নির্ভরতার নিম্নলিখিত সংস্করণটি ব্যবহার করুন।
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.3.0'
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
}
আমার জন্য সমস্যার সমাধান হয়েছে olved
আমার জন্য এই সতর্কতাটি অদৃশ্য হয়ে গেছে যখন আমি ফ্যাব্রিক গ্রেডেল প্লাগইন বন্ধ করে দিয়েছি, হে দয়া করে আপনি এই ফেব্রুয়ারী বা অন্য কোনও প্লাগইন ব্যবহার করেন কিনা তা পরীক্ষা করে দেখুন যা আমি এই সতর্কতার জন্য দায়ী।
com.google.gms:google-services
4.0.1
এবং 4.0.2
উভয়ই এই সতর্কতা বিজ্ঞপ্তির কারণ ঘটায়।