ubuntu+idea intellij配置android開發環境

最近對移動開發產生興趣,決定在未來幾年內利用空余時間開發一些app或游戲什么的,鑒于ios開發成本較高,且自身對java相對熟悉,因此選擇了學習android。都說android市場不很很好,收益較難,但是仍覺得只要功夫深,產品好,總會有人用。

不扯了,去網上搜了一下都是大部分android開發都是基于windows+eclipse,但是自己工作這段時間都是使用的linux+idea,而且用著特別舒服,因此決定依舊使用ubuntu+idea,不說廢話了,配置過程如下:

1. 自己本職就是做java web開發,因此java環境是有的,且ubuntu和idea本機自帶無需另外安裝。這里直接裝android SDK

網上和書上都說去android官網去下載,但是官網已被墻(最近好多網站都被墻,google也上不去了,免費的翻墻軟件都說服務器壓力太大不提供免費使用,我ZGZF啊...),所以去網上直接搜,最后找到了,地址:http://www.cr173.com/soft/78226.html

下載了好幾次開始用的chrome自帶的下載工具,竟然不能斷點續傳(失望...),遂嘗試使用ubuntu自帶的firefox,竟然支持續傳(好吧,以前很少用,小看了)。

這個包中包括了android SDK和eclipse(我說怎么這么大),果斷放棄eclipse(用了三年的eclipse在我用了一周的idea之后就果斷放棄了,idea就是java開發神器)。

進入android SDK的目錄下,內容如下:

具體的我也不解釋,自己看書吧,我也不是很明白(新人)。

2. 進入tools文件夾,執行./android命令,出來一個SDK manager的窗口,如下:

我選擇了4.4.2版本(隨便選的,現在還不知道各個版本的區別,以及支持的硬件配置,有坑的話以后慢慢填吧,摸著石頭過河),我選擇了4.4.2版本下的所有內容(從程序員的經驗來看,想成為一個領域的大牛,什么doc,source啊都得看)并下載(我昨晚在公司發布到快一點,到家快兩點才開始配環境,下載sdk又下載版本包,特別慢,擦,快四點了就由他自己下吧,今早八點多參加公司活動,下午回來發現差不多下好了)。

3. 打開idea(我用的13.1.3的,好吧,我用的破解版,誤噴,自己也痛恨盜版,用社區版大半年,社區版功能少太多,后來沒辦法找同事生成一個key,就同流合污了),新建一個empty project,建好之后新建一個android module可以用idea默認提供的工程(先嘗試跑起來)。

建好module之后,啟動,結果很顯然,失敗了,原因是android avd還沒配。

4. 配置android avd

輸入命令:android avd,彈出的窗口如下:

點擊new, 彈窗如下:

填好能填的項之后,發現Target這項填不了,不讓提交,瘋了...

在網上搜了很多內容,未果,嘗試在idea里配置。

在建好的module下面,選擇Run-Edit Configurations...,窗口如下:

注意右下方的Emulator選項,Prefer Android Virtual Device選項,應該是空的(因為文章是我配置過的,希望大家充分發揮自己的想象力,就當那是空的),選擇按鈕...,彈出來跟上面一樣的圖,發現這時的Target選擇可以選,果斷選擇一個。填上該填的,內容如下:

點擊OK,這樣avd就新建好了。

5. 運行工程

第一次運行android工程(有點小激動,第一次hello word出來時候的感覺,程序員都知道),發現失敗了,原因未知,再一次瘋了。

繼續嘗試解決問題,還是去Edit Configurations...頁,點擊...按鈕,出來這個窗口:

選中emulator那一行,再選擇右邊的Start按鈕,發現啟動失敗,錯誤提示如下:

"Failed to start emulator: Cannot run program "/home/q/adt-bundle-linux-x86-20131030/sdk/tools/emulator": java.io.IOException: error=2, No such file or directory".

googlestable一搜(公司大神推薦的google的代替品,貌似沒有被墻),stackoverflow有相同的問題(一陣竊喜,stackoverflow,大愛啊),第一個回答就解決了問題:If you're running a 64-bit system, you need to install ia32-libs:
sudo apt-get install ia32-libs安裝花了一會時間,再次點擊運行按鈕,結果如下:
?
結果終于出來了(開機好慢,是電腦問題嗎?以后解決)。

至此,android環境配置完成了,這只是android開發的漫漫長路的開始,以后還會遇到各種困難,希望自己能知難而上,勇攀android高峰。
最后再吐槽一下ubuntu自帶的截圖工具(用了一年了),真難用,竟然不能自動匹配窗口大小,比QQ截圖差遠了

轉載于:https://www.cnblogs.com/peiyuc/p/3840112.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258436.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258436.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258436.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

typeof的用法

typeof可以返回變量的類型,返回值為字符串,其值有 "undefined" "boolean" "string" "number" "object" "function" 而 typeof(null)會返回object 轉載于:https://www.cnblogs.com/lhyhappy…

opencv 最大連通域_opencv 查找連通區域 最大面積實例

今天在弄一個查找連通的最大面積的問題。要把圖像弄成黑底,白字,這樣才可以正確找到。然后調用下邊的方法:RETR_CCOMP:提取所有輪廓,并將輪廓組織成雙層結構(two-level hierarchy),頂層為連通域的外圍邊界,次層位內層邊…

JS 函數柯里化

在計算機科學中,柯里化是把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)的函數,并且返回接受余下的參數而且返回結果的新函數的技術。——詳見 維基百科柯里化就是預先將某些參數傳入,得到一個簡單…

LTI系統的物理可實現性與希爾伯特變換

產品的設計一般為線性時不變系統,要求系統具有物理可實現性,從時域上看,h(t)具有因果性;從頻域上看,|H(jw)|符合佩利—維納準則。任何具有因果性的系統,|H(jw)|的實部R(w)滿足希爾伯特變換,|H(j…

垂死掙扎還是涅槃重生 -- Delphi XE5 公布會歸來感想

Delphi 是一個基本上被我遺忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司發出的邀請來參加Delphi XE5的公布會的。 有人可能要問為什么是Embarcadero (名稱很拗口)而不是Borland 開Delphi 公布會, 這是由于Borla…

iOS Appstore 版本更新

1,版本更新 通過比較構建號/版本號 檢查更新 /// 構建號 50 // NSString * currentVersion [NSBundle mainBundle].infoDictionary["CFBundleVersion"];/// 版本號 2.2.0//CFBundleShortVersionStringNSString * currentVersion [NSBundle mainBund…

ubuntu下安裝國際版QQ

在網上看到了好多的ubuntu下安裝QQ的方法 好多 下面是看別人的文章 來測試的一篇 ubuntu下 安裝國際版QQhttp://www.ubuntukylin.com/applications/showimg.php?langcn&id23下載 地址網盤:http://yun.baidu.com/share/link?shareid2983202140&uk202032639下載好以后 …

傅里葉變換應用——信號調制與解調

傅里葉變換的典型應用主要用于通信的信號調制與解調,信號調制的目的是將信號進行變換,使其便于傳輸。頻率調制是將低頻信號調制到高頻載波信號上。同步信號解調是接受系統產生同步的高頻載波信號進行解調,從調制信號中恢復原信號的過程。調制…

cocos2d-x返回Android游戲黑屏解決辦法

返回Android游戲黑屏解決辦法這幾天逛cocos2d-x.org論壇,發現cocos2d-x的作者放出來一個帖子,用來解決返回Android游戲加載資源時黑屏的問題。帖子過些日子估計就沉了,所以轉出來,以供后面查詢。需要修改三個文件:1) c…

vue重要特性

重要特性 自定義input組件動態組件遞歸組件slot作用域slot異步組件內聯模板子組件索引進階 自定義指令狀態管理vuex單文件組件生產部署路由xxx

連續時間系統與離散時間系統的時域分析對比

通過學習離散時間系統的時域分析,發現其與連續時間系統的時域分析有很多相似之處,自己做了一個專題拓展,從數學模型描述到時域分析方法對兩大系統進行橫向對比,總結兩者之間的聯系和異同點。

python獲取當前時間的源代碼_Python獲取時間戳代碼實例

1、獲取秒級時間戳與毫秒級時間戳、微秒級時間戳import timeimport datetimet time.time()print (t) #原始時間數據print (int(t)) #秒級時間戳print (int(round(t * 1000))) #毫秒級時間戳print (int(round(t * 1000000))) #微秒級時間戳返回1499825149.257892 #原始時間數據…

AutoLayout bug集合

NSInternalInconsistencyException, reason: <NSISEngine: 0x16d5ef10>... http://stackoverflow.com/questions/28111635/ios-aspect-ratio-constraint-breaks-on-ios7-works-on-ios8 這好像是ios7.1的bug,對浮點數計算有誤,一般添加按鈕比例約束的時候multiplier值都是…

[SQL Server]重命名數據庫【轉】

原文鏈接&#xff1a;http://www.cnblogs.com/Ryan_j/archive/2011/04/03/2004428.html 重命名數據庫很簡單&#xff0c;選擇數據庫--右鍵--重命名數據庫 或者 sp_renamedb oldDB ,newDB 但是你再新建的相同名字的數據庫就會報錯&#xff0c;提示數據庫已經存在 比如test數據庫…

DCOS實踐分享(4):如何基于DC/OS整合SMACK(Spark, Mesos, Akka, Cassandra, Kafka)

這篇文章入選CSDN極客頭條 http://geek.csdn.net/news/detail/71572 當前&#xff0c;要保證業務的市場競爭力&#xff0c;僅靠設計一個可用并且好看的產品&#xff0c;已經完全不能滿足要求。全球消費者都希望產品能夠足夠的智能化&#xff0c;通過大數據分析來改善他們的用戶…

連續系統的卷積積分與離散系統的卷積和

在LTI連續系統中&#xff0c;以沖激函數為基本信號&#xff0c;將任意信號分解&#xff0c;從而得到連續系統的零狀態響應等于激勵與系統沖激響應的卷積積分 &#x1d466;&#x1d467;&#x1d460;&#x1d461;&#x1d453;&#x1d461;?h&#x1d461; 在LTI離散…

自學python從零開始學_新手學習python-從零開始學習

1.學習pythonurllib2 常用方法urlopen(url, data, timeout)urllib2.Request()urllib.urlencode()params {}get : url "?" paramshttp:請求分析User-Agent : 有些服務器或 Proxy 會通過該值來判斷是否是瀏覽器發出的請求Content-Type : 在使用 REST 接口時&#x…

【數據結構】圖的深度優先搜索

圖的深度優先搜索類似于樹的深度優先搜索。不同的是&#xff0c;圖中可能包括循環&#xff0c;即我們有可能重復訪問節點。為了避免訪問已經訪問過的節點&#xff0c;我們要使用一個布爾變量的數組。 例如&#xff0c;在下圖中&#xff0c;我們從節點2開始訪問。當訪問到節點0&…

flex中dispatchEvent的用法(自定義事件) .

Evevt和EventDispatcher類在as3的事件機制中是很重要的角色&#xff0c;dispatchEvent()是EventDispatcher類的一個事件發送方法&#xff0c;它可以發送出Event類或其子類的實例&#xff0c;在as3中所有的顯示對象都可以發送事件&#xff0c;因為as3中所有的顯示對象都是EventD…

菜鳥超級進口大倉618首度亮相!跨境商品也能當日次日達

6月12日下午3點40分&#xff0c;來自南京的一名用戶收到了由寧波保稅倉發出、圓通速遞配送的雀巢咖啡&#xff0c;這距離他在天貓國際上下單僅過去4小時。 天貓618在昨日迎來進口日&#xff0c;進口銷量火爆上升。作為國內最為先進的跨境進口倉&#xff0c;菜鳥超級大倉在本次大…