[英]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.