1. 程式人生 > >我的android studio開發環境搭建歷程(一部辛酸史)

我的android studio開發環境搭建歷程(一部辛酸史)

android開發愈演愈烈,本人也想湊下熱鬧,首先要過的就是要搭建android開發環境這一關,本來我用eclipse挺順的,不過參考網上的評論,感覺還是親兒子好,所以決定切換到android studio,簡稱as。
其實網上有很多文章可以參考,但是自己動起手來才發現沒有那麼簡單啊,簡直是虐心啊。。。

第一步,下載
1、 jdk,到http://android-studio.org/ 去找吧,好像只有u5可以下,我下的是64位的,一定要和自己的機器位數一樣,否則jdk執行不了。
2、 sdk,同上,版本為r.24.4.1
3、 as,同上,版本為3.2,win下沒有位數區別
4、 gradle,對應的版本應該是4.6.0,

https://services.gradle.org/distributions/ 到裡邊找吧,下載all版,和bin版一樣,只是添加了文字說明書。
第二步,安裝
安裝路徑中要求不要有中文,空格等字元,否則不能通過,我的使用者名稱就是中文的 ,讓我好一頓改啊,又是修改登錄檔,又是啟用管理員,折騰了半天。所以我乾脆不使用預設的了。在e盤根目錄下新建資料夾andoid,當然可以是任意英文名稱。我計劃把所有東西都安裝到這裡。所以在這個資料夾下又新建了6個資料夾as、gradle、jdk、sdk、project、jre。下面分別安裝:
1、 jdk,意思就是java的編譯器和執行環境,沒有這個就什麼都不要說了。修改路徑到e:\android\jdk,中間會提示安裝jre,可以不安,但是我還是安裝了,路徑修改為e:\android\jre。其實到最後也沒有用。配置環境變數,什麼,不會開啟環境變數? 方法是開啟控制面板\系統和安全\系統\高階系統設定,就看到了,使用者變數應該是隻有當前使用者可以使用嗎?不懂,不用管他,直接看系統變數就行了。新增JAVA_HOME(如果沒有),值為 e:\android\jdk,在path中新增;%JAVA_HOME%\bin; %JAVA_HOME%\jre。這裡使用的jre就是jdk自帶的jre,而不是剛才選擇的jre,如果想用剛才安裝的jre,請將%JAVA_HOME%\jre修改為e:\android\jre。不過我沒有測試。新增系統變數CLASSPATH(如果沒有),值為.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;據說一個標點都不能錯,第一個.的含義是代表當前目錄,不過我也沒搞懂到底是哪個目錄。有大神說是你的專案根目錄,自己參考吧。
2、 sdk,就是開發套件,理論上說有了jdk就可以執行java程式,有了sdk就可以進行開發和執行android程式了——當然還需要一個編輯器——我在網上看到很多大神,通過自己配置命令列來進行開發,並且很多建議從命令列開始學習,可以瞭解開發的內部過程,有助於打破整合開發環境的束縛。我在powershell下搞了兩天,感到受益匪淺啊,建議試試。

言歸正傳,安裝路徑設定為E:\android\sdk。完了之後設定系統變數,新增(如果沒有)ANDROID_HOME變數,值為E:\android\sdk,在path中新增;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools。

3、 as。安裝路徑e:\android\as,沒什麼說的,幾分鐘就好了,開啟as目錄,你會發現下面居然有gradle,並且版本是4.6,我測試了一下,將GRADEL_HOME值設定為e:\android\as\gradle\gradle-4.6,在path中新增%GRADLE_HOME%\bin,在powershell下執行gradle -v,居然可以正常使用,看來新版的as還是很人性的,如果是企業使用者有私有jcenter的話,直接就可以用了,但是個人使用者還需要往下看。

4、gradle,我在這個地方是花了最多時間的,主要原因就在於中國 的牆太高了。外國的教程直接就選擇忽略了,而國內的教程又大都語焉不詳。建議大家將gradle-4.6-all.zip下載好之後,開啟裡面的docs\ useguide \ useguide.pdf看看,比什麼都有用,不過是全英文的,使用翻譯軟體大概瞭解一下。順便說一下,gradle不用安裝,直接解壓就可以用,我將其解壓到E:\ANDROID\GRADLE和as自帶的gradle檔案比較了一下,完全一樣的 。所以在系統變數中新增(如果沒有)GRADLE_HOME變數,可以設定為E:\android\as\gradle\gradle-4.6,也可以設定為E:\android\gradle\gradle-4.6,效果一樣的。不要忘了在path中新增%GRADLE_HOME%\bin
那為什麼還要下載啊,其實主要原因是gradle wrapper。Wrapper的意思是封裝,作用就是使用者不用每次使用都重新下載gradle了,只需要到wrapper中找就行了。As中每次執行都需要重新下載gradle>>>all.zip檔案的,但是國外的源速度很慢,所以需要使用gradle wrapper,首先在系統變數中新增GRADLE_USER_HOME(如果沒有),就是wrapper使用的路徑,理論上可以設定為任意資料夾,比如E:\android\gradle,不過我沒有測試,我還是很保守的選擇了推薦的c:\user(username).gradle,username代表你自己的使用者名稱,可以到c盤下使用者資料夾中檢視根據實際情況選擇。然後在project下新建一個資料夾testgradle,開啟powershell執行命令cd E:\android\project\testgradle進入工程根目錄,執行 gradle wrapper,等一會按ctrl+z結束就行了,因為它基本不可能執行完,原因就在於牆太高。但是會生成需要的目錄。開啟c:\user(username).gradle資料夾,你會發現多了很多東西,進入wrapper\dists\gradle-4.6會看到一大串字串,再進入,會看到gradle-4.6-bin,手動執行的是bin版,而as執行生成的是all版,我在此又多花了一天的時間。刪除****.part檔案,這個就是需要下載的檔案的片段了,還沒有下完,其實不×××明年也下不完,很多工程就是卡在這裡!!!!!!!將下載好的gradle-4.6.0-all.zip拷貝到這裡,重新命名為gradle-4.6-bin.zip,重新執行gradle wrapper,成功了。這說明兩個問題,一是bin和all其實是一個東西,就是少了個文件,以後不用重複下載了,二是gradle wrapper是根據系統變數GRADLE_USER_HOME定義的檔案路徑進行封裝。其實as與命令列下的過程是一樣的,只不過是自動執行罷了,這就是我們為什麼可以不使用as和為什麼要使用as的原因。

題外話,gradle並不是一個不可替代的構建工具,還有很多類似的工具,如果牛逼的話也可以手動建立,類似於linux from sctrach。

第三步使用as
開啟as,會提示set proxy,選擇manual 在proxy中填入mirrors.neusoft.edu.cn,在sdk manage介面中 選擇要使用的sdk版本,我只選擇了最新的android9、api28,可以根據需要自選,或者全選也行,只不過時間會很漫長。

更新好了之後關閉as,在E:\android\as\bin目錄下找到idea.properties,在最後一行新增disable.android.first.run=true ,阻止as第一次執行,set proxy就不會再跳出來了。

再次開啟as,在configure中搜索proxy,選擇第一個no proxy,為什麼,因為這個代理是下載sdk的,而新建工程時會自動執行gradle wrapper命令,剛才設定的代理是不行的。

新建一個project,注意選擇配置好的sdk版本,進入工程構建介面,等待一會然後關閉as,因為我等了兩個小時也沒有反應。讓我苦思冥想差點放棄,其實原因很簡單,就是as預設的是gradle-4.6-all.zip版本,而剛才命令列的是bin版本。解決辦法,進入c:\user\(username)\.gradle\wrapper\dists,選擇gradle-4.6-all,然後仍然是一串字元,將gradle-4.6-all.zip拷入,刪除*****.part檔案,重新開啟as,終於成功了。

Run app,新建avd,終於看到了久違的模擬器了。

以上希望對你有用。