ग्रेड डीएसएल विधि नहीं मिली: 'रनप्रो गार्ड'


497

मुझे अपनी अंतिम परियोजना से अपडेट करने के बाद एक त्रुटि मिलती है। मेरे कोड में कोई समस्या नहीं है, लेकिन मुझे build.gradle से परेशानी हो रही है। मेरे द्वारा यह कैसे किया जा सकता है?

build.gradle कोड यहां:

apply plugin: 'android'

android {
    compileSdkVersion 21
    buildToolsVersion '20.0.0'

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
    }

    defaultConfig {
        applicationId 'com.xxx.axxx'
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 6
        versionName '1.0'
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
    compile files('libs/commons-codec-1.8.jar')
    compile files('libs/asmack-android-8-4.0.4.jar')
    compile 'com.android.support:support-v4:21.0.0'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.jakewharton:butterknife:5.1.1'
}

ग्रेड सिंक संदेश आउटपुट:

Error:(27, 0) Gradle DSL method not found: 'runProguard()'
**Possible causes:
The project 'Atomic4Mobile' may be using a version of Gradle that does not contain the method.
**Gradle settings**
The build file may be missing a Gradle plugin.
**Apply Gradle plugin**

132
minifyEnabledइसके बजाय प्रयास करें runProguard
कॉमन्सवेयर

@CommonsWare मेरे लिए काम करता है
ph<

मैं अभी भी विश्वास नहीं कर सकता कि यह बहुत सारे अपवित्र हैं। यहां परिवर्तनों के साथ अद्यतित रहें: tools.android.com/tech-docs/new-build-system
जारेड बुर

मेरे लिए काम नहीं कर रहा है
डॉ। एएनआरडीओ

जवाबों:


819

यहाँ छवि विवरण दर्ज करेंयदि आप 0.14.0 या उससे अधिक के ग्रेड प्लग इन का उपयोग कर रहे हैं, तो आपको अपनी बिल्ड.ग्रेडल फ़ाइलों में "minifyEnabled" के साथ "रनप्रो गार्ड" को बदलना चाहिए ।

runProguard को 0.14.0 संस्करण में अक्षम करने के लिए नाम दिया गया था । अधिक जानकारी के लिए, Android बिल्ड सिस्टम देखें


4
इसके लिए स्रोत यहां है
क्रिस कैर्फ़िस

3
वहाँ दो build.gradle फ़ाइलें हैं, आंतरिक एक, ऐप उपनिर्देशिका में एक है।
बार्लोप

त्रुटि: (26, 0) ग्रेडल डीएसएल विधि नहीं मिली: 'क्लासपाथ ()' संभावित कारण: प्रोजेक्ट 'नमूना' ग्रैडल के एक संस्करण का उपयोग कर सकता है जिसमें विधि शामिल नहीं है।
प्रसाद

279

कामों के 'minifyEnabled'बजाय 'runProguard'सही तरीके से उपयोग करना ।

Previous code:

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

Current code:

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

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


72

यदि आप 1.0.0 की ओर पलायन कर रहे हैं, तो आपको निम्नलिखित गुणों को बदलने की आवश्यकता है।

प्रोजेक्ट की build.gradle फ़ाइल में आपको minifyEnabled को बदलने की आवश्यकता है।

इसलिए आपका नया बिल्ड प्रकार होना चाहिए

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

यह भी सुनिश्चित करें कि ग्रेडल संस्करण 1.0.0 जैसा है

classpath 'com.android.tools.build:gradle:1.0.0'

में build.gradle फ़ाइल।

इससे समस्या हल हो जानी चाहिए।

स्रोत: http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0


17

RunProguard को minifyEnabled में बदलने से, समस्या का हिस्सा ठीक हो जाता है।

लेकिन यह फिक्स "लाइब्रेरी प्रोजेक्ट्स एप्लिकेशन आईडी सेट नहीं कर सकता" (आप यहां एंड्रॉइड स्टूडियो 1.0 के लिए फिक्स पा सकते हैं और "लाइब्रेरी प्रोजेक्ट्स एप्लीकेशनआईड सेट नहीं कर सकते" )।

Build.gradle फ़ाइल में एप्लिकेशन आईडी हटाकर, आपको जाने के लिए अच्छा होना चाहिए।


यहां उत्तर का पता लगाने की कोशिश करें और फिर उसे लिंक दें।
6

किसी को पहले ही बता देना चाहिए था। महान! MinifyEnabled करने के बाद , सभी बाहरी पुस्तकालय परियोजनाओं के साथ ही buld.gradle में भी इसे करने की आवश्यकता है।
सूद 7००

0

RunProguard को 0.14.0 (2014/10/31) संस्करण या ग्रैडल में और अधिक छोटा करने के लिए नाम बदल दिया गया है ।

इसे ठीक करने के लिए, आपको अपने प्रोजेक्ट की build.gradle फ़ाइल में minifyEnabled करने के लिए runProguard को बदलना होगा ।

यहाँ छवि विवरण दर्ज करें

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