'নির্ভরতা' প্রয়োগ করা যাবে না '(গ্রোভ.ইল্যাং.ক্লোজার)'


121

আমি এই ত্রুটিটি ঠিক করতে অক্ষম:

dependencies cannot be applied to '(groovy.lang.Closure)

এটি আমার গ্রেড ফাইল:

buildscript {
     repositories {
         maven { url 'http://download.crashlytics.com/maven' }
     }

     dependencies {
         classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
     }
 }
apply plugin: 'android'
apply plugin: 'crashlytics'

repositories {
   maven { url 'http://download.crashlytics.com/maven' }
}

dependencies {
    compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':FRNDzTER_core')
    compile project(':cropper')
    compile project(':stickyListHeaders')
    compile "com.nostra13.universalimageloader:universal-image-loader:${rootProject.universalImageLoaderVersion}"
    compile "com.google.android.gms:play-    services:${rootProject.googlePlayServicesVersion}"
    compile "de.keyboardsurfer.android.widget:crouton:${rootProject.croutonVersion}"
    compile "com.nineoldandroids:library:${rootProject.nineoldandroidsVersion}"
    compile 'com.github.chrisbanes.actionbarpulltorefresh:library:+'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

android{
    compileSdkVersion rootProject.compileSdkVersion
    buildToolsVersion rootProject.buildToolsVersion
    defaultConfig {
        minSdkVersion rootProject.minSdkVersion
        targetSdkVersion rootProject.targetSdkVersion
        versionCode rootProject.versionCode
        versionName rootProject.versionName
    } 
    buildTypes {
        release {
            debuggable rootProject.prodDebug
            proguardFile 'proguard.cfg'
        }
    }

    dependencies {
    }

    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
    lintOptions {
        abortOnError false
    }
 }

1
আমি খুব নিশ্চিত যে এগুলি খুব বেশি সম্পর্কিত এবং সেখানে আমার উত্তর হিসাবে বোঝা যায়, আমি মনে করি ত্রুটি চিহ্নিতকরণটি একটি ত্রুটিযুক্ত কারণ সমাধানের বৈষম্য। stackoverflow.com/questions/29133601/… এখানে শীর্ষ উত্তরটি বলার অপেক্ষা রাখে না যে আপনার "বর্তমান" গ্রেড বিল্ডস্ক্রিপ্ট সম্পর্কে কিছু খুব কার্যকর বৈধ পয়েন্ট দেয় না
Seb Andraos

উত্তর:


22

কি অ্যান্ড্রয়েড স্টুডিও উত্পন্ন উপর ভিত্তি করে, আপনি একটি টপ লেভেল প্রকল্প ফাইল থাকতে হবে build.gradleআপনার অ্যাপের জন্য অন্য আর build.gradle

শীর্ষ স্তর:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        maven { url 'http://download.crashlytics.com/maven' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url 'http://download.crashlytics.com/maven' }
    }
}

আবেদনের স্তর:

apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

android{
    compileSdkVersion rootProject.compileSdkVersion
    buildToolsVersion rootProject.buildToolsVersion
    defaultConfig {
        minSdkVersion rootProject.minSdkVersion
        targetSdkVersion rootProject.targetSdkVersion
        versionCode rootProject.versionCode
        versionName rootProject.versionName
    } 
    buildTypes {
        release {
            debuggable rootProject.prodDebug
            proguardFile 'proguard.cfg'
        }
    }

    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
    lintOptions {
        abortOnError false
    }
 }     `

dependencies {
    compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':FRNDzTER_core')
    compile project(':cropper')
    compile project(':stickyListHeaders')
    compile "com.nostra13.universalimageloader:universal-image-          l                        loader:${rootProject.universalImageLoaderVersion}"
    compile "com.google.android.gms:play-    services:${rootProject.googlePlayServicesVersion}"
    compile "   "de.keyboardsurfer.android.widget:crouton:${rootProject.croutonVersion}"
    compile "com.nineoldandroids:library:${rootProject.nineoldandroidsVersion}"
    compile 'com.github.chrisbanes.actionbarpulltorefresh:library:+'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

তবে এগুলি ছাড়াও আপনার সমস্যাটি হ'ল dependenciesআপনার androidপ্লাগইন কনফিগারেশনের মধ্যে একটি রয়েছে ।

android {
    dependencies {
    }
}

যে খালি dependenciesব্লক অপসারণ ।

সম্পাদনা: আমি সর্বশেষতম অ্যান্ড্রয়েড স্টুডিওতেও এই ত্রুটিটি পেতে শুরু করেছি, আমাকে যা করতে হয়েছিল তা হ'ল গ্রেডল প্লাগইনের একটি নতুন সংস্করণ যুক্ত করা, এবং সংকলনএসডিপি ভার্সন 22।

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

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

11
আমি এখনও সেই একই সমস্যাটি করেছি :(
অশনি কোট্টাপল্লী

সত্যি কথা বলতে, আমি মনে করি আপনার ক্রাউটন, ইউনিভার্সাল-ইমেজ-লোডার এবং গুগলপ্লে সার্ভিস নির্ভরতাগুলির অতিরিক্ত কোট এবং স্পেসগুলি ঠিক করা উচিত। আপনার বিকাশকারী.অ্যান্ড্রয়েড.
com

এটি কাজ করছে না ... আপনি কি আমাকে এফবি আইডি বা অন্য যে কোনও ... দিতে পারেন, যাতে আমরা ওয়ার্কআউট করতে পারি? অনুগ্রহ?
আশ্বানি কোট্টাপল্লী

... সেক্ষেত্রে আপনার বাগটি কী তা আমি জানি না। :( সর্বশেষে আমার সাথে এটি ঘটেছিল, আমার অ্যান্ড্রয়েড এবং গ্রেড প্লাগইনটি পুরানো হয়ে গিয়েছিল এবং আমি একটি কনফিগার টাইপ ব্যবহার করছিলাম যা আর অস্তিত্বহীন ছিল
এপিকপান্ডাফোরস

1
আপনি কমান্ড লাইন বা আইডিই ব্যবহার করছেন কিনা তা নির্ভর করে। এবং যদি আইডিই হয়, তবে কি আইডিই।
এপিকপান্ডাফোরস

247

আপনি অগ্রাধিকারগুলিতে যেতে পারেন এবং "ডিফল্ট গ্রেডেল র্যাপার ব্যবহার করুন" নির্বাচন করুন এবং তারপরে প্রকল্পটি পুনর্নির্মাণ করতে পারেন। এটি আমার পক্ষে ভাল কাজ করেছে: এখানে চিত্র বর্ণনা লিখুন


4
কেন এমন হয় কারও ব্যাখ্যা আছে?
র্যাকস

1
দেখে মনে হচ্ছে 1.4 থেকে 1.5 থেকে আপডেট হয়ে যাওয়ার পরে, এই সেটিংসটি আমার মেশিনের পরিবর্তে স্থানীয় বিতরণটি ব্যবহার করতে "রিসেট" পেয়েছে। এই উত্তরটি অবশ্যই সমস্যাটি সমাধান করেছে।
দৃশ্যমান.মৌজন্য

3
143.2532994 সংস্করণ অনুসারে এই সমস্যাটি আবার ঘটবে বলে মনে হচ্ছে ... আমার সাথে কেউ একই রকম ...? তাই বিরক্তিকর ..
Arst

নির্বাচিত উত্তরটি খুব বিস্তৃত এবং সৎ হওয়া সত্ত্বেও, এই উত্তরটির পরিমাণ আরও বাড়ানোর কারণ রয়েছে এমন একটি কারণ রয়েছে
পাভেল জেডেনেক

ওহ, হ্যাঁ, এর একটি কারণ রয়েছে - ম্যাক ব্যবহারকারীরা। উইন্ডোজে, পৃষ্ঠাটি পৃথক। "দেখানোর মতো কিছু নেই"। চিহ্নিত উত্তরটি অন্তত কোনওভাবে কার্যকর।
গাংনাস

37

যাও

উইন্ডোজ

ফাইল -> সেটিংস -> বিল্ড, এক্সিকিউশন, স্থাপনা -> বিল্ড সরঞ্জাম -> গ্রেডল

ম্যাক

পছন্দ -> নির্মাণ, কার্যকরকরণ, স্থাপনা -> বিল্ড সরঞ্জাম -> গ্রেডল

এবং ডিফল্ট গ্রেড র্যাপার ব্যবহার করুন নির্বাচন করুন


1
উইন্ডোজ। নির্বাচন করার মতো কিছুই নেই।
গাংনাস

2
প্রথমে আপনাকে প্রথমে প্রকল্পটি খুলতে হবে।
র‌্যাটার

এবং লিনাক্সে এটি উইন্ডোজের মতো: ফাইল -> সেটিংস -> বিল্ড, এক্সিকিউশন, স্থাপনা -> বিল্ড সরঞ্জাম -> গ্রেডল। আপনি নিজের উত্তরটি সম্পাদনা করতে এবং "উইন্ডোজ / লিনাক্স" লিখতে পারেন।
লেনোহ

18

আমার সমস্যাটি হ'ল পুরো বিল্ড.সেটিং ফাইলটি দখল করা ছিল cannot be applied to '(groovy.lang.Closure)' কোনও নির্দিষ্ট ভেরিয়েবলের পরিবর্তে সতর্কতা বার্তাগুলি দ্বারা ।

আমি অন্যদের দ্বারা সরবরাহিত সমস্ত সমাধান চেষ্টা করেছি তবে সেগুলির কোনওোটাই আমার পক্ষে কাজ করে না। আমি এই পদক্ষেপগুলি শেষ করেই শেষ করেছি তখন এটি কবজির মতো কাজ করে। আপনি যদি একই সমস্যাটির মুখোমুখি হন তবে একবার চেষ্টা করে দেখুন।

  1. ফাইলটি খুলুন এবং সম্পাদনা করুন: yourproject/gradle/wrapper/gradle-wrapper.properties। নীচের চিত্রের মতো গ্রেড বিতরণ সংস্করণটি আপডেট করতে সামগ্রী সম্পাদনা করুন তারপরে সংরক্ষণ করুন।
  2. এই ফোল্ডারটি মুছে ফেলুন: yourproject/.gradle
  3. ক্লিক করুন Sync project with gradle files, তাহলে আপনি যেতে ভাল।

এখানে চিত্র বর্ণনা লিখুন


1
আপনারপ্রজেক্ট / .গ্র্যাডাল ডিরেক্টরি মুছতে হবে না। আপনি যদি এটি করা চয়ন করেন তবে সেখানে তৈরি করা কোনও কাস্টমাইজেশন যেমন সংরক্ষণ করেছেন তা নিশ্চিত করুন, যেমন org.gradle.daemon = সত্য (একটি সাধারণ অপ্টিমাইজেশন) এর সাথে গ্রেড.প্রপ্রেটি ফাইল যুক্ত করা। যাইহোক, আপনি কেবল পুনর্নির্মাণ করতে পারেন, এবং গ্রেড র‌্যাপার পুরানো সংস্করণগুলির পাশাপাশি বিতরণ ইউআরএল-তে উল্লিখিত নতুন সংস্করণটি ডাউনলোড করবে। পুরানো সংস্করণ ডিরেক্টরিগুলি আপনার প্রকল্পের গ্রেড ডিরেক্টরিতে থাকা ভাল।
মার্ক ম্যাককেলল্যান্ড

gradle-wrapper.propertiesআমার সমস্যা সমাধানের ক্ষেত্রে গ্রেড সংস্করণ আপডেট করা। ধন্যবাদ!
বিভিবি

18

আপনি যদি ইতিমধ্যে "ডিফল্ট গ্রেডেল র‍্যাপার" ব্যবহার করেন এবং এটি কোনও সহায়তা করে না:

In Menu click: File -> Invalidate Caches / Restart...

যদি এটি 2 টি পদক্ষেপে চেষ্টা করতেও সহায়তা করে না:

1) Delete ".gradle" folder (and "build" folder if you have it already)

2) In Menu click: File -> Invalidate Caches / Restart...

পুনরায় চালু করার পরে সতর্কতা অদৃশ্য হয়ে যাবে।

(আমার জন্য এটি কাজ করেছে এবং অ্যান্ড্রয়েড স্টুডিও এবং ইন্টেলিজ আইডিয়া জন্য)


আমার জন্য কাজ করেছেন। কেবলমাত্র লক্ষণীয়: আপনি যদি বান্ডিলের পরিবর্তে নিজস্ব গ্রেডেল ব্যবহার করেন তবে আপনাকে নিজের .gradleহোম ডিরেক্টরিতেও মুছতে হবে।

1
কেবলমাত্র 2) নির্দেশনা আমার পক্ষে কাজ করেছে। ধন্যবাদ !!
ম্যানলোডেউইনার

2
5 সেকেন্ডের জন্য ... কাজ করেছে তারপর আমি আবার ত্রুটি পেয়েছিলাম।
ইয়ার

প্রকল্পগুলি সঠিকভাবে পার্সিংয়ের মাধ্যমে ইন্টেলিজি সাম্প্রতিক সময়ে কতটা খারাপ তা হতাশার জন্য খানিকটা হতাশ। এটি এর দুর্গন্ধে ব্যবহৃত হত ... এখন মনে হচ্ছে এটি সামান্য কিছুতেই হোঁচট খায়।
স্মুডেট

4

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

এখানে চিত্র বর্ণনা লিখুন


1

আমি আপনাকে বাজি দিচ্ছি যে সমস্যাটি কোডের টুকরোটির সাথে সম্পূর্ণ সম্পর্কিত নয় যা আপনাকে সতর্কতা দিচ্ছে, সম্ভবত এটি আপনার অগ্রবর্তী ফাইল। আমার কোডে আমার নিম্নলিখিত ছিল এবং একই সতর্কতা পেয়েছি:

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

মন্তব্য করে runProguard false, আমার সমস্ত সমস্যা দূরে যায়, চিত্র দেখুন :)


ড্যানিয়েল উইলসন এটা সাহায্য করে যদি আপনি পরিবর্তন runProguardকরতে minifyEnabledপরিবর্তে? আরও তথ্য এখানে সরবরাহ করা হয়েছে
সের্গেই এন।

1

অ্যান্ড্রয়েড স্টুডিও ২.২-এ আমার একই সমস্যা রয়েছে , এটি আমার পক্ষে কাজ করে:

মূল:

android {
...
}

dependencies {
...
}

সরানো dependenciesমধ্যে android:

android {
...
   dependencies {
   ...
   }
}

1

আমি ক্যাশেটিকে অকার্যকর করে পুনরায় আরম্ভ করে অ্যান্ড্রয়েড স্টুডিওতে সমস্যাটি সমাধান করেছি।

File-> Invalidate Caches / Restart..

এখানে চিত্র বর্ণনা লিখুন


1

আমি কোটলিন প্রকল্পের জন্য ইন্টেলিজিতে এটির মতো একই সমস্যার মধ্যে পড়েছিলাম। দেখে মনে হচ্ছে সমস্যাটি আমার প্রকল্পে, এটি JDK 8 ব্যবহার করার জন্য সেট করা থাকলেও ভাষা এবং এপিআই সংস্করণগুলি কোনওভাবে 1.3 এ সেট হয়ে গেছে। প্রকল্প পছন্দসমূহ> দিকগুলি দেখুন। আমার ক্ষেত্রে, আমি "প্রকল্পের সেটিংস ব্যবহার করুন" টিক দিয়েছি, তবে ম্যানুয়ালি সেগুলি ফ্যাক্টর হিসাবে সেট করাও কাজ করতে পারে।


0
  1. প্রকল্পটি বন্ধ করুন (ফাইল / ফাইল বন্ধ করুন),
  2. স্টার্ট মেনুতে "বিদ্যমান অ্যান্ড্রয়েড স্টুডিও প্রকল্পটি খুলুন" নির্বাচন করুন এবং আপনার অ্যান্ড্রয়েড প্রকল্পযুক্ত ফোল্ডারটি নির্বাচন করুন।

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


0

এই জাতীয় ত্রুটি এড়াতে গ্রেডল ফাইলগুলি বেশ কয়েকটি জায়গায় স্পষ্ট করে দেওয়া যেতে পারে। যেমন পরিবর্তন

configurations {

প্রতি

project.configurations {

অথবা

task {
    description 'foo'

প্রতি

task {
    setDescription 'foo'

0

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


0

"অ্যান্ড্রয়েড" বিভাগে একই জায়গায় "বিল্ডটাইপস" কেটে পেস্ট করুন এবং পুনরায় সিঙ্ক (রিফ্রেশ) প্রকল্প করুন


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