繁体   English   中英

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

[英]Android Studio + NDK - Import Existing C++

如何在编译中包括两个项目,在项目文件树中查看 位于项目目录外部的 .h.cpp文件?

使用Visual Studio和C ++项目,您只需使用“添加现有项”,选择文件并添加标签,它仅需十秒钟即可工作。 基于Android的开发难道不应该使开发人员的生活更轻松吗? :/

我一直在寻找几个小时如何执行此操作。 我发现的答案都没有解决这个问题。

我无法相信,在一直使用带有NDK的Android Studio的所有人中,没有一个人在jni文件夹之外使用过C ++代码...

你知道怎么做吗? 谢谢。

这就是我所做的。 首次安装的最新Android Studio 1.4已于今天发布(但是我使用ndk支持进行了第一个1.3预览版)。 要获得NDK支持,您需要切换到Gradle 2.5 (项目结构->项目-> Gradle版本)。 使用实验性gradle-plugin (在主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。

这是棘手的部分,您需要将其放入模型{}中

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']
            }
        }
    }
}

如果您的本地源文件位于其他位置,则可以更改路径-这是从我的项目结构中获得的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM