2016-09-15 32 views
9

Ben bir + denedim C++ hata ayıklama vb etkinleştirmek için, yeni android studio 2.2 kullanarak, ndkBuild işlevselliğini mevcut bir android stüdyo projesine entegre etmeye çalışıyorum Android studio 2.2'nin mükemmel bir şekilde çalıştığı ndk örnek projeleri. ben kendi projede gradle komutları çalıştırmayı denediğinizde Ancak, ben bu hata mesajını alıyorum:argümanları için externalNativeBuild() yöntemi bulunamadı

Hata: (73, 0) bağımsız değişkenler için yöntem externalNativeBuild() bulunamadı [build_c6heui1f67l8o1c3ifgpntw6 $ _run_closure2 $ _closure9 @ 4329c1c9 ] org.gradle.api.Project türünde proje: 'çekirdek'.

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" 
    } 
} 

i belki proje kurulumu ile burada bir şey üzerine atlamak mı i aşağıdaki komutları içeren bir gradle komut ile sona erdi http://tools.android.com/tech-docs/external-c-builds bu açıklama takip ederek

? Benim android stüdyoda> Android NDK yeri

-> Proje Yapısı ... - -> SDK Yer düzgün

Dosya altında Android NDK konumunu belirledik.

Başka bir şey unutmuş olabilirim?

Daha önce benzer bir problemle karşılaşan var mı?

Önerileri kadar

+1

Eğer {} engellemek android içine externalNativeBuild koydun mu? – tianwei

+0

evet Yaptım, bu yüzden hata kaynağı – MinionDeveloper

cevap

11

Sadece bu hatayı kendim vardı) = mutluluk duyacağız. ,

Yani Kun Ming Xies cevap Önerdiği buildscript {...}

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

olamaz, bu bana hata mesajını kaldırdı =) – MinionDeveloper

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

aşağıdaki gibi olmalıdır: sizin kökü build.gradle yılında gradle en azından sürümü 2.2.0 olarak ayarlanmış olduğundan emin olun

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

Th: Ben can sıkıcı hata kurtulmak için ikiye benim cmake bölümünü ayırdı defaultConfig e ilk bölümü yapılandırma (CMake ve C++ bayraklar için komut satırı argümanları) içerir ve ikinci CMakeLists.txt yolunu içerir:

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' 
    } 
    } 
} 
İlgili konular