Android 各種報錯,各種被坑的節奏

今天悲劇了一大下,無語了徹底,現在的心情還久久不能平靜,原因就是在不必要的地方瞎耽誤了些許功夫。

說一下背景吧,就是之前在本地把項目的一些功能什麼的都完成了,準備往SVN的項目裏整合一下,結果老大在服務器上創建項目的時候,Android SDK的版本是最新的,我們小的本地裏的版本還沒有及時更新上去,本來自己下載一下就好了嘛,但是在這個搶網速已經到了無節操的時代,我對於更新Android SDK表示很有壓力。

不過老大開了一個共享文件夾,可以直接將他的Android SDK拷到自己的本地,這到也沒什麼了。因爲之前最開始的時候也是從他那拖的整套SDK。

然後各種問題也就接踵而來了,下面一一來表(不按問題發生順序)

1、提示:This Android SDK requires An... ADT to the latest version. 如圖:

wKiom1N1fTWjrrw6AAJUXvkje4M251.jpg

這個問題出現的原因是ADT(Android開發工具)的版本沒有跟上Android SDK的版本。對於ADT的配置其實是在我們最初在Eclipse上配置Android開發環境時就有的一步,只不過時間一久就有點記憶模糊了。話說Android SDK4.4版本貌似變化很大,所以ADT應該也是要更新的,關於ADT的配置官網給出了步驟詳解。如圖:

wKiom1N1hRjCPMIWAALJXkjBOIE860.jpg

大家只要進入【Help】-【Install New Software】-【Add】,按照上圖把名字填成ADT Plugin,把URL寫成官方給出的那個鏈接就行,如果小寫的https不好使的話,大家可以試試改成大寫的HTTPS或者改成http,然後點OK,如下圖,選擇【Developer Tools】和【NDK Plugins】兩項,然後下一步,確定就OK了。

wKiom1N1hULD4KcHAANO4Zbdg-4107.jpg

這樣ADT就算配置完成。

2、從SVN中檢出項目跟以前也有點不一樣,以前是直接就能把項目下載到本地,現在不知道是什麼原因,下載到本地的不是完整的項目

這裏還要說一下從SVN上導入項目到本地的時候,我們應該選擇一個【做爲新項目檢出】,也就是在本地創建一個與項目名稱一樣名字的項目。如圖:

wKioL1N1hVeQxDyVAAGphfvXERw323.jpg

這塊有個小技巧教給大家如何快速創建一個本地項目,然後方便後續將無用文件刪除的方法。如圖:

wKiom1N1hZjCIafkAAJt1gZchc4086.jpg

在【Application Name】處填寫與服務器上相同的項目名稱,下面的【Project Name】和【Package Name】都會自動生成,然後不停的下一步,直到此處,如圖:

wKiom1N1hbTjXiezAAHxpCLQzhQ601.jpg

這裏同樣只填寫【Activity Name】處就行了,默認會是“MainActivitiy”,我的方法是在後面直接加幾個數字或字母就行,比如111或aaa,同樣下面的【Layout Name】和【Fragment Layout Name】也都會自動生成。

wKioL1N1haGB_-aeAADe4fvc5JE189.jpg

點擊確定後會出現如下提示,這個時候請點【Cancel】,這個東西還沒研究到底是什麼,但一定是Android SDK4.4版本里的東東,看樣子好像跟主題樣式什麼的有關。大家只要不進行覆蓋就行了。

wKioL1N1hc2AwBRKAADrmX3qypM109.jpg

現在創建的項目中我們會發現雖然項目名稱與服務器上的一致,但是根本就沒有服務器上項目的文件,這時候右鍵點擊【Team】只出現兩項,看不到【更新】等操作。出現這種情況我們可以用以下方法解決,如圖:

wKioL1N1hfWTPlrcAAJVJ-X6GnA716.jpg

然後一直點下去,在這裏選擇【使用已有資源庫位置】,下一步

wKiom1N1hluijRfpAAFDe8n2o5o604.jpg

在這裏選擇【使用項目名稱做爲文件夾名】,下一步

wKiom1N1hwOgIN_lAAFrWNPdpko232.jpg

我們看會出現這個,建議選擇【No】,然後就完成了。

這個時候我們會發現服務器上的文件已經全部下載到本地當中,我們再把先前創建的包(package)佈局文件(layout.xml)刪除就行了,由於名字都是特殊的,也就比較好找了。但是問題遠沒有結束。

3、報錯:activity_XXX cannot be resolved or is not a field

解決辦法:遇到這個問題或者提示的時候,大家可以看看是不是在加了import android.R或者別的什麼import XXX.R,如果有請刪除。

4、繼續報錯:R cannot be resolved to a variable

這個時候不知道大家有沒有想罵街的衝動,反正我是有了,剛剛就是我們主動去把import XXX.R給刪除的啊,難道還要加回去不成?當然不,這個時候我們需要進入AndroidManifest.xml文件當中去,我們會發現package項的內容爲我們最初創建項目時候的包名,這裏我們需要改成服務器上的項目真正使用的包名,再查看有沒有服務器項目上對應的Activity(應該是沒有),如果沒有的話,我們就需要所有的Activity都註冊一下,然後設置一個啓動的Activity。如圖:

wKiom1N1huuwAJBnAAMB7FPEU8Y870.jpg

到這爲止,我遇到的問題就全都解決了,項目也能在設備上運行成功了。雖然寫出來的問題好像不太多,也沒那麼麻煩,但是自己確實是花了好長的時間去搞。而且問題4還是今天早上來的時候解決的,對,這篇文章其實是昨天開始寫的。

PS:請大家謹慎使用問題2中說的【Team】-【Share Object】,與項目同步,這個東東有點危險總覺得。

希望能幫到有需要的人,節省大夥兒的時間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章