繁体   English   中英

本机代码Android Studio 1.5和实验性插件0.4,包括.so文件

[英]Native code Android Studio 1.5 and Experimental plugin 0.4, including .so files

我的设置:
-Android Studio 1.5
-Android NDK-r10e
-实验性插件0.4.0

我尝试过在线学习这么多关于在Android Studio中编译本机代码的教程,但是我遇到了一个问题:包括.so文件。

我需要在代码中使用GMP和OpenSSL。 我尝试将#include <gmp.h>添加到github提供的示例hello-jni代码中,以测试我的C代码是否可以读取.so文件,但返回错误:

gmp.h:没有这样的文件或目录

这是我的文件夹结构(我首先尝试针对x86进行编译)

文件夹结构

正确的方法是什么?

您需要分别保留.so文件和头文件.h jniLibs文件夹下,仅需要.so文件。 将头文件单独保存在jni/headers文件夹下,然后从该文件夹访问它们。 另外,您不需要在jniLibs文件夹下包含.a文件。

在gradle构建文件的jni source dir下添加头文件路径。 访问标头文件(例如#include "gmp.h"并用double quotes而不是angle brackets将其搜索到本地用户路径。

您需要在build.gradle文件中指定包含路径,请参见http://tools.android.com/tech-docs/new-build-system/gradle-experimental#TOC-Ndk-Integration

model {
    android.ndk {
        moduleName = "hello-jni"
        def jniLibs = file("app/src/main/jniLibs/x86").getAbsolutePath()
        println(file("app/src/main/jniLibs/x86/gmp.h").exists())
        CFlags.add("-I$jniLibs".toString())
    }
}

暂无
暂无

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

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