0x0 背景介紹html
隨着Android Studio功能愈來愈強大,Android平臺的開發者們基本上都從原來的Eclipse + ADT 轉到了AS上。本文就記錄本身在配置AS環境過程當中遇到的各類問題,方便後來者節約時間。
linux
本文主要介紹在AS 2.0中,如何藉助新的android編譯插件,進行NDK開發,包括調試。android
注:筆者的系統版本是:OSX 10.10.5 (是的,並無升級到10.11...主要是擔憂不少軟件出bug..)
git
整個配置需求:github
① Android Studio 2.0android-studio
② gradle 版本>= gradle 2.10bash
③ gradle-experimental:0.7.0-alpha1(與當前gradle版本一一對應,對應表見這裏的gradle requirement部分)app
④ NDK版本>= ndk-r10egradle
0x1 下載與安裝網站
關於這部份內容就不須要我多說了吧,網上一大堆。不過鑑於我鍋強大的防火牆,這裏推薦一個下載Android開發相關IDE的網站,下載速度槓槓的。
本文推薦使用最新的AS 2.0,由於其自帶gradle 2.10,而此版本的gradle是後續利用新的插件進行NDK開發的必備條件。我我的比較推薦你們更新到最新的AS,由於AS的更新成本並不高,且在安裝新AS的過程當中,它還會提示你是否選擇導入老版本AS的各類系統配置,因此徹底不用擔憂各類個性配置失效。
這裏我說起一下gradle環境變量的配置:
編輯 ~/.bash_profile文件,在其中加上以下語句:
# for gradle export GRADE_HOME=/Applications/Android\ Studio.app/Contents/gradle/gradle-2.10 export PATH=$GRADE_HOME/bin:$PATH
這裏我默認AS安裝到了 /Applications/Android\ Studio.app/ 目錄。編輯完成後使用命令:soure ~/bash_profile 刷新一下環境變量。
0x2 NDK開發環境配置
AS開發了一個實驗性質的NDK插件,雖是實驗性質的,但目前來講已經相對穩定,從功能完備性來講,也知足絕大部分開發者的需求了。整個過程嚴格按照官網的步驟,不過很遺憾的是,按照官網步驟並不能確保成功。。。這裏我會一一進行補充說明。
首先建立一個NDK項目,建立和部分配置過程能夠見這裏。建議讀者先瀏覽一遍該文,而後再回頭看本文(本章節內容算是對該文的查漏補缺)。除了該文說起的操做以外,咱們還須要補充以下步驟:
①打開項目的local.properties文件,在其中添加NDK目錄:
sdk.dir=/Users/path/to/sdk/new-android-sdks ndk.dir=/Users/path/to/ndk/android-ndk-r10e
②修改項目中build.gradle文件中的classpath:
gradle-experimental:0.6.0-beta5 -> gradle-experimental:0.7.0-alpha1
而後就能夠開始編譯了。若是編譯過程當中出錯,通常是說gradle sync失敗,那麼就多是當前gradle版本與gradle-experimental的插件版本不匹配,君不見官網給出的對應表中2.10對應多種插件版本麼?依次修改gradle-experimental的插件版本號,而後從新編譯便可,總有一款適合你的!另外說起一些我遇到的坑。好比app/build.gradle中,dependencies選項必定得在model以外!!!android配置選項中必定不要忘了android.productFlavors現象,否則會出現各類奇怪bug.
可是,若是仍是出現問題怎麼辦?通常這種狀況就是由於build.gradle腳本沒寫對,那麼就去參考google的官方example吧!
0x3 NDK調試環境配置
這部分徹底能夠參考此文,我就很少費筆墨了。
0x4 Android Studio 便捷配置
AS基於社區版本的IntelliJ IDEA,因此不少配置選項都是能夠通用的。好比IntelliJ超強大的代碼提示功能(AS中連NDK都有提示!!!),能夠設置爲首字母大小寫無關:
Android Studio -> preference -> Editor -> General -> Code Completioin 將其中的Case sensitive completion選項設置爲None便可。
0x4 導入Eclipse項目問題彙總
本部份內容主要參考了以下文章:
1) http://www.cnblogs.com/lao-liang/p/5016541.html
2) http://flashgou.com/show/177
3)http://stackoverflow.com/questions/23677855/android-studio-unmappable-character-for-encoding-utf-8
1、項目導入
目前Android Studio導入Eclipse工程有兩種模式:一、兼容Eclipse; 二、全新的Android Gradle Project
Google推薦用全新的方式,因此此處不介紹兼容模式導入。這裏,請先關閉Android Studio當前的Project,不然你看不到Import Project。導入文件後一路next就好。Android Studio導入完畢後,會默認在窗口中打開這個import-summary.txt文件,裏面記錄了導入的一些注意事項。這個文件有幾個須要注意的節點,以下:
Manifest Merging
Ignored Files
Replaced Jars with Dependencies
這裏咱們主要關心Ignored Files信息。能夠根據實際須要將未被引入的文件加入到本身的工程中。
2、文件中有中文,出現亂碼問題
這一般在mac/linux平臺導入Windows平臺項目時出現,網上解決方案千篇一概都是經過更改編碼方式解決。可是我的認爲,最好不要去動系統默認的編碼方式,而是根據須要將本項目出現亂碼的文件的編碼方式加以修改就行。修改方式就是右擊文件,點擊File coding->GBK,而後選擇reload便可。
3、gradle編譯項目時出現「編碼錯誤:utf-8......」
目前來講,網上不少解決方案在我這都行不通,最後在stackoverlow中獲得答案:在app目錄的build.gradle文件中添加以下代碼:
android { ... compileOptions.encoding = 'GBK' // 根據你導入項目的編碼決定,含中文的Windows項目基本都是GBK ... }
這樣再編譯就不會報錯了。