gpt4 book ai didi

Android Studio + NDK - 导入现有的 C++

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:43:27 26 4
gpt4 key购买 nike

如何在编译中包含在项目文件树中查看一些.h.cpp 文件位于项目目录之外 ?

使用 Visual Studio 和 C++ 项目,您只需使用“添加现有项目”,选择您的文件,瞧瞧,它会在 10 秒内完成。基于 Android 的开发不是应该让开发人员的生活更轻松吗? :/

我已经搜索了几个小时如何执行此操作。我找到的答案都没有解决这个问题。

我不敢相信,在所有使用 Android Studio 和 NDK 的人中,没有人使用过 jni 文件夹之外的 C++ 代码...

你知道怎么做吗?谢谢。

最佳答案

这是我所做的。首先安装今天发布的最新 Android Studio 1.4(但我在 ndk 支持的第一个 1.3 预览版上工作)。要获得 NDK 支持,您需要切换到 Gradle 2.5(项目结构 -> 项目 -> Gradle 版本)。使用 experimental gradle-plugin(在 main build.gradle "classpath 'com.android.tools.build:gradle-experimental:0.2.0'")。

然后您需要将您的应用程序 build.gradle 文件更新为新格式,如下所述:http://tools.android.com/tech-docs/new-build-system/gradle-experimental

我的项目由静态库和动态库组成。不幸的是,这不受支持,您现在必须将其编译为一个动态库。不支持自定义 makefile。

这是棘手的部分,你需要把它放在 model { } 中

android.ndk {
moduleName = "NativeLib"

// toolchain = "clang" <- tried using it, but failed
// toolchainVersion = "3.5"

stl = "gnustl_static" // you can switch stl lib this way

ldLibs += "log"
cppFlags += "-g"
cppFlags += "-std=c++11" // use c++11
cppFlags += "-Wall"
cppFlags += "-I${file("../../../common/include")}".toString() // include folder
}

android.sources {
main {
jni {
source {
srcDirs = ['src/main/jni', '../../../common']
}
}
}
}

如果您的 native 源文件位于其他地方,您可以更改路径 - 这是来 self 的项目结构。

关于Android Studio + NDK - 导入现有的 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32696264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com