android-ndk - Android Studio 1.4,实验性插件,JNI 文件夹的路径?

标签 android-ndk java-native-interface android-gradle-plugin

我使用的是 Android Studio 1.4 和具有 NDK 支持的实验性插件 (com.android.tools.build:gradle-experimental:0.2.0)。

该项目有一个 C 文件,并通过静态库链接其余 native 代码,如下所示:

android.ndk {
    moduleName = "native"
    ldFlags += ["-g"]
    ldFlags += ["-L/Users/me/Desktop/MyApp/app/src/main/jni", "-lnative"]
}

这对我有用,从 jni 文件夹链接 libnative.a 。

但我想指定 native 库相对于项目的位置。
我到底该怎么做?

谢谢。

最佳答案

android.ndk {
    moduleName = "native"
    ldFlags += ["-g"]
    ldLibs += ["-L", file("src/main/jni").absolutePath, "-lnative"]
}

请注意,我使用 ldLibs,而不是 ldFlags - 这些在伪造链接器命令行时的使用方式略有不同。

实际上,如果您只想添加一个库,首选语法是

ldflags += file("src/main/jni/libnative.a").absolutePath

(链接器不需要在此“src/main/jni”目录中查找其他库)。

file()是相对于当前Module的;如果您想指定相对于当前项目的路径,请使用File()

关于android-ndk - Android Studio 1.4,实验性插件,JNI 文件夹的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33046658/

相关文章:

Android NDK - "Library not found"调用 System.loadLibrary

android - 使用静态 gnutls 库的共享库具有文本重定位

android - 在 Android NDK 中使用静态库时出错

Android:如何在 native Activity 之上添加另一个 View

android - Eclipse:JNI代码调试问题

qt - QPainter JNI调用使应用程序崩溃

android - Android Gradle 插件 0.13 和 android-apt 1.3 出错

android - 配置 Qt Creator 以将 Clang 与 Qt for Android 结合使用

安卓 : Install different flavors with same package names

android - 无法在 android studio 上解析符号 'android'