我有一个构建lib.aar人工制品的android库项目,以及一个在构建lib.aar之后导入该lib.aar的应用程序项目。 lib.aar需要构建NDK 17,因为它具有一些C ++ 17代码。
我设法成功建立.aar文件,但应用无法通过以下消息进行编译:
A problem occurred starting process 'command '/Users/user/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip''
。
这是因为NDK 17删除了对MIPS的支持,并且我无法升级到使用NDK 18beta的较新版本的android studio
如果我删除了'/ Users / user / Library / Android / sdk / ndk-bundle'文件夹的内容,删除了NDK,则该应用程序会正确构建,并且可以在应用程序内部使用lib.aar代码。 / p>
到目前为止,我已经尝试过:How do I disable the NDK build in Android Studio 1.0.1,这个https://gist.github.com/ph0b/9e59058ac59cac104398。将env变量ANDROID_NDK_HOME设置为虚拟文件夹即可,应用程序可以构建,但是有点黑。
有什么方法可以通过编程方式禁用应用程序项目的NDK构建,而不删除NDK文件夹吗?
答案 0 :(得分:0)
这是因为NDK 17删除了对MIPS的支持,并且我无法升级到使用NDK 18beta的较新版本的android studio
r18也无法解决此问题;它仍然没有mips支持。解决该问题的方法是将应用程序中的gradle插件版本至少升级到3.1,这是NDK r17所要求的最低要求(并且非常不幸的是,出于某种原因甚至安装了NDK也是必需的。)
这里的另一个解决方案是将NDK r16b安装在某个地方,然后从应用程序的local.properties指向它,然后从SDK中选择aar。如果您只是在本地版本上工作,那么它将起作用,但是由于不应将local.properties签入版本控制,因此不会对其他人有太大帮助。