2016-03-29 7 views
2

Yuchen Zhong tarafından yapılan son cevabı is-it-possible-to-debug-c-c-in-android-studio?'a atıfta bulunuyorum ve ayrıca bazı temel örneklerini de yaptım, ayrıca oluşturabildiğim ve hata ayıklayabildiğim.Android stüdyosunda neon ile yerel kod (c) nasıl oluşturulur ve hata ayıklanır?

Şimdi eski uygulama projemde aynı şeyi yapmaya çalışıyorum. Eski uygulama buil.gradle

apply plugin: 'com.android.application' 
android { 
    compileSdkVersion 18 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "pku......" 
     minSdkVersion 9 
     targetSdkVersion 17 

     sourceSets.main { 
      jni.srcDirs = [] 
      jniLibs.srcDir 'C:/Users/Admin/AndroidStudioProjects/and..../app/src/main/libs' 
     } 

    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
      ndk { 
       debuggable = true 
      } 
     } 
     debug { 
       debuggable = true 
       jniDebuggable = true 
     } 
     debug { 
      jniDebuggable true 
     } 
    } 
} 

Güncelleme build.gradle yüzden mümkün android stüdyoda yoluyla kodumu hata ayıklamak için olacaktır izleyin olmasıdır.

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

model { 
    android { 
     compileSdkVersion = 23 
     buildToolsVersion = "23.0.1" 

     defaultConfig.with { 
      applicationId = "pku........" 
      minSdkVersion.apiLevel = 18 
      targetSdkVersion.apiLevel = 23 
      versionCode = 1 
      versionName = "1.0" 
      //sourceSets.main { 
      // jni.srcDirs = [] 
      // jniLibs.srcDir 'C:/Users/Admin/AndroidStudioProjects/andh...../app/src/main/libs' 
      //} 
     } 
    } 
    android.buildTypes { 
     release { 
      minifyEnabled = false 
      proguardFiles.add(file('proguard-android.txt')) 
     } 
    } 

    android.ndk { 

     abiFilters.add("armeabi-v7a") 
     moduleName = "icandroid" 
     //CFlags.add("-std=c99") 
     //CFlags.add("-mfloat-abi=soft") 
     //CFlags.add("-mfpu=neon") 
     CFlags.addAll(["-std=c99 ", "-mfloat-abi=softfp", "-mfpu=neon", "-O3", "-DCARES_STATICLIB", "-Wno-c++11-long-long"]) 
     stl = "stlport_shared" // stlport_shared, gnustl_static, "system" 

    } 

} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'com.android.support:design:23.1.1' 
} 

Ama hatayı

prebuilt\windows-x86_64\lib\gcc\arm-linux-androideabi\4.9\include\arm_neon.h Error:(31, 2) error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h

var inşa ederken ben de cflag belirttiğim çünkü bu sorunu çözmek için nasıl bilmiyorum.

Lütfen bu hatayı çözmek için bana yardımcı olun ve daha fazla hata varsa, o zaman beni de düzeltin.

+0

Aptalca bir soru mu ama C veya C++? – user3528438

+0

Her ikisi de. çekirdek modüller C ve Arayüz dosyası C++. – Mohan

+0

CXXFlags'ı dene? – user3528438

cevap

0

Application.mk dosyanız nasıldır? Uygulamaya

APP_CFLAGS := -mfloat-abi=softfp -mfpu=neon eklenmesi, hatayı düzeltmelidir.

İlgili konular