एंड्रॉइड स्टूडियो ग्रैडल डीएसएल विधि नहीं मिली: 'एंड्रॉइड ()' - त्रुटि (17,0)


82

मैं एंड्रॉइड स्टूडियो में अपनी परियोजना को चलाने का प्रयास कर रहा हूं, लेकिन त्रुटि नीचे दिखाई देती है:

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

मैंने इसे चलाने के लिए और यहां घाव भरने के लिए कई स्रोतों का पालन किया है, लेकिन यह नहीं जानता कि क्या करना है।

मैं चलाने के लिए इस परियोजना को कैसे कॉन्फ़िगर कर सकता हूं?

build.gradle:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.9.+'
        }
    }

    allprojects {
        repositories {
            mavenCentral()
        }
    }

    android {
        compileSdkVersion 19
        buildToolsVersion "19.1" 
    }

settings.gradle:

include ':app'

local.properties:

sdk.dir=C\:\\Users\\KJA\\AppData\\Local\\Android\\sdk

gradle.propertes:

# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

1
मैं अनुमान लगा रहा हूं कि आपने यह परियोजना शुरू की है। फाइल क्यों नहीं -> नया प्रोजेक्ट और इसे आपके लिए ग्रेडल सेट करने दें। इसके अलावा, अपने ग्रेडिंग प्लगइन को 1.0 में अपग्रेड करें
जारेड बुरोज

यह एक ऑनलाइन स्रोत से एक परियोजना है, मैंने इसे आयात किया
Sauron


कृपया मेरा उत्तर देखें। आपको बस प्रोजेक्ट अपग्रेड करने की जरूरत है।
जारेड बुरोज

जवाबों:


56

मैंने आगे बढ़कर आपके द्वारा दिए गए लिंक से प्रोजेक्ट डाउनलोड किया: http://javapapers.com/android/android-chat-bubble/

चूंकि यह एक पुराना ट्यूटोरियल है, इसलिए आपको बस सॉफ्टवेयर, ग्रेडल, एंड्रॉइड बिल्ड टूल्स और प्लगइन को अपग्रेड करना होगा।

सुनिश्चित करें कि आपके पास नवीनतम ग्रेड और एंड्रॉइड स्टूडियो है:

build.gradle:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

एप्लिकेशन / build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.3'

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName '1.0'
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.2.1'
}

फिर रनिंग ग्रेड:

gradle installDebug

अतिरिक्त प्रयास के लिए सबसे पहले धन्यवाद !! लेकिन जब मैंने प्रोजेक्ट डाउनलोड किया और आयात किया, तो केवल एक build.gradle फ़ाइल थी। आपको दो, ऐप और प्रोजेक्ट कैसे मिले?
सूरन

मैंने ज़िप डाउनलोड किया और कमांड लाइन के माध्यम से फाइलों के माध्यम से चला गया। इसके अलावा, आमतौर पर एक शीर्ष build.gradle और एक परियोजना build.gradle हैं। जब आप Intellij / Android Studio में अपनी परियोजना का आयात करते हैं, तो शीर्ष build.gradle का चयन किया जाता है। एक शीर्ष build.gradle है और दूसरा ऐप फ़ोल्डर में है।
जेरेड बर्न्स

@ सौरोन क्या आपके लिए सब कुछ काम करता है? इसे चलाने के लिए आपको मेरे अपडेट किए गए बिल्ड.ग्रेड का उपयोग करने की आवश्यकता है। इसके अलावा, मुझे बताएं कि क्या आपको और मदद की ज़रूरत है!
जारेड बुरोज

@JaredBurrows क्या आप stackoverflow.com/questions/30958596/… के साथ भी मदद कर सकते हैं ? यह इसी तरह का सवाल है। मुझे ग्रेडम के उन्नयन के साथ एक कठिन समय मिल रहा है।
committedandroider

1
बस एक टिप्पणी जोड़ना चाहता था कि यह किसी के लिए भी काम करता है Parse.com Android क्विकस्टार्ट रिक्त नई परियोजना को स्थापित करने की कोशिश कर रहा है, जिसका एक ही मुद्दा है अगर आप डाउनलोड करते हैं और स्थापित करते हैं :)
मैक्स

46

अपने शीर्ष स्तर में build.gradleआपको लगता है कि कोड है

android {
   compileSdkVersion 19
   buildToolsVersion "19.1" 
}

आपके पास शीर्ष स्तर पर यह कोड नहीं हो सकता build.gradleक्योंकि Android बिल्ड प्लगइन अभी तक लोड नहीं हुआ है। आप संकलन संस्करण को परिभाषित कर सकते हैं और ऐप स्तर में टूल संस्करण बना सकते हैं build.gradle


3
अद्भुत Android स्टूडियो 2.2 पूर्वावलोकन बेतरतीब ढंग से शीर्ष स्तर build.gradle
केविन

27

किसी अज्ञात कारण से, एंड्रॉइड स्टूडियो गलत तरीके से शीर्ष-स्तरीय बिल्ड.ग्रेड फ़ाइल में एंड्रॉइड () विधि जोड़ता है।

बस विधि को हटा दें और यह मेरे लिए काम करता है।

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'
}

3
2016 में अभी भी एक मुद्दा है - और अभी भी अनुभाग को टिप्पणी करके हल किया गया है।
बर्निनलियो

1
यह कोड AS द्वारा जनरेट किया गया था। इस्सू को हल करने से हटा। धन्यवाद!
टॉम बेवेलेंडर

14

मैंने नीचे दिए गए चरणों के माध्यम से इस मुद्दे को प्रबंधित करने की कोशिश की है:

android { ... }ब्लॉक को शीर्ष स्तर रूट फ़ाइल में हटाएँ

इस पर गौर करें

 compileSdkVersion 22
 buildToolsVersion "22.0.0"

ऐप / कोडल फ़ाइल में कोड की पंक्तियाँ यहाँ केवल ड्रॉपडाउन में बने संस्करण में से किसी एक में मौजूद होनी चाहिए, यह वही डाउनलॉएड का विकल्प प्रदान करेगा।

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


मैं Android 5.0 के लिए चले, तो यह कोई मुद्दा नहीं रह गया है,
सौरोन

10

मुझे यह त्रुटि तब मिली जब मैं एंड्रॉइड स्टूडियो में एक ग्रहण एनडीके परियोजना को आयात करने की कोशिश कर रहा था। यह पता चला है, एंड्रॉइड स्टूडियो में एनडीके समर्थन के लिए, आपको एक नया ग्रेडेल और एंड्रॉइड प्लगइन (और उस मामले के लिए ग्रेडेल संस्करण 2.5+) का उपयोग करने की आवश्यकता है। इस प्लगइन, मॉड्यूल के build.gradle फ़ाइल में परिवर्तन की आवश्यकता है। विशेष रूप से " android {...}" ऑब्जेक्ट " मॉडल {...}" ऑब्जेक्ट के अंदर होना चाहिए :

apply plugin: 'com.android.model.application'
model {
    android {
    ....
    }
}

इसलिए यदि आपने नए ग्रेडेल प्लगइन, और नए एंड्रॉइड प्लगइन का उपयोग करने के लिए अपने ग्रेडल कॉन्फ़िगरेशन को अपडेट किया है, लेकिन मॉड्यूल के बिल्ड.ग्रेडल सिंटैक्स को नहीं बदला है, तो आप "ग्रैड डीएसएल विधि नहीं मिली: 'एंड्रॉइड ()' 'त्रुटि प्राप्त कर सकते हैं ।

मैंने यहाँ एक पैच फ़ाइल तैयार की जिसमें टिप्पणियों में कुछ और स्पष्टीकरण दिए गए हैं: https://gist.github.com/shumoapp/91d815de6e01f5921d1f ये वो बदलाव हैं जो मुझे देशी-ऑडियो ndk प्रोजेक्ट को एंड्रॉइड स्टूडियो में आयात करने के बाद करने थे।


धन्यवाद! यह एक स्वच्छ cocos2d Android परियोजना पर काम किया
Jacek Pietal

1

ग्रेडिंग सेटिंग्स को सही करना काफी मुश्किल है। यदि आपको ग्रेडल के बारे में अधिक जानकारी नहीं है, तो इसके लिए आपको बहुत कुछ सीखना आवश्यक है। इसके बजाय आप निम्नलिखित कर सकते हैं:

1) एक नए प्रोजेक्ट को एक नए फ़ोल्डर में प्रारंभ करें। अपने प्रॉब्लम को प्रॉब्लम प्रॉब्लम के साथ वही सेटिंग चुनें लेकिन इसे सिंपल रखें: खाली मेन एक्टिविटी चुनें। 2) सभी फ़ाइलें हटाएं ... \ NewProjectName \ app \ src \ main फ़ोल्डर 3) सभी फ़ाइलों की प्रतिलिपि बनाएँ ... \ ProjectWithGradleProblem \ app \ src \ main फ़ोल्डर में ... \ NewProjectName \ app \ src \ main फ़ोल्डर। 4) यदि आप टेस्ट प्रोजेक्ट (\ ProjectWithGradleProblem \ app \ src \ AndroidTest) का उपयोग कर रहे हैं, तो आप उसके लिए भी ऐसा कर सकते हैं।

यदि आपका ग्रेडल इंस्टॉलेशन स्वस्थ है, तो यह विधि ठीक काम करती है। यदि आपने अभी-अभी एंड्रॉइड स्टूडियो स्थापित किया है और इसे संशोधित नहीं किया है, तो ग्रैडल इंस्टॉलेशन ठीक होना चाहिए।


1

वास्तव में मैं कई संयोजनों की कोशिश की कुछ भी काम नहीं किया

लेकिन जब मैंने निम्नलिखित के साथ अपने एप्लिकेशन ग्रेडल फ़ाइल को संशोधित किया

 buildTypes {
        release {
            minifyEnabled false
        }
    }

रेखा को हटाकर

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'

यह सामान्य रूप से काम किया :)) चीयर्स


1

एक और समाधान यदि आपने एंड्रॉइड-स्टूडियो-बंडल -143.2915827-विंडोज़ और gradle2.14 स्थापित किया है

यदि आपके पास ग्रेड -2 है, तो आप C: \ Program Files \ Android \ Android Studio \ gradle में सत्यापित कर सकते हैं।

फिर आपको C: \ Users \\ AndroidStudioProjects \ android_app \ पर जाना होगा

और इस build.gradle में आपने यह कोड डाला है:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}

फिर, C: \ Users \ Raul \ AndroidStudioProjects \ android_app \ Desnutricion_infantine \ app पर जाएं

और इस build.gradle में आपने डाला:

apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '24.0.0'
defaultConfig {
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
}
dependencies {
compile 'com.android.support:appcompat-v7:23.3.0'
}

आपको अपने एसडीके संस्करण और बिल्डटूल की जांच करनी चाहिए। CompileSdkVersion 23 buildToolsVersion '24 .0.0 '

सभी परिवर्तनों को सहेजें और AndroidStudio को पुनरारंभ करें और सभी ठीक होना चाहिए!


IMHO, ट्रैवलर का पहले का जवाब एक नई परियोजना के निर्माण का सुझाव देता है जो यह पता लगाने के लिए कि सेटिंग्स का उपयोग करने के लिए क्या है, a) करना आसान है, b) एंड्रॉइड के भविष्य के संस्करणों में काम करना जारी रखेगा, जब उपयोग करने के लिए "सर्वश्रेष्ठ" सेटिंग्स बदल गई होंगी। ।
टूलमेकरसैट

0

बस इन लाइनों को root build.gradle से हटा दें

android {
compileSdkVersion 19
buildToolsVersion '19.1' }

अब फिर से कोशिश और संकलन। यह काम करना चाहिए।


0

रूट बिल्ड.ग्रेडल फ़ाइल में बदलें

सेवा

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

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'

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

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

0

मेरे लिए जो काम किया गया था, वह परियोजना "फ़ाइल -> नया -> संस्करण नियंत्रण से परियोजना" के साथ आयात करना था फिर अपने ऑनलाइन स्रोत (उदाहरण के लिए गिटहब) चुनें। इस तरह से सभी .gradle फाइलें आयात में बनाई गईं।


0

मैं उस समस्याओं को भी पूरा करता हूं, और बस नीचे का कोड हटा देता हूं:

DELETE THESE LINES:
android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'
}

इसने काम कर दिया।


पिछले कई उत्तरों के साथ निरर्थक। लगता है यहाँ अपूर्व उठाव पाने की आशा में है। हटा देना चाहिए।
टूलमेकरस्टेव

0

यह त्रुटि तब हुई है जब मैं एक परियोजना को Github से आयात कर रहा था। यह तब होता है जब परियोजना पुराने संस्करण की थी। बस नीचे दिए गए इन तरीकों को अपने रूट ग्रेड से हटाने की कोशिश करें।

Android {compileSdkVersion 19 buildToolsVersion "19.1"}

फिर कोशिश करें।

मैं आशा करता हूँ यह काम करेगा।

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