我指的是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如何解決這個問題。
請幫我解決這個錯誤,如果還有更多的錯誤,那麼也糾正我。
可能是一個愚蠢的問題,但C或C++? – user3528438
兩者。核心模塊在C中,接口文件在C++中。 – Mohan
試試'CXXFlags'? – user3528438