groovy.lang.Closure- এ বিল্ডটাইপগুলি প্রয়োগ করা যাবে না


241

আমি আমার প্রকল্প গ্রেড ফাইলটিতে এই সতর্কতা পাচ্ছি:

সতর্কতা: (১,, ৫) 'বিল্ডটাইপস' প্রয়োগ করা যাবে না '(গ্রোভ.ইল্যাং.ক্লোজার <com.android.build.gradle.intern.dsl. বিল্ডটাইপ>)' '

আমার বিল্ডটাইপ বিভাগটি হ'ল:

    buildTypes {
        debug {
            debuggable true
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }

আমি বর্তমানে অ্যান্ড্রয়েড স্টুডিও ১.১.০, সংকলন এসডিকে ভার্সন 22, বিল্ডটুলস ভার্সন 22.0.0 এবং টার্গেটএসডিকি ভার্সন 22 ব্যবহার করছি I আমি 21 এ নেমে ব্যাক করার চেষ্টা করেছি তবে এখনও সতর্কতা পাচ্ছি।

কী কারণে এই সতর্কতা সংঘটিত হয় এবং কীভাবে এটি সংশোধন করা হয়?


আপনি কি প্লাগইন প্রয়োগ করেছেন: 'com.android.aplication' বা 'com.android.library'?
কিরিল বোয়ারশিনভ

@ কিরিল: com.android.application
জিম ভিটেক

উত্তর:


471

আমার জন্য উপরের সমাধানটি প্রয়োগ করে সমস্যার সমাধান হয়নি। পরিবর্তে আমাকে অ্যান্ড্রয়েড স্টুডিওতে সেটিংসে যেতে হবে এবং "গ্রেডেল র্যাপার ব্যবহার করুন" নির্বাচন করতে হবে:

অ্যান্ড্রয়েড স্টুডিওতে নির্বাচন করুন: ফাইল \ সেটিংস \ বিল্ড, এক্সিকিউশন, ডিপ্লোয়মেন্ট \ বিল্ড টুলস \ গ্রেডল

(ম্যাক ব্যবহারকারী: অ্যান্ড্রয়েড স্টুডিও \ পছন্দসমূহ ... ... বিল্ড, এক্সিকিউশন, ডিপ্লোয়মেন্ট \ বিল্ড টুলস \ গ্রেডল )

চিহ্নিত করুন: ডিফল্ট গ্রেড র্যাপার ব্যবহার করুন (ডিফল্ট)

বিল্ড ফাইলগুলিতে এটি সমস্ত 'প্রয়োগ করা যাবে না' (গ্রোভ.ইল.ক্লোজার ') সতর্কতাগুলি সরানো হয়েছে।


2
এটি সঠিক উত্তর, সমস্যাটি যখন আমি উইন্ডোজ এবং তারপরে লিনাক্সে (ড্রপবক্সের মাধ্যমে) প্রজেক্টটি খোলার পরে গ্রেডেল বিতরণের অবস্থান পরিবর্তন করে, তাই এটি ডিফল্ট গ্রেডের মোড়ক ব্যবহার করা আরও ভাল।
রদ্রিগো দিরিতো

1
আমারো একই ইস্যু ছিল. আমার সতীর্থ একটি উইন্ডোজ মেশিনে কাজ করে। আপডেটগুলি আনয়ন আমাকে এই সমস্যাটি দিচ্ছে
চিপ

@ ওয়াটারবার এটার কারণে আমি আসল উত্তরটি সম্পাদনা করেছি (আমি এর জন্যও কিছুক্ষণ অনুসন্ধান করেছি: ডি)। পিয়ার রিভিউয়ের পরে এটি উপলব্ধ হবে :) দেখুন: i.imgur.com/BtCijIW.png
স্টেফমা

ম্যাকের কোনওভাবে 1.3.1 এ বিল্ড -> ক্লিন এ পুনরায় সেট করুন reset এটিকে পিছনে সেট করে ফিক্সস বিল্ড। ধন্যবাদ!
ডেন দ্রোবিয়াজকো

11
অ্যান্ড্রয়েড স্টুডিওর সাথে বোকামিপূর্ণ কিছু, যখন আমি বিল্ড টার্গেট 22 এবং বিল্ডটুলস ভার্সন 22.0.1 তৈরি করি তখন তা আমাকে সতর্ক করতে শুরু করে .... আমার জন্য 'ডিফল্ট গ্রেডেল র্যাপার ব্যবহার করুন' ইতিমধ্যে ডিফল্ট হিসাবে চিহ্নিত হয়েছে (এএস 2.0 বিটা) ... আমি কেবল আমার কোড ব্লকটি কেটে খুব একই জায়গায় আটকানো হয়েছে (কোনও কোড পরিবর্তন হয় না, কোনও কনফিগার পরিবর্তন হয় না) .... সতর্কতা সরানো হয়েছে!
উমাইর

127

আমারো একই ইস্যু ছিল. অ্যান্ড্রয়েড বিভাগে শেষ এন্ট্রি হিসাবে বিল্ডটাইপগুলি সরানো আমার পক্ষে কাজ করেছিল।

android {
    ...
    buildTypes {
    }
}

2
আজব এটির অবস্থানটি একটি পার্থক্য করা উচিত তবে স্পষ্টতই তা করে।
জেসন ক্রসবি

এটি আমার পক্ষেও কাজ করে। আপনার কী কোনও ধারণা আছে কীভাবে এটি কাজ করে? ধন্যবাদ।
myNameCoad

4
এটি আমার পক্ষেও কাজ করেছে বলে মনে হয়েছিল, কিন্তু তারপরে আমি সেই পরিবর্তনগুলি বাতিল করে দিয়েছিলাম এবং সেই ব্লকটিকে একই জায়গায় কপি / পেস্ট করেছি এবং সতর্কতাও চলে গেছে। তারপরে আমি এ সমস্তটি পূর্বাবস্থায় ফেলার চেষ্টা করেছি এবং সতর্কবার্তার প্রতিরূপ তৈরি করতে এই প্রকল্পটি বন্ধ করে পুনরায় খুলতে চেষ্টা করেছি, তবে তা হয়ে গেছে। আমি মনে করি এটি কেবল এই ধরণের সতর্কতার মধ্যে একটি।
উপবৃত্তাকার 1

আমার জন্য, প্রায় সাবধানবাণীগুলি পিটারের উত্তর দ্বারা সাফ করা হয়েছিল, কেবলমাত্র কোনও সতর্কতা ব্যতীত buildTypes। তারপরে, এই সমাধানটি শেষের জন্য কাজ করেছিল!
হাটা

76

1 "বিল্ডটাইপস" কে "অ্যান্ড্রয়েড" বিভাগে একই অবস্থানে কেটে পেস্ট করুন

2 পুনরায় সিঙ্ক প্রকল্প


16

এই সমস্যাটি সমাধান করতে আপনার অ্যান্ড্রয়েড স্টুডিওতে ফাইল -> সেটিংসে যান । সেটিংসে বিল্ড, এক্সিকিউশন, ডিপ্লয়মেন্ট -> বিল্ড সরঞ্জাম -> গ্রেড নির্বাচন করুন এবং "ডিফল্ট গ্রেড র্যাপার ব্যবহার করুন (প্রস্তাবিত)" বিকল্পটি নির্বাচন করুন।

পুনর্নির্মাণের পরে আপনার বিল্ড.gradle পুরোপুরি ঠিক হয়ে যাবে।


1
এটি সঠিক উত্তর বা আপনি সঠিক গ্রেডের অবস্থানটি নির্বাচন করতে পারেন
অকার্যকর পয়েন্টার

1
পিটারের উত্তরটি কীভাবে এর থেকে আলাদা।
অ্যান্ডি ডাব্লু

13

উপরের বিকল্পগুলির মধ্যে যদি কোনও কাজ না করে তবে নিম্নলিখিতটি করুন

  1. Project"প্রকল্প এক্সপ্লোরার" এ প্রকল্পটি দৃষ্টিকোণে পরিবর্তন করুন ।
  2. মুছুন .gradleএবং buildফোল্ডারগুলি।
  3. ফাইলটি ক্লিক করুন -> বাতিল করুন ক্যাশে / পুনঃসূচনা করুন ... -> অবৈধ এবং পুনরায় চালু করুন
  4. এখন এটির কাজ, শুভ কোডিং।

7

আমি কেবল এটি করে আমার সমস্যার সমাধান করতে পেরেছি: "ফাইল" ক্লিক করুন এবং তারপরে "অকার্যকর ক্যাশে / পুনঃসূচনা করুন" নির্বাচন করুন


6

এই গ্রেডল সমস্যাগুলি সমাধান করার সবচেয়ে সহজ উপায় হ'ল অ্যান্ড্রয়েড স্টুডিওগুলিকে গ্রেডল পুনরায় কনফিগার করতে প্রজেক্টটি পুনরায় তৈরি করা।

কেবল "একটি বিদ্যমান অ্যান্ড্রয়েড স্টুডিও প্রকল্প খুলুন" নির্বাচন করুন এবং আপনার প্রকল্পের ফোল্ডারটি চয়ন করুন।

আরও বিশদ এখানে


4

এটি আমার পক্ষে কাজ করেছে:

buildTypes.debug {
    ext.enableCrashlytics = false
}

buildTypes.release {
    debuggable false
    zipAlignEnabled true
    minifyEnabled false
    signingConfig signingConfigs.release
}

4

আপনি যখন আপনার পরিবেশে কোনও প্রকল্প আমদানি করেন তখন সমস্যাটি উপস্থাপিত হয় এবং গ্রেডল প্লাগইনটি আসলটির চেয়ে আলাদা স্থানে ইনস্টল করা হয়। আপনার গ্রেডল ইনস্টলেশনটি কোথায় তা আপনাকে কেবল উল্লেখ করতে হবে।

বিল্ডটাইপস বা ডিফল্টকনফিগ বা একে অপরের মধ্যে যা কিছু স্থানান্তরিত করা সম্পূর্ণ সমাধান নয়


এইভাবে আমি কীভাবে এই সমস্যার সমাধান করেছি ... ১. অ্যান্ড্রয়েড স্টুডিওতে নেভিগেট করুন: ফাইল | সেটিংস | ফাইল | সেটিংস | বিল্ড, এক্সিকিউশন, মোতায়েন | বিল্ড সরঞ্জাম | গ্রেডেল ২. এটি রক্ষণের জন্য প্রস্তাবিত হওয়া সত্ত্বেও এটি চেক করা হয়েছে কিনা তা নিশ্চিত করুন ... ডিফল্ট গ্রেডল র‍্যাপার ব্যবহার করুন (প্রস্তাবিত) ৩ এবং এটি পরীক্ষা করা হয়েছে ... স্থানীয় গ্রেড বিতরণ 4 ব্যবহার করুন এবং গ্রেডল হোম সেট করা আছে এটি সম্ভবত পরবর্তী গ্রেড-এনএন দিয়ে ... সি: / প্রোগ্রাম ফাইল / অ্যান্ড্রয়েড / অ্যান্ড্রয়েড স্টুডিও 1 / গ্রেডেল / গ্রেডেল -২.৪ আপনাকে অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করতে হবে, প্রকল্পটি পুনর্নির্মাণ করতে হবে, ইত্যাদি সমস্যা সমাধান হয়ে যেতে পারে।
মিক

3

সমস্যাটি হ'ল আপনার অ্যান্ড্রয়েড স্টুডিও সেটিংস যা আপনি সম্ভবত আপগ্রেডে আমদানি করেছিলেন, এখনও গ্রেড -২.৪ বা অ্যান্ড্রয়েড স্টুডিও 1.5 এর চেয়ে কিছু অন্যান্য সংস্করণের দিকে ইঙ্গিত করেছিলেন।

এই সমস্যাটি সমাধান করার জন্য আপনার সেটিংস খুলতে হবে এবং বিল্ড, এক্সিকিউশন, স্থাপনা> বিল্ড টুলস> গ্রেডল এ যেতে হবে এবং আপনার স্থানীয় গ্রেড বন্টনের হোম পাথ পরিবর্তন করতে হবে বা ডিফল্ট গ্রেডের মোড়ক নির্বাচন করা উচিত।

আপনার প্রকল্পটি প্রয়োগ করুন এবং পুনরায় সিঙ্ক করুন।


2

আমারও একই সমস্যা ছিল। আমি একটি নতুন প্রকল্প শুরু করেছি এবং এটি কাজ করেছে, তাই আমি কেবল বিল্ড.gradle ফাইলটি অনুলিপি করেছি। আমার ক্ষেত্রে কেবল পার্থক্যটি ছিল সংকলন বিভাগের অভাব। আমি এটিকে আমার প্রকল্প থেকে সরিয়েছি, গ্রেড গ্রেড করেছি, সংকলন বিভাগটি পুনরায় সন্নিবেশ করিয়েছি এবং তারপরে গ্রেডটি আবার সিঙ্ক করেছি।


2

আপনার অ্যান্ড্রয়েড স্টুডিওতে ফাইল -> সেটিংসে যান। এরপরে বিল্ড, এক্সিকিউশন, ডিপ্লোয়মেন্ট -> বিল্ড সরঞ্জাম -> গ্রেড নির্বাচন করুন এবং "ডিফল্ট গ্রেড র্যাপার ব্যবহার করুন (প্রস্তাবিত)" নির্বাচন করুন।

প্রকল্প পুনর্নির্মাণ।


2

আমার ক্ষেত্রে আমার buildTypesবিভাগটি আমার বিভাগের উপরে ছিল productFlavors। তাদের অবস্থানগুলি বিনিময় করা সতর্কতা থেকে মুক্তি পেয়েছে:

আগে:

buildTypes {

        debug {
            minifyEnabled false
            shrinkResources false
            ...//etc
        }
 }

 productFlavors {
    demo {
        ...//etc
    }
 }

পরে:

 productFlavors {
    demo {
        ...//etc
    }
 }    

 buildTypes {

        debug {
            minifyEnabled false
            shrinkResources false
            ...//etc
        }
 }

আমি আমার androidবিভাগের শীর্ষে নিম্নলিখিত কনফিগারেশন সহ অ্যান্ড্রয়েড স্টুডিও ২.১.২ ব্যবহার করছি :

android {
    compileSdkVersion 24
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.xyz.abc"
        minSdkVersion 14
        targetSdkVersion 24
        //..etc

1

আমি অ্যান্ড্রয়েড স্টুডিও আপডেট করার পরে আমার এই সতর্কতাটি ছিল।

যখন আমি সেটিংস >> বিল্ড সরঞ্জামসমূহ >> গ্রেডল এ গিয়েছিলাম স্থানীয় গ্র্যাডলের পাথটি অবৈধ ছিল, কারণ গ্রেডেল সংস্করণটিও 2.6 থেকে 2.8 থেকে আপডেট করা হয়েছিল।

নতুন পথটি স্থির করে এবং পুনরায় সিঙ্ক গ্রেডেল সতর্কতাটি সরিয়ে দিয়েছে।

অন্য উপায় ব্যবহার করা হয় gradlewrapper


0

ডিস্ট্রিবিউশন ইউআরএল = https: //services.gradle.org/distribitions/gradle-2.1-bin.zip গ্রেড-২.১- সব.জিপ গ্রেড- wrapper.properties এ গ্রেড করা আমার জন্য সমস্যার সমাধান করেছে।


0

সম্পাদনা: এইভাবে আমি এই সমস্যাটি শেষ পর্যন্ত কীভাবে সমাধান করেছি ...

  1. এন্ড্রয়েড স্টুডিওতে নেভিগেট এ:

    ফাইল | সেটিংস | বিল্ড, এক্সিকিউশন, মোতায়েন | বিল্ড সরঞ্জাম | Gradle

  2. এটি যাচাই করা আছে কিনা তা নিশ্চিত করুন, তবুও এটি রাখার প্রস্তাব দেওয়া হচ্ছে ...

    ডিফল্ট গ্রেডল র‍্যাপার ব্যবহার করুন (প্রস্তাবিত)

  3. এবং এই এক চেক করা হয়েছে যে ...

    স্থানীয় গ্রেড বিতরণ ব্যবহার করুন

  4. এবং গ্রেডল হোম সম্ভবত এটির পরে গ্রেড-এনএন সহ এটিতে সেট করা আছে ...

    সি: / প্রোগ্রাম ফাইল / অ্যান্ড্রয়েড / অ্যান্ড্রয়েড স্টুডিও 1 / গ্রেডেল / গ্রেডেল -২.৪

আপনাকে অ্যান্ড্রয়েড স্টুডিও পুনরায় চালু করতে হবে, প্রকল্পটি পুনর্নির্মাণ করতে হবে ইত্যাদি ইত্যাদি সমস্যা সমাধান হয়ে যেতে পারে।

EDIT এর সমাপ্তি।

আমি এটিকে পোস্ট করার জন্য এ সমস্যাটি নতুন কাউকে উপেক্ষা করার পরামর্শ দেওয়ার জন্য করছি। প্রকল্প নির্বিশেষে পুরোপুরি চলমান। এটি বিল্ড সিস্টেমের মধ্যে কেবল একটি বাগ, আশা করি শীঘ্রই সংশোধন করা হবে। আমি একটি মন্তব্য পোস্ট করে এখানে ভোট দিয়েছি যেখানে এটি আবার একটি সক্রিয় বিষয় ...

https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=76719

চেষ্টা করার পরে, ব্যর্থ, নিম্নলিখিত তিনটি থ্রেডে দেওয়া পরামর্শগুলি, আমি পুরো প্রকল্পটি প্রথম থেকে পুনরায় তৈরি করেছি। আমি একটি নতুন অ্যান্ড্রয়েড স্টুডিও প্রকল্প শুরু করেছি, বিল্ড সিস্টেমের দ্বারা উত্পন্ন সমস্ত ফাইল এবং প্রকল্পটি পুনর্নির্মাণের উপেক্ষা করে মূল লিবস এবং প্রধান ফাইলগুলির সমস্ত অনুলিপি করেছিলাম। "" প্রয়োগ করা যাবে না "(গ্রোভ.ইল্যাং.ক্লোজার)" ব্যতীত সমস্ত কিছুই ঠিক ছিল "" সতর্কতাগুলি একটি উদ্দীপনা নিয়ে পুনরায় হাজির হয়েছিল। তারপরে আমি এই পরামর্শগুলির মধ্য দিয়ে আবার গিয়েছিলাম কেবলমাত্র নিশ্চিত হতে যে আমি কিছু উপেক্ষা করেছি না।

1 বিল্ডটাইপগুলি গ্রোভি.এলং-তে প্রয়োগ করা যাবে না Android মোড়ক (ডিফল্ট) এটি সরিয়ে ফেলা সমস্ত বিল্ড ফাইলগুলিতে '(প্রয়োগ করা যাবে না') (groovy.lang.Closure ') সতর্কতাগুলি।

2 'নির্ভরতা' প্রয়োগ করা যায় না '(groovy.lang.Closure)' ফাইলটি খুলুন এবং সম্পাদনা করুন: আপনার প্রকল্প / গ্রেড / মোড়ক / গ্রেড-র্যাপার.প্রোপার্টি। চিত্র হিসাবে নীচে হিসাবে সম্পাদনা করুন তারপর সংরক্ষণ করুন। এই ফোল্ডারটি মুছুন: আপনারপ্রজেক্ট / .গ্রাডল। গ্রেড ফাইল সহ সিঙ্ক প্রকল্পটি ক্লিক করুন, তারপরে আপনি ভাল।

3 https://github.com/DrKLO/Telegram/issues/870

আমার কনফিগারেশনটি হ'ল: অ্যান্ড্রয়েড স্টুডিও ১.৩, সংকলনএসডিকি সংস্করণ ২২, বিল্ডটুলস সংস্করণ "22.0.1"



0

অপসারণ করতে আমাকে যা করতে হয়েছিল তা সবই

productFlavors {
}

থেকে

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

এবং সতর্কতা চলে গেল।

ফাইনাল লুক এ রকম ছিল

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

0

এর buildToolsVersionথেকে পরিবর্তন করা হচ্ছে

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2" 
.. 
}

প্রতি

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1" 
.. 
}

আমার জন্য কাজ।

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