Eclipse項目遷移到Android Studio的一種方式-2016-05-23

題外話

不知道你們公司是不是還停留在eclipse IDE呢矢空,是不是覺得由于項目依賴太麻煩就一直沒遷移過去呢椭更。Android Studio 2.0 都發(fā)布第三版預(yù)覽版本了蚪燕,Google也早已停止了對ADT插件的更新窜骄。

但將老項目遷移過去確實有點麻煩锦募,各種項目依賴、各種gradle build…什么的導(dǎo)致崩潰卡機邻遏。我已被虐過千百遍糠亩,但依然對它如初戀。我實踐了一種方式准验,下面主要講一下大體思路赎线,對gradle完全不熟悉的話可能會被省去了一些細節(jié)。

基本準(zhǔn)備

下載android studio沟娱,我這里用android studio1.3氛驮、1.4都試過腕柜,
新建一個工程济似,都是默認,確保這個工程能運行盏缤。然后看看這個工程文件砰蠢,目錄結(jié)構(gòu)


image

這里寫圖片描述
.gradle、.idea唉铜、build台舱、都是運行時產(chǎn)生,刪除潭流。重要的是gradle文件夾竞惋,gradlew,gradlew.bat灰嫉,build.gradle拆宛,setting.gradle。然后熟悉其他文件是干嘛用的讼撒,是否刪除或修改取決于你原來的eclipse項目浑厚。

新建文件夾然后copy工作

新建一個文件夾股耽,按照上面MyApplication的目錄結(jié)構(gòu),copy一份钳幅,其中需要從eclipse項目中遷移過來的有src源代碼物蝙,還有res資源,注意修改主工程build.gradle里面的applicationId敢艰。然后用Android Studio打開新建的項目即可诬乞。

如何解決項目依賴

很多情況下,并不想把原來的project變成一個module钠导,所以有了工程中的module依賴丽惭。這里需要手動配置setting.gradle文件,添加

include ':projectName'
project(':projectName').projectDir = new File(settingsDir, '../projectName/moduleName')

然后在主工程的module的build.gradle文件里面添加

dependencies {
    compile project(':projectName')
}

同步一下辈双,這里就實現(xiàn)了對工程projectName中的module依賴责掏。
可以參考:
http://www.cnblogs.com/avenwu/p/4299340.html

遇到的一些問題

1、Android6.0在api 23以上沒有了apache的包湃望,也就是沒有了HttpClient等網(wǎng)絡(luò)相關(guān)的類换衬,需要使用的可以從以下路徑找到,

**\android-sdk-windows\platforms\android-23\optional

copy到工程的libs里面证芭,并在build.gradle里面添加:

useLibrary 'org.apache.http.legacy'

2瞳浦、主工程module的build.gradle里面是

apply plugin: 'com.android.application'

依賴工程module的build.gradle里面應(yīng)該是依賴庫的形式

apply plugin: 'com.android.library'

3、依賴工程里面不需要applicationId废士。

4叫潦、androidManifest.xml里面的appIication icon沖突可以刪除或修改,錯誤日志:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@icon value=(@drawable/logo) from AndroidManifest.xml:49:9-38
 is also present at
 ...

5官硝、引用重復(fù)的jar包矗蕊,刪除其中一個,錯誤日志:

Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\Program Files\Java\jdk1.7.0_80\bin\java.exe'' finished with non-zero exit value 2

6氢架、錯誤日志:

Error:Execution failed for task ':app:packageDebug'.
> Duplicate files copied in APK META-INF/LICENSE
...

按照提示傻咖,添加:

android {
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
}
總結(jié)

也就是將標(biāo)準(zhǔn)Android Studio工程里面的gradle相關(guān)文件原汁原味的copy到另外一個新建的、具有相同目錄結(jié)構(gòu)的文件夾里面岖研,做一些相應(yīng)的配置修改卿操。打開Android Studio運行。

為什么使用這種方式孙援?

網(wǎng)上比較多的教程是eclipse導(dǎo)出gradle項目害淤,生成build.gradle文件,再用android studio導(dǎo)入拓售,我會覺得這個項目有點奇葩窥摄,各種ant、gradle構(gòu)建的東西混雜在一起(對不起邻辉,我有代碼潔癖)溪王,還會因為gradle構(gòu)建版本的各種問題而運行不起來腮鞍,而且項目依賴也并不怎么清晰∮猓或許還有更簡便的方法移国,我在瞎折騰了。

最后

最后想說明一點道伟,這是其中一種方式迹缀,我實踐可用,記錄下來一方面自己學(xué)習(xí)溫故蜜徽,另一方面希望能幫到一些人祝懂,這個方法或許有不足之處,希望指正拘鞋。gradle配置方面還有很多砚蓬,有些沒涉及到的可能還需要添加其他的配置代碼。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盆色,一起剝皮案震驚了整個濱河市灰蛙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌隔躲,老刑警劉巖摩梧,帶你破解...
    沈念sama閱讀 223,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異宣旱,居然都是意外死亡仅父,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門浑吟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來笙纤,“玉大人,你說我怎么就攤上這事买置》嗖冢” “怎么了强霎?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵忿项,是天一觀的道長。 經(jīng)常有香客問我城舞,道長轩触,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任家夺,我火速辦了婚禮脱柱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拉馋。我一直安慰自己榨为,他們只是感情好惨好,可當(dāng)我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著随闺,像睡著了一般日川。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矩乐,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天龄句,我揣著相機與錄音,去河邊找鬼散罕。 笑死分歇,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的欧漱。 我是一名探鬼主播职抡,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼误甚!你這毒婦竟也來了繁调?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤靶草,失蹤者是張志新(化名)和其女友劉穎蹄胰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奕翔,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡裕寨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了派继。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宾袜。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖驾窟,靈堂內(nèi)的尸體忽然破棺而出庆猫,到底是詐尸還是另有隱情,我是刑警寧澤绅络,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布月培,位于F島的核電站,受9級特大地震影響恩急,放射性物質(zhì)發(fā)生泄漏杉畜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一衷恭、第九天 我趴在偏房一處隱蔽的房頂上張望此叠。 院中可真熱鬧,春花似錦随珠、人聲如沸灭袁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茸歧。三九已至兔魂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間举娩,已是汗流浹背析校。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铜涉,地道東北人智玻。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像芙代,于是被迫代替她去往敵國和親吊奢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,937評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,341評論 25 707
  • 本篇教程中使用到的Android Studio版本為1.0纹烹, Eclipse ADT版本23.0.4页滚。請嘗試更新到...
    yakov1380閱讀 8,022評論 1 14
  • 原文地址:Android Studio 簡單介紹和使用問題小結(jié) Google在2013的I/O開發(fā)者大會上引入的該...
    如若成楓閱讀 2,203評論 0 3
  • 版權(quán)聲明:本文為原創(chuàng)文章,未經(jīng)允許不得轉(zhuǎn)載铺呵。 LeakCanary是一個安卓的性能統(tǒng)計工具裹驰,想必大家都有使用,工具...
    android_hcf閱讀 537評論 0 0
  • 表層習(xí)慣:每天早起 訓(xùn)練結(jié)果:不達標(biāo)片挂,今天離既定的計劃晚了6分鐘起床 強化信念幻林;我應(yīng)該找到我晚睡 的原因,每個問題...
    傲嬌的島陽君閱讀 170評論 0 0