使用IDEA开发NDK安卓应用
由于Android Studio本身就是基于IDEA开发的,我本以为IDEA创建、编译Android工程应该是无障碍的,但是当我创建了一个带有NDK的工程之后,发现想让它跑起来真的不容易。
首先,使用IDEA创建一个新的Android工程,选择Include C++ Support
然后Gradle就会报错:Gradle sync failed: NDK not configured.
这里IDEA指示我们需要使用Android SDK Manager去下载NDK。在Google的官方教程中,使用Android Studio的SDK Manager是直接下载NDK、CMake、LLDB即可开始进行NDK开发了,但是IDEA并没有内置Android SDK Manager,而Android SDK自带的独立版的SDK Manager并不能下载NDK等Android Tools包,这个问题谷歌承诺在后续版本中解决。
目前我们只能自己下载NDK并解压缩,然后打开local.properties
,可以看到里面已经有了sdk.dir,我们需要加入ndk.dir
这里推荐使用阿里云的Maven镜像,可以极大的提高Gradle的速度,具体做法的是替换jcenter()
为maven { url 'http://maven.aliyun.com/mvn/repository/' }
然后点击Try Again
再次执行Gradle Sync,将会停到查找CMake的错误上
在Android Studio中,CMake是可以直接通过SDK Manager下载的,但是在IDEA里就只能自己下载了。我从CMake官网获取了一份最新的CMake,放到报错提示的位置下,遇到了错误:
CMake Error: Could not create named generator Android Gradle - Ninja
通过查找资料,确定了Android使用的CMake必须是Google提供的,因此通过腾讯的镜像获取到了Android需要使用的CMake,下载地址: https://mirrors.cloud.tencent.com/AndroidSDK/cmake-3.6.3155560-windows-x86_64.zip
如果需要Linux/macOS版可以直接替换下图中文件名:
将CMake解压到对应路径,再次进行Gradle Sync,可以看到编译已经成功了,可以连接手机测试一下了。
永久链接:https://tenglog.com/posts/how-to-use-idea-to-build-ndk-project.html