簡體   English   中英

如何在Android Studio中啟用Neon來構建和調試本機代碼(c)?

[英]How to build and debug native code (c) with neon enabled in android studio?

我指的是可以在Android Studio中調試CC嗎? 最后由Yuchen Zhong回答的問題,並做了一些基本的例子,我也可以構建和調試。

所以現在我正在嘗試使用舊的應用程序項目來做同樣的事情。 我的舊應用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錯誤:(31,2)錯誤:#error您必須啟用NEON指令(例如-mfloat-abi = softfp -mfpu =霓虹燈)以使用arm_neon.h

我不知道如何解決這個問題,因為我也提到了cflag。

請幫助我解決此錯誤,如果還有其他錯誤,請更正我。

您的Application.mk文件是什么樣的? 添加

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM