9

के लिए विधि बाहरीNativeBuild() को नहीं ढूंढ सका, मैं C++ डीबगिंग इत्यादि को सक्षम करने के लिए नए एंड्रॉइड स्टूडियो 2.2 का उपयोग करके, मौजूदा एंड्रॉइड स्टूडियो प्रोजेक्ट में एनडीकेबिल्ड कार्यक्षमता को एकीकृत करने की कोशिश कर रहा हूं। मैंने इनमें से एक को आजमाया है एनडीके उदाहरण परियोजनाएं जो एंड्रॉइड स्टूडियो 2.2 ऑफर करती हैं, जो पूरी तरह से ठीक काम करती हैं। हालांकि, जब मैं अपने प्रोजेक्ट में Gradle कमांड चलाने की कोशिश करते हैं, मैं इस त्रुटि संदेश मिलता है:तर्क

त्रुटि: (73, 0) बहस के लिए विधि externalNativeBuild() नहीं मिल सका [build_c6heui1f67l8o1c3ifgpntw6 $ _run_closure2 $ _closure9 @ 4329c1c9 ] परियोजना पर 'कोर' प्रकार org.gradle.api.Project।

इस विवरण http://tools.android.com/tech-docs/external-c-builds मैं एक Gradle स्क्रिप्ट जो निम्न कमांड शामिल साथ समाप्त हो गया निम्नलिखित द्वारा:

externalNativeBuild{ 
    ndkBuild{ 
     path "$projectDir/jni/Android.mk" 
    } 
} 

externalNativeBuild { 
    ndkBuild { 
     arguments "NDK_APPLICATION_MK:=$projectDir/jni/Application.mk" 
     abiFilters "armeabi-v7a", "armeabi","arm64-v8a","x86" 
     cppFlags "-frtti -fexceptions" 
    } 
} 

मैं शायद परियोजना सेटअप के साथ यहाँ कुछ पर बाहर याद आती किया? मेरी एंड्रॉयड स्टूडियो में> एंड्रॉयड NDK स्थान

-> परियोजना संरचना ... - -> एसडीके स्थान मैं ठीक से नीचे

फ़ाइल एंड्रॉयड NDK स्थान निर्धारित किया है।

और कुछ और मैं भूल सकता हूं?

क्या कोई भी पहले इसी तरह की समस्या में चला गया है?

सलाह की बहुत सराहना की जाएगी =)

+1

आप एंड्रॉयड के अंदर externalNativeBuild डाला {} ब्लॉक? – tianwei

+0

हाँ मैंने किया, इसलिए यह त्रुटि स्रोत नहीं हो सकता – MinionDeveloper

उत्तर

11

बस यह त्रुटि स्वयं थी। ,

तो तुम buildscript {...}

dependencies { 
    classpath 'com.android.tools.build:gradle:2.2.0' 
} 
+0

धन्यवाद इसने मेरे लिए त्रुटि संदेश हटा दिया =) – MinionDeveloper

1
android { 
    defaultConfig { 
     externalNativeBuild { 
      cmake { 
       arguments '-DANDROID_TOOLCHAIN=clang' 
      } 
     } 
    } 
2

में पालन करके कुन मिंग Xies जवाब सुझाए गए होनी चाहिए: अपने रूट build.gradle, सुनिश्चित करें कि Gradle कम से कम संस्करण 2.2.0 के लिए सेट है

Could not find method arguments() for arguments [-DREVISION=1.3.1] on object of type com.android.build.gradle.internal.dsl.CmakeOptions.

गु: मैं कष्टप्रद त्रुटि से छुटकारा पाने के दो में मेरी cmake हिस्सा अलग किया है ई defaultConfig में पहले भाग विन्यास (CMake और सी ++ झंडे के लिए आदेश पंक्ति तर्क) शामिल हैं, और दूसरा CMakeLists.txt के लिए पथ शामिल हैं:

def revision = "1.3.1" 
android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.2" 

    defaultConfig { 
    versionCode = ... 
    versionName "${revision}" 
    externalNativeBuild { 
     cmake { 
     arguments "-DREVISION=${revision}" 
     cppFlags '-fexceptions', '-frtti', '-std=c++11' 
     } 
    } 
    } 

    buildTypes { } 

    lintOptions { } 

    externalNativeBuild { 
    cmake { 
     path 'CMakeLists.txt' 
    } 
    } 
} 
संबंधित मुद्दे