我们有一个支持原生支持的多平台项目,我们正在使用libgdx在Android Studio中开发。我们的构建适用于Desktop,IOS,Android,Android Wear和HTML5。
在每个平台上,我们都使用了一个不同的“原生”插件:IOS上的静态.a本机库,Windows上的.dll,Android中的一堆.so文件,以及Javascript库在HTML5上。除了HTML5版本之外,所有这些都是在不同的平台上构建的,因此无法通过相同的Android Studio NDK构建来构建。
问题在于,对于声明JNI例程的每个.java文件,Android Studio 1.4.x都希望找到源文件,但这些源文件不可能在IOS项目中编译,同样适用于在Mac上运行时的PC项目。
SO上的标准解决方案是添加
sourceSets {
main {
jni.srcDirs = [] //disable automatic ndk-build
}
}
到android {}部分,但这仅适用于Android,Android Wear启动器项目,以及NOT Desktop,IOS,HTML5等。
我只是希望Android Studio放弃尝试编译NDK,因为它不可能在非Android项目上完成。除了在某个地方找到降级,我该怎么做?
谢谢!
答案 0 :(得分:5)
所以,我决定我能解决这个问题 - 我做到了!
当然,NDK构建器只是IntelliJ中的一个插件,所以你需要做的就是
多田!不再有NDK插件了!
答案 1 :(得分:0)
正确的方法是使用SDK管理器卸载NDK。 转到 Android Studio->工具-> SDK管理器
在SDK工具标签下,取消选中“ NDK”,“ CMake”,“ LLDB” ,然后应用更改。 NDK组件将被删除。 缺点是NDK对于所有项目都已删除。仍在努力寻找一种仅对特定项目禁用NDK的方法。
答案 2 :(得分:-1)