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.
Aptalca bir soru mu ama C veya C++? – user3528438
Her ikisi de. çekirdek modüller C ve Arayüz dosyası C++. – Mohan
CXXFlags'ı dene? – user3528438