最近隨視頻教程學習Android,原本都是用Adt寫Android程式,中途教程換成了Android Studio,於是我自己下了android studio 2.2.2安裝好,並下載好sdk,也跟著更換開發環境。 但教程並未講解如何將舊有的Eclipse項目導入到Android Studio(以下 ...
最近隨視頻教程學習Android,原本都是用Adt寫Android程式,中途教程換成了Android Studio,於是我自己下了android studio 2.2.2安裝好,並下載好sdk,也跟著更換開發環境。
但教程並未講解如何將舊有的Eclipse項目導入到Android Studio(以下簡稱as)中。
自己花了一整天的時間,在網上找相關文章,發現都不能完全解決問題,可能是因為新版本的as相關文章較少吧。所以在費了好一番周折自己一步步試著導入,初步搞定後,記錄一下導入時遇見的問題及解決方法。
as 啟動界面上有 Android Studio - Import project(Eclipse ADT, Gradle, etc.) 選項,就是用來導入Eclipse項目的,這是全新的Android Gradle Project導入方式。
但不能直接導入Eclipse編寫的項目,這樣導入完成後會導致報錯
Could not find method android() for arguments [build_9xx8trk5589b51rsvzzdwphd5$_run_closure2@3c62b433] on root project 'xxxxxx' of type org.gradle.api.Project.
查了好久,也未找到解決方法,甚至提到這個錯誤的文章都很少。
於是改用第二種方式,相容Eclipse的導入方式。
- 在eclipse中Export 選擇Android - Generate - Gradle build files ,再選擇要導出的項目,最後點擊finish就完成。註意:事先要把Eclipse項目拷一份副本保存好,否則這麼導出不能指定目標路徑,直接在原項目中生成了build.gradle文件,我不清楚會不會有什麼後患。
- 打開as,在啟動界面上選擇Import project(Eclipse ADT, Gradle, etc.) ,再選擇Eclipse項目中生成的build.gradle文件,導入。
- 導入完成後,因原來項目的目標Android平臺比較低,只是Android-18,我的as的sdk中並沒有下載android-18,提示讓我下載,我在項目止右鍵 - Open Module Settings,選擇我的module(就是導入的project,project在Eclipse中是項目,在as中是工作空間)將右側區域 Properties下的Compile Sdk Version和Build Vools Version 改成我已下載的版本,我這裡是Api 21:Android 5.0和21.1.2。
- As中運行按鈕是灰的,要點擊菜單Run - Edit Configration 選擇Android App 下的自己的項目名,在右側區域分別選擇好module、Deploy、Launch,這幾項一看就明白,不再贅述。
- 此時運行按鈕變綠,點擊運行,報錯:Some file crunching failed ,這是因為有些.9圖不標準導致。
修改主工程文件夾下的build.gradle文件,在android {}中加入以下兩行
android { aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false ...... }
- 又報Crunching Cruncher xxxx.9.png failed 錯誤,索性把報錯的這幾張.9圖全部替換為普通png圖片,將報錯的.9圖全部刪除
-
最後:Build - Clean Project,錯誤信息消失。Run 試試,app在模擬器上安裝成功並運行。至此,項目導入成功,並可以在as中跑起來了。