2016-03-29 91 views
2

我指的是Yuchen Zhong的最後一個答案is-it-possible-to-debug-c-c-in-android-studio?,也做了一些基本的例子,我也能夠構建和調試。如何在android studio中啓用neon創建和調試本機代碼(c)?

所以現在我正在嘗試與我的舊應用程序項目做同樣的事情。我的舊的應用程序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 
     } 
    } 
} 

更新的build.gradle就是按照這樣我就可以通過Android Studio中調試我的代碼。

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

但同時構建我得到了錯誤

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

我不知道,因爲我也提到CFLAG如何解決這個問題。

請幫我解決這個錯誤,如果還有更多的錯誤,那麼也糾正我。

+0

可能是一個愚蠢的問題,但C或C++? – user3528438

+0

兩者。核心模塊在C中,接口文件在C++中。 – Mohan

+0

試試'CXXFlags'? – user3528438

回答

0

你的Application.mk文件是什麼樣子的?添加

APP_CFLAGS := -mfloat-abi=softfp -mfpu=neon到Application.mk應該修復錯誤。

相關問題