android तृतीय पक्ष ग्रैडल प्लग-इन कारण हो सकता है




android-studio android-studio-3.1 (12)

यहां कुछ दृष्टिकोण है कि मैं अपने मामले के लिए इस मुद्दे को कैसे ठीक करता हूं:

सबसे पहले प्रोजेक्ट बिल्ड ग्रेडल फ़ाइल से अपने एंड्रॉइड ग्रेडल प्लगइन संस्करण को अपडेट करें और फिर अपने ग्रेडल संस्करण को ग्रेडल गुणों से अपडेट करें।

अंत में अपने कोटलिन संस्करण (अनिवार्य) को kotlin_version = '1.2.30' या बाद में प्रोजेक्ट बिल्ड ग्रेडल फ़ाइल से अपडेट करें।

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

एंड्रॉइड स्टूडियो 3.1 को अपडेट करने के बाद मुझे यह त्रुटि संदेश मिला:

परियोजना ठीक काम करती है और यह ज्यादातर एक चेतावनी है, इसलिए मेरा सवाल यह है कि चेतावनी का अर्थ क्या है और मैं इससे कैसे छुटकारा पा सकता हूं?

Gradle फ़ाइलों से प्रासंगिक भागों:

यह मेरी परियोजना का build.gradle

buildscript {
    ext {
        kotlin_version = '1.2.31'
        anko_version = '0.10.4'
        room_version = '1.0.0'
        support_version = '27.1.0'
        firebase_version = '12.0.0'
        gms_version = '12.0.0'
    }

    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
    }
}

और यह मेरा ऐप है build.gradle फ़ाइल:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 27
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

मैंने एंड्रॉइड स्टूडियो को पुनरारंभ किया और समस्या गायब हो गई।

फ़ाइल पर क्लिक करें -> अमान्य कैश / पुनरारंभ करें

हर बार जब मैं स्प्रिंग फ़ाइल बदलता हूं, तो मुझे एंड्रॉइड स्टूडियो को फिर से शुरू करना होगा या समस्या रिटर्न देना होगा।

आप यह भी कोशिश कर सकते हैं:

  1. पुन: आदेशित भंडारों को:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
    
  2. इस फ़ोल्डर को साफ़ करना: उपयोगकर्ता का ~ / .gradle / कैश और मैन्युअल रूप से ऐप बिल्ड फ़ोल्डर को हटाने, फिर साफ और पुनर्निर्माण करें


यहां कुछ चरण दिए गए हैं जिनका मैंने पालन किया है और यह मेरे मामले में इस मुद्दे को ठीक कर चुका है।

  1. सबसे पहले कोटलिन प्लगइन संस्करण को '1.2.31' पर इंस्टॉल करें और इसे नीचे की तरह build.gradle फ़ाइल में अपडेट करें।

निर्भरता {classpath 'com.android.tools.build:gradle:3.1.0' classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ 1.2.31"}

  1. स्वच्छ परियोजना

  2. अंत में परियोजना को पुनर्निर्माण करें।


एंड्रॉइड स्टूडियो v3.1.2 पर, त्रुटि होती है:

Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\debug
Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\release
3rd-party Gradle plug-ins may be the cause

क्योंकि डेटा बाइंडिंग उपयोग apply plugin: 'kotlin-kapt' तो जोड़ें

kapt {
    generateStubs = true
}
  1. 3.1.2 तक ग्रेडल प्लगइन संस्करण बदलें
  2. कोटलिन संस्करण को 1.2.30 में बदलें
  3. फिर एंड्रॉइड स्टूडियो ने ग्रेड 4.4 में ग्रेडल रैपर बदल दिया
  4. फिर एंड्रॉइड स्टूडियो कह रहा था कि इस्तेमाल किए गए बिल्ड टूल्स संस्करण 27.1.1 थे और मुझे इसे 27.1.1 में बदलना चाहिए, इसलिए मैंने लक्ष्य एसडीके को 27 में बदल दिया

वास्तव में मेरे लिए क्या मदद मिली यह जोड़ रहा है

kapt {
     generateStubs = true
}

build.gradle में


मेरे लिए क्या मुद्दा तय किया गया है:

  • 3.1.0 ग्रेबल प्लगइन संस्करण बदलें
  • 1.2.30 संस्करण को 1.2.30 बदलें
  • फिर एंड्रॉइड स्टूडियो ने ग्रेड 4.4 ग्रेडल रैपर बदल दिया
  • फिर एंड्रॉइड स्टूडियो कह रहा था कि इस्तेमाल किए गए बिल्ड टूल्स संस्करण 27.0.3 और मुझे इसे 27.0.3 बदलना चाहिए, इसलिए मैंने लक्ष्य एसडीके को 27 बदल दिया
  • मैंने इसे अपने gradle.build में जोड़ा:

    kapt {
         generateStubs = true
     }
    

मुझे उम्मीद है यह मदद करेगा


समस्या को हल करने के लिए, "रन कॉन्फ़िगरेशन" से Instant App Provision हटाएं और केवल Gradle-Aware Make को छोड़ दें।

Run -> Edit Configurations..

मेरे पास एंड्रॉइडस्टूडियो 3.1 , ग्रैडल प्लगइन 3.1.0 और 1.2.30 लाइब्रेरी संस्करण 1.2.30


मेरे मामले में उपर्युक्त समाधानों में से कोई भी मेरी समस्या का समाधान नहीं कर पाया, मैं इंस्टेंट रन के किसी भी उल्लेख के बिना 1.2.50 कोटलिन संस्करण का उपयोग कर रहा था, और बिल्ड डैगर कक्षाएं उत्पन्न नहीं कर रहा था, इसलिए मुझे यह प्रश्न पता चला कि मेरी समस्या हल हो गई है, जाहिर है , मेरी स्थिति में यह नए कोटलिन संस्करण से संबंधित एक मुद्दा है, इसलिए मैंने संस्करण 1.2.41 में डाउनग्रेड किया और ठीक काम किया। वैसे, मैंने बस उस बिंदु पर ट्रैक किया क्योंकि मैंने बिल्ड स्क्रीन पर टॉगल व्यू का उपयोग किया था।

1: टॉगल व्यू का चयन करें और अपनी परियोजना बनाएं

2: आप वास्तव में क्या हुआ यह देखने में सक्षम होने जा रहे हैं

प्रश्न: Kotlin 1.2.50 baseFeatureInfoDir के लिए पूछता है

समस्या ट्रैकर: https://issuetracker.google.com/issues/110198434


खैर, मैंने पाया कि यह apply plugin: 'kotlin-kapt' की वजह से है apply plugin: 'kotlin-kapt' , अगर आप build.gradle (एप) में इस पंक्ति को हटाते हैं, तो आप सफलतापूर्वक निर्माण करेंगे ...

इस चेतावनी में इन चेतावनियों का परिणाम क्यों नहीं है।


उन लोगों के लिए एक और जवाब जोड़ना जो Instant App Provision को नहीं हटा सके , क्योंकि यह फिर से दिखता रहता है।

प्रोजेक्ट मैन्युअल रूप से ./gradlew assembleDebug : ./gradlew assembleDebug

यह एक हॉटफिक्स है, लेकिन यह काम करेगा (क्योंकि यह मुद्दा शायद एंड्रॉइड स्टूडियो से संबंधित है)।


कुछ और शोध के बाद, मेरा अनुमान है कि वर्तमान में नीचे होने वाले बिंट्रे के साथ इसका संबंध है।


ऐसा इसलिए होता है क्योंकि Kapt एनोटेशन प्रोसेसर Kotlin जेनरेट की गई फ़ाइलों को संग्रहीत करने के लिए इस निर्देशिका का उपयोग करता है। एंड्रॉइड वर्तमान में डिफ़ॉल्ट रूप से पथ को नहीं पहचानता है।

और विवरण देखें





android-studio-3.1