鑒于網(wǎng)上無論國內(nèi)國外對Eclipse項目轉(zhuǎn)移到Android studio的過程大多都說的模棱兩可箫章,模糊不清惕它,于是寫下這文章讓大家少走彎路灯变。(正文是在下面粗體字)
前段時間敬肚,打算使用Github上的開源庫時發(fā)現(xiàn)Github現(xiàn)在遍地都是默認碼農(nóng)們用Android Studio了革娄,下面的使用說明都是像這樣:
dependencies {
compile'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
}
“一句話就可以” 倾贰,我真是嗶了狗了冕碟。
使用Eclipse的我簡直不知所措,只能把代碼硬生生搬到Eclipse了匆浙。最惡心的來了安寺,萬一需要引用到V4,V7這些包的話,那你也只能放棄了吞彤。Android這些兼容包已經(jīng)不兼容Eclipse了我衬。
于是狠下心來,把Eclipse的項目移到Android Studio上了饰恕。
按網(wǎng)上大部分搜到的“如何把Eclipse項目導(dǎo)入到Android Studio”的內(nèi)容來看挠羔。大致流程是這樣的。
1)把Eclipse項目export成gradle項目埋嵌。
2)在Android Studio import剛才那個build.gradle破加。
這樣導(dǎo)過來真是會出好多問題,我一一列舉下:(由于我不推薦這種方法所以解決問題不詳說了)
1)manifest-merger問題雹嗦,這個問題主要是項目的引用的jar庫也同時定義theme和label范舀,icon,在application的節(jié)點添加tools:replace=”android:icon, android:theme”了罪,完美解決锭环。
2)編碼問題,有多種情況網(wǎng)上有解決方法泊藕。
3)最大的問題來了辅辩,compile github的依賴庫失敗。
第三個問題我國內(nèi)國外都翻了個遍娃圆,至今找不到如何解決此問題玫锋。有人質(zhì)疑是網(wǎng)絡(luò)問題,我用的vpn也不行讼呢,后來有人提出是配置問題撩鹿,我靈機一動新建了個android studio項目,敲下:
dependencies {
compile'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
}
build成功了悦屏。
顯然是我之前那個項目的問題节沦。
于是我開始了正確把Eclipse項目轉(zhuǎn)移到Android Studio的過程。(正文開始了
)
1)在Android Studio新建項目础爬,填寫項目主包名跟原來Eclipse的主包名一樣散劫。假設(shè)主包為com.fu_ckproject。
2)清單文件:AndroidMainfest.xml這個問題基本上可以把內(nèi)容全部覆蓋過來幕帆。
3)java代碼文件:把Eclipse src的包復(fù)制過來获搏,這里詳細說明一下,程序主包在創(chuàng)建項目的時候已經(jīng)自動生成了。這里是com.fu_ckproject這個包常熙,那么首先把Eclipse的這個包的java文件copy過去纬乍。然后仿照Eclipse的包結(jié)構(gòu),在Android Studio的java目錄下new-package-輸入跟Eclipse相同的包名裸卫,然后把java文件copy到對應(yīng)的包里面仿贬。注意不要直接從Eclipse copy過去,包名會丟失的墓贿。你可以試一下茧泪。
4)布局資源文件:Eclipse res下的drawbale ,layout聋袋,drawbale-hdpi队伟,values等,copy到Android Studio的res目錄下就好了幽勒。
4)jar庫和so庫:在Android Studio 切換成“project”模式嗜侮,展開找到libs目錄,按Eclipse下libs的一樣把所有jar庫和so庫復(fù)制過來啥容,正常來說jar庫文件一般是直接放libs下的锈颗,so庫是放armeabi等文件下的。這樣一般就可以了咪惠,因為新建項目后build.gradle會有一句:compile fileTree(dir:'libs',include: ['*.jar'])击吱,這個可以加載所有jar,而so文件放armeabi就搞定了遥昧。
5)build一下覆醇,運行一下,看有沒有錯誤渠鸽,如果遇到自定義view的布局“res/...(自定義view類)”這種錯誤的話叫乌,改為“...res-auto”就可以了柴罐,android studio會自動識別徽缚。還有會有找不到什么theme之類的,一般就是你的compileSdk寫的太高了革屠,在build.gradle改為21就好了凿试,如下
defaultConfig {
//? ? ? ? applicationId "XXX.XXXXXX"
applicationId"XXX.XXXXXX"
minSdkVersion10
targetSdkVersion21
versionCode1
versionName"1.0"
}
還有導(dǎo)入V4,V7的包,版本別用最新的似芝,用21的就可以那婉。
這樣的話,就完美地把Eclipse項目變成了Android Studio項目了党瓮,compile github 的開源庫也成功了沒有壓力详炬,一個字就是爽!
感覺說了很多廢話寞奸,第一次寫關(guān)于android 開發(fā)的文章呛谜,大家多多見諒在跳,有什么疑問和建議的可以提出一哈。