नए 3.0.0 ग्रेडिंग प्लगिंग के साथ नए एंड्रॉइड स्टूडियो का उपयोग करना।
जब कुछ चेतावनी का निर्माण हुआ:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
नए 3.0.0 ग्रेडिंग प्लगिंग के साथ नए एंड्रॉइड स्टूडियो का उपयोग करना।
जब कुछ चेतावनी का निर्माण हुआ:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
जवाबों:
मैं जो बता सकता हूं, उससे वर्गपथ निर्भरता के रूप में जोड़े गए प्लगइन्स समस्याएँ देंगे। Ie Firebase के पास एक मुद्दा था। चम्मच और स्पंदन भी। ऐसा करने से यह गूगल खोज एक ही बात अधिक की राशि जुटाई एक मुद्दा साथ GitHub रेपोस का एक बहुत से पता चलता है, और सभी वे आम में है तथ्य यह है कि यह एक Gradle प्लगइन है। कपड़े एक कारण के रूप में अच्छी तरह से प्रतीत होता है, जैसा कि मेट * द्वारा उल्लेख किया गया है
मैं जो बता सकता हूं, वह समस्या एक / एकाधिक ग्रेडल प्लगइन (एस) से आती है। यह आपके ग्रेड कोड द्वारा भी ट्रिगर किया जा सकता है, लेकिन यह सबसे अधिक संभावना नहीं है अगर आपका प्रोजेक्ट एक ऐप है और ग्रेडल प्लगइन नहीं है।
और जैसा कि एलेक्स कोहेन ने एक टिप्पणी में उल्लेख किया है , पदावनति एक चेतावनी है। इस मामले में, इसका मतलब है कि यह एक ऐसी सुविधा है जो अंततः निकालने वाली है। तो अभी के लिए, यह मान लेना एक प्लगइन है (और आपके द्वारा नहीं बनाया गया है), आप इसे अनदेखा कर सकते हैं। जब तक इसे हटाया जाता है, तब तक इसे ठीक करने के लिए अधिकांश / सभी प्रमुख प्लगइन्स को अपडेट किया जाना चाहिए।
और, फिर से, यह एक चेतावनी है; कोई त्रुटि नहीं। आप अभी भी इसे चला सकते हैं, और इसे अनदेखा कर सकते हैं यदि समस्या के बारे में आप कुछ नहीं कर सकते हैं। जैसे कि फैब्रिक * प्लगइन को निष्क्रिय करना, ओवरक्लिल है, क्योंकि यह अभी भी काम करता है।
मैं स्वयं फैब्रिक का उपयोग नहीं करता हूं, और फैब्रिक ओपन-सोर्स नहीं है, इसलिए मुझे नहीं पता कि डेवलपर्स ने इसे ठीक किया या नहीं
TL; DR: ग्रैडल प्लगइन्स इसका कारण हैं। यह एक चेतावनी है (एक त्रुटि नहीं), इसलिए इस समस्या का कारण बनने वाले प्लगइन्स को हटाना ओवरकिल है। यदि आप इसे ठीक नहीं कर सकते हैं, तो इसे तब तक अकेला छोड़ दें, जब तक कि इसे केवल हटा दिया गया हो (हटाया नहीं गया)
यदि आप फायरबेस का उपयोग करते हैं, तो इसका एक विशिष्ट समाधान है जो माइग्रेशन गाइड (इस पोस्ट में बाद में जुड़ा हुआ) में भी वर्णित है; अमरूद मॉड्यूल को बाहर करें
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
इस मुद्दे का पता लगाने के लिए काफी मुश्किल है। मैं जो बता सकता हूं, उसमें से कोई भी एक समस्या नहीं है जो इसे मेरे द्वारा चेक किए गए सभी प्लगइन्स (और इस उत्तर में लिंक) के कारण होती है। यदि आपने कुछ ऐसा कोड किया है जो समस्या का कारण बनता है (और इसे ठीक करना संभव है, तो एक 3 पार्टी ग्रेडल प्लग इन जोड़ना कारण नहीं है), कुछ चीजें हैं जो आप इसे ठीक करने का प्रयास कर सकते हैं।
मैं वास्तविक कारण के रूप में जो बता सकता हूं, वह ग्रेडल फ़ाइल को अपडेट करके हल किया गया है (हालांकि स्पून लाइब्रेरी में, यह संबंधित लाइन को बदलकर तय किया गया था) TestVariant
ग्रेडल प्लगइन 3.0.0 माइग्रेशन गाइड में विषयों का पालन करके ) ।
पूरी बात डेवलपर डॉक्स द्वारा कवर की गई है , लेकिन यहां मुझे लगता है कि कुछ प्रोजेक्ट्स पर किए गए पुल अनुरोधों के आधार पर प्रासंगिक है जहां यह एक समस्या है:
ग्रेड संस्करण और प्लगइन को अद्यतन करने के अलावा, आपको 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
।
स्रोत कोड में हम देख सकते हैं कि:
इसलिए मेरे लिए, यह मेरी चेतावनी का कारण था और जब तक प्लगइन ठीक नहीं हो जाता, तब तक इसे हटाया नहीं जा सकता। मुद्दा है यहाँ है
जैसा कि @Zoe द्वारा बताया गया है, यह अन्य ग्रेडल प्लगइन्स से भी आ सकता है।
श्रेष्ठ
यह समस्या Google सेवाएँ प्लगइन संस्करण 4.3.0 ( इस प्रतिबद्ध के साथ हल ) के साथ हल हो गई है
buildscript {
dependencies {
// Change version to 4.3.0
classpath 'com.google.gms:google-services:4.3.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
और मेरे सभी प्रोजेक्ट ने अचानक एक ही त्रुटि संदेश देना शुरू कर दिया।
एंड्रॉइड स्टूडियो मेरे एंटीवायरस प्रोग्राम के बारे में चेतावनी दे रहा था। मैंने इसे कॉन्फ़िगर करने की कोशिश की लेकिन काम नहीं किया।
अंत में मैंने अपने सिस्टम से QuickHeal एंटीवायरस को अनइंस्टॉल कर दिया और अब सब ठीक है
अन्य सभी उत्तर तृतीय-पक्ष घटकों के साथ समस्याओं के बारे में हैं ।
अपनी परियोजना को registerResGeneratingTask
सीधे अपडेट करने का तरीका यहां बताया गया है :
इससे पहले:
variant.registerResGeneratingTask generateIcon, ICON_DIR
उपरांत:
variant.mergeResourcesProvider.get().dependsOn generateIcon
variant.registerGeneratedResFolders files(ICON_DIR)
प्रोजेक्ट लेवल बिल्ड.ग्रैडल
Google सेवाओं की निर्भरता के निम्नलिखित संस्करण का उपयोग करें।
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'
}
}
मेरे लिए समस्या का हल।
मेरे लिए यह चेतावनी गायब हो गई जब मैंने फैब्रिक ग्रेडल प्लगइन को बंद कर दिया, ओ कृपया जांचें कि क्या आप कपड़े या किसी अन्य प्लगइन का उपयोग करते हैं जो कि मैं इस चेतावनी के लिए जिम्मेदार हूं।
com.google.gms:google-services
4.0.1
और 4.0.2
दोनों इस चेतावनी नोटिस कारण।