我没有让C ++代码完整在Android Studio 2.1.2中运行。我使用自定义c ++和java模块导入了现有的aosp项目。 Android Studio可以编写完整的java代码而不是c ++代码。
我在C ++文件上看到以下错误: “该文件是在最后一个项目与Gradle同步后添加的。请再次同步项目以使NDK支持正常工作。” “项目'XXXX'不是基于Gradle的项目。”
我尝试以不同的方式导入项目,但没有运气: 1.生成* .isr文件并打开它。指向NDK家。然后“无效缓存/重新启动” 2.从“欢迎来到android工作室” 一个。导入项目(Eclipse,Gradle等) 湾选择要导入的项目 C。从外部模型“Gradle”导入项目 d。 Point Gradle主页:“/ opt / android-studio / grad / grad-10.10”
有什么想法吗?
答案 0 :(得分:1)
要在Android Studio中编译c / c ++文件,您应该使用NDK,然后使用JNI从java调用本机代码。
将原生文件放入src / main / jni /文件夹。
然后配置gradle。 类似的东西:
android {
ndk {
moduleName "mylibrary"
ldLibs "m", "log", "android"
} }
您需要下载并配置ndk。
有很多来源如何做到这一点,google“如何在android studio中使用c ++文件”。 Top link from search
或者您可以将不在Android Studio中的c代码编译为带有正确JNI签名的.so库(使用javah)并将其放在JNIlibs文件夹中。