তৃতীয় পক্ষের গ্রেডল প্লাগইনগুলির কারণ হতে পারে


132

অ্যান্ড্রয়েড স্টুডিও ৩.১ এ আপডেট করার পরে আমি এই ত্রুটি বার্তাটি পেয়েছি:

প্রকল্পটি সূক্ষ্মভাবে কাজ করে এবং এটি বেশিরভাগ ক্ষেত্রে কেবল একটি সতর্কতা, তাই আমার প্রশ্নটি হ'ল সতর্কতার অর্থ কী এবং আমি কীভাবে এ থেকে মুক্তি পাব?

গ্রেড ফাইলগুলি থেকে সম্পর্কিত অংশগুলি:

এটি আমার প্রকল্পের 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
ইস্যুয়েট্র্যাকার জিও.এল.এস.ইউ. / 45457216 অনুসারে এই সমস্যাটি AS3.2 এ ঠিক করা আছে
অ্যাঞ্জেল কোহ

Build> Rebuild Projectআমার কাছ থেকে কাজ করেছে
জোহাব আলি

উত্তর:


143

সমস্যা সমাধানের জন্য, "রান কনফিগারেশন" থেকে সরান Instant App Provision এবং কেবলমাত্র ছেড়ে যান Gradle-Aware Make

Run -> Edit Configurations..

সফলভাবে তৈরির পরে আমার রান / ডিবাগ কনফিগারেশন

আমার কাছে অ্যান্ড্রয়েড স্টুডিও 3.1, গ্রেডল প্লাগিন 3.1.0এবং কোটলিন গ্রন্থাগার সংস্করণ রয়েছে 1.2.30


5
এটি আসলে কাজ করে তবে এটি কেন ঘটছিল এবং আপনি কীভাবে এই সমাধানটিতে পৌঁছেছিলেন সে সম্পর্কে কোনও ধারণা।
হামাজ করা হয়েছে

59
এবং মুছে ফেলার পরে কোনও কারণে Instant App Provisionsএটি সর্বদা তার জায়গায় ফিরে আসে।
হামাজ করা হয়েছে

3
এই অক্ষম তাত্ক্ষণিক চালানো হয়?
কালেব_এলেন

7
@ কালেব_ অ্যালেন না, তবে যে কোনও উপায়ে তাত্ক্ষণিকভাবে রান ব্যবহার করা হয় না। এটি তাত্ক্ষণিক অ্যাপ্লিকেশনগুলির জন্য, তাত্ক্ষণিকভাবে চালানোর জন্য নয়
টিম

4
যে কেউ যেখানে এই ফিরে আসতে থাকে (@ হুমাজেদের মতো), আমি একটি স্থিরতা পেয়েছি: প্রথমে Run > Edit Configurationsআবার যান । তারপরে Edit Defaultsউপরের রেঞ্চ আইকন সহ বোতামটি ক্লিক করে যান । নির্বাচন করুন Android Appএবং কেবল Gradle-aware Makeআগের মত ছেড়ে দিন । হিট প্রয়োগ
b_yng

17

আমি অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করলাম এবং সমস্যাটি অদৃশ্য হয়ে গেল।

ফাইল -> অকার্যকর ক্যাশে / পুনঃসূচনা ক্লিক করুন

আমি যখনই গ্রেড ফাইলটি পরিবর্তন করি তখনই আমার অবশ্যই Android স্টুডিওতে পুনরায় চালু করতে হবে বা সমস্যাটি ফিরে আসে returns

আপনি এটি ব্যবহার করে দেখতে পারেন:

  1. পুনঃ-অর্পিত ভাণ্ডারগুলিকে এতে:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
    
  2. এই ফোল্ডারটি সাফ করা হচ্ছে: ব্যবহারকারীর ~ / .gradle / ক্যাশে এবং অ্যাপ্লিকেশন বিল্ড ফোল্ডারটি ম্যানুয়ালি মুছে ফেলা হচ্ছে , তারপরে পরিষ্কার করুন এবং পুনর্নির্মাণ করুন


তবে আমি এখনও আমার অ্যাপ চালাতে পারছি না কারণ এটি প্রবর্তন করার আগে প্রকল্পটি তৈরি করবে।
অনন্ত লুপস

7

কী আমার জন্য সমস্যাটি স্থির করেছে:

  • গ্রেড প্লাগইন সংস্করণ এ পরিবর্তন করুন 3.1.0
  • কোটলিন সংস্করণ এ পরিবর্তন করুন 1.2.30
  • তারপরে অ্যান্ড্রয়েড স্টুডিও গ্রেডেলের মোড়কটিকে সংস্করণে পরিবর্তন করেছে 4.4
  • তারপরে অ্যান্ড্রয়েড স্টুডিও বলছিল যে বিল্ড সরঞ্জামগুলির ব্যবহৃত সংস্করণটি ছিল 27.0.3এবং আমার এটিতে পরিবর্তন করা উচিত 27.0.3তাই আমি এসডিকে লক্ষ্যকেও পরিবর্তন করেছিলাম27
  • আমি এটি আমার গ্রেড.বিল্ডে যুক্ত করেছি:

    kapt {
         generateStubs = true
     }
    

আমি আসা করি এটা সাহায্য করবে


5

অ্যান্ড্রয়েড স্টুডিও 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. তারপরে অ্যান্ড্রয়েড স্টুডিও বলছিল যে ব্যবহৃত বিল্ড সরঞ্জামগুলির সংস্করণটি ছিল ২.1.১.১ এবং আমার এটি পরিবর্তন করে ২ 27.১.১ করা উচিত তাই আমিও এসডিকে লক্ষ্যমাত্রা পরিবর্তন করে ২ 27 এ পরিণত করেছি

5

এখানে আমি অনুসরণ করেছি এমন কয়েকটি পদক্ষেপ রয়েছে। আমার ক্ষেত্রে এটি সমস্যা স্থির!

অ্যান্ড্রয়েডকে লক্ষ্য করে প্ল্যাটফর্ম মডিউলগুলি পরীক্ষামূলক মাল্টিপ্লাটফর্ম প্রকল্পগুলির বৈশিষ্ট্যটির আপডেট অ্যান্ড্রয়েড প্ল্যাটফর্ম মডিউলগুলির জন্য সমর্থন প্রবর্তন করে। এই মডিউলগুলি গ্র্যাডল বিল্ড স্ক্রিপ্টে সংশ্লিষ্ট প্লাগইন প্রয়োগ করতে হবে এবং একটি সাধারণ মডিউল থেকে ভাগ করা কোড ব্যবহার করতে পারে:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-platform-android'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
// ...
// ...

কাপ্ত ডায়গনিস্টিক অবস্থানগুলি এখন হিসাবে, ক্যাপ্ট, কোটলিন টীকা প্রক্রিয়াকরণ সরঞ্জাম, জোট স্টাবগুলি উত্পন্ন করার পরিবর্তে মূল কোটলিন কোডের অবস্থানগুলিতে লিঙ্কগুলি সরবরাহ করতে পারে কারণ এটি টীকা দেওয়ার প্রক্রিয়া চলাকালীন সমস্যার সম্মুখীন হয়েছে reports গ্রেডল বিল্ড স্ক্রিপ্টে (বিল্ড.gradle) এই লাইনগুলি যুক্ত করে আপনি এই বৈশিষ্ট্যটি সক্ষম করতে পারেন:

kapt {
    mapDiagnosticLocations = true
}

এটি যুক্ত করুন:

allprojects {
        repositories {
            jcenter()
            google()
        }
    }

পরেরটি ভুলে যাবেন না:

// Architecture Component - Room

     implementation "android.arch.persistence.room:runtime:1.1.0-beta1"
        kapt "android.arch.persistence.room:compiler:1.1.0-beta1"

      // Lifecyles, LiveData and ViewModel
    kapt 'com.android.databinding:compiler:3.1.0'


 // ViewModel and LiveData
    implementation "android.arch.lifecycle:extensions:1.1.1"

// alternatively, just ViewModel
    implementation "android.arch.lifecycle:viewmodel:1.1.1"

 // alternatively, just LiveData
     implementation "android.arch.lifecycle:livedata:1.1.1"
       kapt "android.arch.lifecycle:compiler:1.1.1"

 // Room (use 1.1.0-beta1 for latest beta)
    implementation "android.arch.persistence.room:runtime:1.0.0"
      kapt "android.arch.persistence.room:compiler:1.0.0"


// Paging
    implementation "android.arch.paging:runtime:1.0.0-alpha7"

        // Test helpers for LiveData
    testImplementation "android.arch.core:core-testing:1.1.1"

        // Test helpers for Room
 testImplementation "android.arch.persistence.room:testing:1.0.0"
  1. আপনার প্রকল্প পরিষ্কার করুন

  2. বিল্ড এবং এটাই!

এই সমস্ত যুক্ত করুন, আপনার প্রকল্পটি পরিষ্কার করুন, তৈরি করুন এবং এটিই! :) এই কাজ করে যদি আমাকে জানাবেন! (যদি এটি আপনার পক্ষে কাজ না করে তবে আমি আপনাকে অন্য একটি সমাধানে সহায়তা করব)

আরও তথ্য: অ্যান্ড্রয়েড সাইট :) এটি কাজ করে কিনা আমাকে জানান! (যদি এটি কাজ না করে, আমি আপনাকে আরও ভাল উপায় খুঁজতে সাহায্য করার চেষ্টা করব)

আপনি যদি ডাউনটা দেন তবে ভোট দিন কেন তা ব্যাখ্যা করুন


1
লাইন যোগ mapDiagnosticLocations = trueকরতে kapt/: কখনও কখনও অন্তত ভাল - কনফিগারেশন কাজ
kuhnroyal

@ কুকনরোয়াল আমি আপনার প্রতিক্রিয়াটিকে অপহরণ করি! আপনার দিনটি
শুভ হোক

5

আসলে আমার জন্য যা সাহায্য করেছিল তা এটি যুক্ত করা হচ্ছে

kapt {
     generateStubs = true
}

build.gradle মধ্যে


3

আমার ক্ষেত্রে উপরের কোনও সমাধানই আমার সমস্যার সমাধান করেনি, আমি তাত্ক্ষণিক রান সম্পর্কে কোনও উল্লেখ না করেই 1.2.50 কোটলিন সংস্করণ ব্যবহার করছিলাম, এবং বিল্ডটি ডাগর ক্লাস তৈরি করছিল না, সুতরাং আমি এই প্রশ্নটি খুঁজে পেয়েছিলাম যা আমার সমস্যাটি সমাধান করেছিল, সম্ভবতঃ , আমার পরিস্থিতিতে এটি নতুন কোটলিন সংস্করণ সম্পর্কিত একটি সমস্যা, তাই আমি 1.2.41 সংস্করণে ডাউনগ্রেড করেছিলাম এবং দুর্দান্ত কাজ করেছি। যাইহোক, আমি ঠিক সেই মুহুর্তে ট্র্যাক করেছি কারণ আমি বিল্ড স্ক্রিনে টগল ভিউ ব্যবহার করেছি।

1: টগল ভিউ নির্বাচন করুন এবং আপনার প্রকল্পটি তৈরি করুন

টগল দর্শন

2: আপনি ঠিক কী ঘটেছে তা দেখতে সক্ষম হবেন

ত্রুটি

স্ট্যাকওভারফ্লো প্রশ্ন: কোটলিন 1.2.50 বেসফিজারিআইনফোডির জন্য জিজ্ঞাসা করে

ইস্যু ট্র্যাকার: https://issuetracker.google.com/issues/110198434


2

সেটিংস থেকে তাত্ক্ষণিক রানটি সরিয়ে দেওয়ার চেষ্টা করুন এবং গ্রেডলে যাওয়া ভাল।

এটা আমার জন্য কাজ করেছে।


2

এখানে কয়েকটি পদক্ষেপ রয়েছে যা আমি অনুসরণ করেছি এবং এটি আমার ক্ষেত্রে বিষয়টি স্থির হয়েছে।

  1. সবার আগে কোটলিন প্লাগইন সংস্করণটি '1.2.31' এ ইনস্টল করুন এবং নীচের মত বিল্ড.gradle ফাইলে এটি আপডেট করুন।

নির্ভরতা {শ্রেণিপথ 'com.android.tools.build:gradle:3.1.0' শ্রেণিপথ "org.jetbrains.kotlin: কোটলিন-গ্রেড-প্লাগইন: $ 1.2.31"}

  1. পরিষ্কার প্রকল্প।

  2. অবশেষে প্রকল্পটি পুনর্নির্মাণ করুন।


1
  1. অপসারণ apply plugin: 'kotlin-kapt'
  2. mavenCentral()build.gradle এ যুক্ত করুন :

    allprojects { repositories { mavenCentral() google() jcenter() } }

  3. সিঙ্ক এবং ক্লিন প্রকল্প

0

আমি আমার মামলার জন্য এই সমস্যাটি কীভাবে স্থির করব সে সম্পর্কে এখানে কিছু পদ্ধতি রয়েছে:

সবার আগে প্রজেক্ট বিল্ড গ্রেডেল ফাইল থেকে আপনার অ্যান্ড্রয়েড গ্রেডেল প্লাগইন সংস্করণ আপডেট করুন এবং তারপরে গ্রেডেলের বৈশিষ্ট্যগুলি থেকে আপনার গ্রেড সংস্করণ আপডেট করুন।

প্রজেক্ট বিল্ড গ্রেডেল ফাইল থেকে শেষ পর্যন্ত আপনার কোটলিন সংস্করণ (বাধ্যতামূলক) কোটলিন_ভার্সন = '1.2.30' বা তার পরে আপডেট করুন।

এখন আপনার প্রকল্পটি পরিষ্কার করার চেষ্টা করুন build সমস্যা সমাধান করা উচিত। প্রতিবার নির্মাণের পরে যদি আপনি আবার নির্মাণ করেন তবে সম্ভবত সমস্যা আবার ঘটবে তাই কেবল আপনার প্রকল্পটি পরিষ্কার করুন এবং তারপরে বিল্ড করুন।


0

এটি ঘটে কারণ কাপ্তট টীকা প্রোটেসর কোটলিন উত্পন্ন ফাইলগুলি সঞ্চয় করতে এই ডিরেক্টরিটি ব্যবহার করে। অ্যান্ড্রয়েড বর্তমানে ডিফল্টরূপে পথটি চিনতে পারে না।

আরও বিশদ দেখুন


0

যারা মুছে ফেলতে পারেন নিInstant App Provision তাদের জন্য আরও একটি উত্তর যুক্ত করা হচ্ছে কারণ এটি পুনরায় প্রদর্শিত হয়।

প্রকল্পটি ম্যানুয়ালি তৈরি করুন: ./gradlew assembleDebug

এটি হটফিক্স, তবে এটি কাজ করবে (কারণ বিষয়টি সম্ভবত অ্যান্ড্রয়েড স্টুডিওর সাথে সম্পর্কিত)।


0

অ্যান্ড্রয়েড স্টুডিওতে কোটলিনের সাথে রিয়েল ব্যবহার করার সময় আমার এই সমস্যা হয়েছিল।
সমাধানের জন্য এই পদক্ষেপগুলি অনুসরণ করুন:

  1. প্রকল্প বিল্ড.gradle এ রিয়েলম যুক্ত করার পরে, নিশ্চিত হয়ে নিন যে আপনার অ্যাপ্লিকেশন বিল্ড.gradle ফাইলটি এর মতো:

    apply plugin: 'com.android.application'  
    apply plugin: 'kotlin-android'  
    apply plugin: 'kotlin-android-extensions'  
    apply plugin: 'kotlin-kapt'  
    apply plugin: 'realm-android'  
    .  
    .  
    .  
    androidExtensions {  
    experimental = true
    }
  2. আপনার অ্যাপ বিল্ডড্র্যাডল নির্ভরতাগুলির kaptপরিবর্তে ব্যবহার করুন annotationProcessor

  3. বিকল্পটি Run -> Edit Configurations..সরান এবং যান Instant App Provision

  4. অ্যান্ড্রয়েড স্টুডিওর টার্মিনালে এই কমান্ডটি চালান:

    gradlew assembleDebug  
  5. ঠিক আছে !

দ্রষ্টব্য: আপনি যদি "তৃতীয় পক্ষের গ্র্যাডল প্লাগইনগুলি কারণ হতে পারে" বার্তাটি দেখেন তবে আবার পদক্ষেপ 3 ও 4 করুন।


0

গ্রেডেল ৪.6 এবং তার উপরের চাহিদার ভিত্তিতে কনফিগারেশন: আপনি যদি অ্যান্ড্রয়েড গ্রেডল প্লাগইন ..০.x বা 1.১.x গ্রেডেল ৪.6 বা তার বেশি ব্যবহার করে থাকেন তবে কিছু অনাকাঙ্ক্ষিত বিল্ড ত্রুটি এড়াতে আপনার চাহিদা অনুযায়ী কনফিগারেশনটি অক্ষম করা উচিত। (আপনি যদি অ্যান্ড্রয়েড গ্রেডল প্লাগইন ৩.২.০ বা ততোধিক উচ্চতর ব্যবহার করে থাকেন তবে চাহিদা অনুযায়ী কনফিগারেশন অক্ষম করতে আপনার কোনও পদক্ষেপ নেওয়ার দরকার নেই))

আপনার গ্রেড.প্রপার্টি ফাইলগুলিতে চাহিদার ভিত্তিতে কনফিগারেশনটি অক্ষম করুন নীচে প্রদর্শিত হয়েছে:

org.gradle.configureondemand = মিথ্যা অ্যান্ড্রয়েড স্টুডিও সেটিংসে চাহিদার ভিত্তিতে কনফিগারেশন অক্ষম করতে ফাইল> সেটিংস (অ্যান্ড্রয়েড স্টুডিও) নির্বাচন করুন

ম্যাকের উপর পছন্দগুলি), বাম ফলকে সংকলক বিভাগ নির্বাচন করুন এবং কনফিগার অন ডিমান্ড চেকবক্সটি সাফ করুন।

অ্যান্ড্রয়েড স্টুডিও ৩.২ বিটা ১ এবং উচ্চতর ক্ষেত্রে, চাহিদার ভিত্তিতে কনফিগারেশন সক্ষম করার বিকল্পগুলি সরানো হয়েছে। নীচের লিঙ্ক থেকে জানা সমস্যা বিভাগ পড়ুন দয়া করে। লিঙ্ক বিবরণ এখানে প্রবেশ করুন


0

আসলে, আমিও একই ত্রুটির মুখোমুখি হয়েছি। আমি কি করেছিলাম আমার kotlin সংস্করণ আপডেট করছে সর্বশেষ । এটি আপনার সমস্যার সমাধান করতে পারে।


-4

ঠিক আছে, আমি খুঁজে পেয়েছি কারণ এটি apply plugin: 'kotlin-kapt'build যদি আপনি বিল্ড.gradle (অ্যাপ) এ এই লাইনটি মুছে ফেলেন তবে আপনি সফলভাবে বিল্ড করবেন ...

এই প্লাগইনটি কেন এই সতর্কতাগুলির ফলাফল দেয় সে সম্পর্কে কোনও ধারণা নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.