इस बिल्ड में डिप्रेस्ड ग्रेडेड फीचर्स का इस्तेमाल किया गया था, जो ग्रैडल 5.0 के साथ असंगत है


94

मुझे एक मेल नहीं मिला है:

..."Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0."

केस विवरण:

  • अगले लिबास को प्रोजेक्ट कोडबेस से संलग्न किया गया है:

एपीपी / build.gradle

    //(Required) Writing and executing Unit Tests on the JUnit Platform 
testImplementation "org.junit.jupiter:junit-jupiter-api:5.2.0"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.2.0"
    // (Optional) If you need "Parameterized Tests"
testImplementation "org.junit.jupiter:junit-jupiter-params:5.2.0"
    // (Optional) If you also have JUnit 4-based tests
testImplementation "junit:junit:4.12"
testRuntimeOnly "org.junit.vintage:junit-vintage-engine:5.2.0"

testImplementation "io.mockk:mockk:1.8.5"
  • Gradle-wrapper.properties अपडेट किया गया

    वितरणUrl = https .... gradle- 4.4-all .zip से 4.7-all

  • उस सभी के बाद ग्रेडेल को सफलता मिली

  • परीक्षण calss बनाया

    @TestInstance(TestInstance.Lifecycle.PER_CLASS)
      class TestClass {
    
      @Test
      internal fun testName() {
        Assert.assertEquals(2, 1 + 1)
      }
    }
    
  • परीक्षण चलाया और FAILURE संदेश प्राप्त किया। यहाँ छवि विवरण दर्ज करें

  • कमांड लाइन तर्क के साथ ग्रैड बिल्ड को चलाने के ./gradlew --warning-mode=allलिए यह देखने के लिए कि वास्तव में पदावनत विशेषताएं क्या हैं। यहाँ छवि विवरण दर्ज करें

परिणामस्वरूप मैं ऐप का निर्माण नहीं कर सका और मुझे वह विफलता: संदेश मिल गया है।


1
वह असफलता नहीं है। एप्लिकेशन अभी भी संकलित करता है, नहीं?
एपिकपांडफर्सेज जूल

1
ऐप एक ही विफलता संदेश के साथ संकलित है। :-(
फिलिप बुहावेसिकी

2
वह असफलता नहीं है। यह एक विफलता होगी यदि ऐप संकलित नहीं करता है। यह सबसे अच्छी चेतावनी है
एपिकपांडफ्रीज

@ EpicPandaForce दुर्भाग्य से कि जैसा कि मैंने उल्लेख किया एक विफलता संदेश है। सवाल यह नहीं है कि संदेश की व्याख्या कैसे की जाए, लेकिन वैसे भी आपके प्रभाव के लिए मेरी प्रशंसा।
फिलिप बुहावेसकी

जवाबों:


74

कमांड लाइन तर्क के साथ ग्रैड बिल्ड बनाएं --warning-mode=allयह देखने के लिए कि वास्तव में पदावनत विशेषताएं क्या हैं।

यह आपको अपने निर्माण को ठीक करने के निर्देशों के लिए ग्रैडल डॉक्स के लिंक के साथ पाए गए मुद्दों का विस्तृत विवरण देगा।

इसमें जोड़ते --stacktraceहुए, आप यह भी इंगित करने में सक्षम होंगे कि चेतावनी कहां से आती है, अगर यह प्लगइन्स में से एक में पुराने कोड द्वारा ट्रिगर किया गया है और आपकी बिल्ड स्क्रिप्ट नहीं है।


मैंने इस सुझाव का उपयोग करते हुए मुद्दे के विवरण को अपडेट किया।
फिलिप बुहावेसकी

13
जब react-native run-android --warning-mode allमैं दौड़ रहा हूंerror: unknown option --warning-mode'
योकेन

13
दौड़ने का प्रयास करेंgradle build --warning-mode=all
जॉर्डन डेनियल

18

इसको आजमाओ

cd android && ./gradlew clean && ./gradlew :app:bundleRelease

धन्यवाद, क्या आप यह समझा सकते हैं कि यह क्यों ।/gradlew: app: bundleRelease काम करता है और यह ./gradlew bundleRelease नहीं करता है।
अतिकुर रहमान सबुज

perfecct ने मेरे लिए मेरे कॉर्डोवा-9.0 प्रोजेक्ट पर काम किया: D
minigeek

2
@AtikurRahmanSabuj यह इस बात पर निर्भर करता है कि ./gradlew फ़ाइल कैसे लिखी गई थी। जैसे कि एंड्रॉइड में डिफ़ॉल्ट मॉड्यूल "ऐप" है और एंड्रॉइड ऐप में कई मॉड्यूल हो सकते हैं। इसके अलावा ./gradlew को सफाई के बाद ही काम करना चाहिए। Gradlew में सभी कार्यों को देखने के लिए, "./gradlew कार्य" निष्पादित करें जो आपको gradlew में उपलब्ध कार्यों को बताएगा।
अमृत ​​अशरफ

Apache Cordova और Android 9 के लिए, AndroidX को सक्षम करके त्रुटि का समाधान किया जा सकता है। सक्षम करने के लिए, देखें: cordova.apache.org/announcements/2020/06/29/…
FC

10

मुझे यह त्रुटि मिल रही थी। यह केवल तभी हुआ जब मैंने आरएन कैश (काफी विस्तृत प्रक्रिया) को पूरी तरह से साफ किया और फिर एक रिलीज बिल्ड बनाया।

अगर मैंने कैश को साफ किया, एक डिबग बिल्ड बनाया और फिर एक रिलीज बिल्ड, सब कुछ काम किया। चिंताजनक लेकिन काम करता है।

नोट: मेरा स्वच्छ आदेश है ...

rm -r android/build ; rm -r android/app/src/release/res ; rm -r android/app/build/intermediates ; watchman watch-del-all ; rm -rf $TMPDIR/react-* ; npm start -- --reset-cache


7

मेरे मामले में मैंने build.gradleफ़ाइल को अद्यतन किया और classpathनवीनतम संस्करण से इसमें 3.5.2कर दिया3.6.3

dependencies {
        classpath("com.android.tools.build:gradle:3.6.3") 
    }

3

अपने तृतीय पक्ष निर्भरता को अद्यतन करें। उदाहरण के लिए मैंने से निर्भरता को अद्यतन implementation 'com.github.ybq:Android-SpinKit:1.1.0' किया implementation 'com.github.ybq:Android-SpinKit:1.2.0'। और मेरे मामले में समस्या हल हो गई है।


सटीक विस्तृत विवरण के लिए हॉटकी के सुझाव का पालन करें
हिरेन

यह गलती थी और मैं ग्रेड संस्करण को अपग्रेड कर रहा हूं और हर संभव कदम उठाने का प्रयास कर रहा हूं। :(
अंशुल1507

2

इस तरह के रूप में रैपर-रैपर-संपत्तियों की फाइलों में डिस्ट्रीब्यूशन पथ सेट करें:

वितरणUrl = https: //services.gradle.org/distributions/gradle-4.10.2-all.zip


मेरी श्रेणी में यह रेखा थी ..। distributionUrl = https \: //services.gradle.org/distributions/gradle-4.8.1-bin.zip इसे बदल दिया और यह काम कर गया। वितरण
Url

2

महत्वपूर्ण - उत्तर केवल REACT-NATIVE VS CODE टर्मिनल के लिए काम करें

VisualStudio कोड में, आपको नीचे की तरह चलना होगा, फिर उस चेतावनी को छोड़ दिया जाएगा।

प्रतिक्रिया-देशी रन-एंड्रॉइड चेतावनी-मोड = सभी

यदि आप नीचे दौड़ते हैं तो आपको टर्मिनल में त्रुटि मिलेगी जब प्रतिक्रिया-देशी रन-एंड्रॉइड - अलवर-मोड रनिंग में मुझे त्रुटि मिलती है: अज्ञात विकल्प - अलवर-मोड '


2

यह इस मुद्दे पर मेरे लिए प्रतिक्रिया-मूल की परियोजना में काम करता है:

इस बिल्ड में डिप्रेस्ड ग्रेडेड फीचर्स का इस्तेमाल किया गया था, जो ग्रैडल 7.0 के साथ असंगत है।

244 क्रियाशील कार्य: 2 निष्पादित, 242 अप-टू-डेट D8: एक भी डेक्स फ़ाइल में अनुरोधित कक्षाएं फिट नहीं कर सकता (# फ़ील्ड: 67296> 65536) com.android.builder.dexing.exxing.exAchiveMergerException: dex अभिलेखागार को मर्ज करते समय त्रुटि: संख्या। .dex फ़ाइल में विधि संदर्भ 64K से अधिक नहीं हो सकते। Https://developer.android.com/tools/building/multidex.html ... पर इस समस्या को हल करने का तरीका जानें ।

इसे मैने किया है:


साझा करने के लिए धन्यवाद। लगभग 50 मिनट उस पर बिताए। डिवाइस से एप्लिकेशन को अनइंस्टॉल करने ने मेरे लिए काम किया।
अनिरुद्ध बब्बर

1

अंत में जूनियर 5 को जूनियर 4 में डाउनग्रेड करने और परीक्षण वातावरण के पुनर्निर्माण का फैसला किया।


अपने यह कैसे किया?
प्रतीक बुटानी Prat ’

प्रतीक ध्यान में रखते हैं, अब के लिए, छह महीने बाद, मुझे लगता है कि इस मुद्दे के आसपास की परिस्थितियों को बदल दिया जाता है। मैं आपको स्क्रैच से जांच करने की सलाह दूंगा, अगर JUnit 5 एक परीक्षण उपकरण के रूप में उपयोग करने के लिए सुविधाजनक है।
फिलिप बुहाविस्की

1

इस समस्या के लिए समाधान: इस बिल्ड में पदावनत ग्रेडल फीचर्स का उपयोग किया गया था, जो इसे 6.0 ग्रेड के साथ असंगत बना रहा है। Android स्टूडियो इस समाधान ने मेरे लिए काम किया।

सबसे पहले अपनी परियोजना के build.gradle की निर्भरता में वर्गपथ बदलें: classpath 'com.android.tools.build:gradle:3.3.1' से: classpath 'com.android.tools.build:gradle:3.6.1'

फिर gradle-wrapper.properties फ़ाइल में परिवर्तन करें। यह फ़ाइल प्रोजेक्ट के gradle> आवरण फ़ोल्डर से मौजूद है: distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip : distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

फिर अपने ग्रेड को सिंक करें।


1

निम्नलिखित समाधान ने मेरी मदद की क्योंकि मुझे भी वही चेतावनी मिल रही थी। अपने प्रोजेक्ट लेवल ग्रेड फ़ाइल में, क्लासपैथ में ग्रेडेल संस्करण को बदलने का प्रयास करें

classpath "com.android.tools.build:gradle:3.6.0" to
classpath "com.android.tools.build:gradle:4.0.1"

यहां अन्य सभी प्रक्रिया को आजमाने के बाद यह मेरे लिए काम कर रहा है। यह मेरा दिन बचाता है। thx
Shapon Pal

1

मेरे मामले में एंड्रॉइड में मल्टीडेक्स इनेबल्ड ट्रू को जोड़ना / बिल्ड / बिल्ड.ग्रेड फ़ाइल को संकलित करना।

मैं भविष्य में इसे हटाने पर ध्यान दूंगा, जैसा कि दस्तावेज़ीकरण में कहा गया है '64K या अधिक विधि संदर्भों के उपयोग को सक्षम करने के लिए अपने ऐप को कॉन्फ़िगर करने से पहले, आपको अपने ऐप कोड द्वारा बुलाए गए संदर्भों की कुल संख्या को कम करने के लिए कदम उठाने चाहिए, जिसमें विधियाँ भी शामिल हैं। आपके ऐप कोड द्वारा परिभाषित या लाइब्रेरीज़ शामिल हैं। '

defaultConfig {
  applicationId "com.peoplesenergyapp"
  minSdkVersion rootProject.ext.minSdkVersion
  targetSdkVersion rootProject.ext.targetSdkVersion
  versionCode 1
  versionName "1.0"
  multiDexEnabled true // <-add this 
}

0

इंटेलीज और ग्रैडल का उपयोग करते हुए एक स्प्रिंगबूट परियोजना पर, मुझे यह चेतावनी मिली "इस बिल्ड में डिप्रेस्ड ग्रेडेड फीचर्स का उपयोग किया गया था, जिससे यह मेरा एकीकरण टेस्ट चलाते समय ग्रैडल 5.0 के साथ असंगत हो गया"। समस्या का हल क्या था: - फाइल में जाना: फाइल> सेटिंग्स> बिल्ड, एक्ज़ीक्यूशन, डिप्लॉयमेंट - "बिल्ड एंड रनिंग यूज़िंग" के लिए चयन करना: इंटेलीज आईडीईए ("ग्रैडल" के बजाय) - "रन टेस्ट्स" का उपयोग करने के लिए समान है, जो व्याख्या नहीं करता है। क्यों ग्रैडल चेतावनी प्रदर्शित कर रहा है, लेकिन मुझे अपने काम में परीक्षण और प्रगति करने दें।


0

AndroidX पर माइग्रेट करने के बाद इस तरह की त्रुटि को ठीक किया गया था

  • Refactor पर जाएं ---> AndroidX पर माइग्रेट करें

0

यदि आप उपयोग कर रहे हैं प्रतिक्रिया-मूलक तो कृपया अपना प्रोजेक्ट चलाने से पहले नीचे दिए गए आदेशों को आज़माएँ:

  1. npm स्थापित - save-dev जेटिफायर
  2. npx जेटलाइज़

अब फिर से अपना प्रोजेक्ट चलाएं। उम्मीद है कि यह काम करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.