Android студия 3.1.2 не поддерживает ndk-build - PullRequest
0 голосов
/ 05 июня 2018

Я использую Android studio 3.1.2. В официальном документе ( 向 您 的 项目 添加 C 和 C ++ 代码 )

нет способа использовать ndk-build.It, кажется, предпочитают CMake. И когда я использую ndk-build, настройте, как показано ниже: build.gradle на уровне модуля:

  compileSdkVersion 25
  defaultConfig{
   ndk {
        moduleName "telephone"
        cFlags "-fexceptions"
        ldLibs "log","z","m"

        stl "stlport_static"
        abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
    }
    externalNativeBuild {
        ndkBuild {
       // path "$projectDir/jni/Android.mk"
       arguments "NDK_APPLICATION_MK:=$projectDir/jni/Application.mk"
       abiFilters "armeabi-v7a", "armeabi","arm64-v8a","x86"
       cppFlags "-frtti -fexceptions"
     }
    }
   }
   sourceSets {
    main {
        jniLibs.srcDirs = ["src/main/jniLibs"]
        jni.srcDirs = ["src/main/jni"]
    }
   }
   buildToolsVersion '27.0.3'

и Android.mk:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := addcomputer
LOCAL_SRC_FILES := src/main/jni/addcomputer-jni.cpp
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)

иApplication.mk:

APP_ABI:=armeabi-v7a, arm64-v8a, x86, x86_64
APP_STL:=stlport_shared
APP_CPPFLAGS += -fexceptions

Но как бы я ни менял конфигурацию, поведение при сборке возвращает ошибку, подобную этой:

    Error: Your project contains C++ files but it is not using a supported 
   native build system.
   Consider using CMake or ndk-build integration. For more information, go to:
    https://d.android.com/r/studio-ui/add-native-code.html
   Alternatively, you can use the experimental plugin:
    https://developer.android.com/r/tools/experimental-plugin.html

И для ссылки на эту официальную веб-страницу ndk-build Я установил GNU Make 3.81 и экспортировал GNUMAKE, но не работал.Я нашел много справочных материалов в Интернете, хотя я настраиваю, как они сказали, но ошибка все еще появляется. Я не знаю, что делать. Мне нужно использовать Android.mk и ndk-build. Потому что на этой веб-странице сказано: Создание C ++ Binder-интерфейсов с помощью aidl-cpp

Кто-нибудь может помочь? Пожалуйста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...