Android Studio從2.2版本開(kāi)始,可以使用CMake進(jìn)行C++的編譯了,這很好。
之前折騰過(guò)AS,那是真的很折騰,而且有且僅有的ndk-build編譯也并不是很令人愉快。
折騰了下最新支持的CMake直接編譯,并沒(méi)有費(fèi)多大勁,并且成功了,這很令我欣慰。
我用Wizard創(chuàng)建了一個(gè)工程,第一步勾選上“C++ Include Support”,其他的都默認(rèn)。
然后開(kāi)始Build,結(jié)果顯示一直都卡死在Gradle:Resolve dependencies':app:_debugCompile'。
這是為什么呢?因?yàn)樗枰獜腗aven的倉(cāng)庫(kù)里面拉取東西,因?yàn)椴豢擅枋龅木W(wǎng)絡(luò)問(wèn)題,所以就一直卡死在這里了,解決辦法很簡(jiǎn)單,那就是改用國(guó)內(nèi)的Maven源,有兩個(gè)選擇:
阿里云:http://maven.aliyun.com/nexus/content/groups/public/
開(kāi)源中國(guó):http://maven.oschina.net/content/groups/public/
其中,阿里云是很快的,我就改用了阿里云的源。
修改build.gradle,將jcenter()或者mavenCentral()替換掉即可
allprojects {
repositories {
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
}
重新sync gradle就不再報(bào)錯(cuò)了,但是接著事兒又來(lái)了

意思大概是,找不到ABI mips64的gcc工具鏈,我找了所有的工程配置文件,都沒(méi)有找到相關(guān)的配置,也就是說(shuō),不論是platform也好,abi也好,都是默認(rèn)的。
它默認(rèn)的platform是Android21,ABI是mips64。
我去文件夾下去看了下,Android21下面的確是沒(méi)有的這個(gè)abi的。
我去查看了官方的文檔(
向您的項(xiàng)目添加 C 和 C++ 代碼),里面有提到如何去配置。
打開(kāi)app下面的build.gradle,在android{}下面添加:
android{

ndk {
// Specifies the ABI configurations of your native
// libraries Gradle should build
and package with your APK.
abiFilters
'x86',
'x86_64',
'armeabi',
'armeabi-v7a',
'arm64-v8a' }

}
指定好ABI,即可。
再次編譯,一切OK。
打包成APK,發(fā)送到手機(jī)上運(yùn)行,看起來(lái)是這樣的:
參考資料
https://yrom.net/blog/2015/02/07/change-gradle-maven-repo-url/
https://developer.android.google.cn/studio/projects/add-native-code.html?hl=zh-cn