Android Studio使用筆記1:從Eclipse匯入

Android Studio是Google今年開始支援的Android IDE, 其核心其實是基於Jetbrain這家公司旗下的OpenSource Intellij所開發的, 所以對於熟悉Jetbrain的產品應該不會陌生, 在Mac用過Jetbrain的Webstrom, 他們開發的IDE比起Eclipse確實流暢很多, 所以這次開始著手Android開發專案就捨棄Eclipse, 但是網路,書本上的Android範例程式碼都是基於Eclipsec環境下開發, 對於想要一開始就用Android Studio會有一點障礙, 但是Google其實也做好準備, 在ADT工具有提供轉換工具, 只不過對於簡單的專案轉換是OK, 對於一些較複雜有引用外部的framework專案最好還是要了解一下Android Studio的Gradle這個build script設定, 這篇教學還是先從簡單的專案匯入, 還有在匯入遇到的問題要如何解決, 下一篇再來介紹Android Studio要如何引入外部Library, framework的設定

準備

  1. 到Google Android開發網站下載最新版的ADT, 我是用Build 22.2.1-833290這個版本
  2. 下載Android Studio, 目前最新版本為0.2.13, Android Studio的更新很快, IDE內可以檢查是否有最新版本, 建議每天檢查一次

找一個簡單的Eclipse Android範例

剛開始建議先從簡單的Android範例匯入,有些範例很複雜一次是Build好幾個專案, 專案間有Dependency, 目前我還沒成功匯出這種類型的專案, 最後的解法是了解這種類型的專案Dependency library/framework, 然後自己去修改build.gradle, 這部份下一篇Howto再來介紹

匯出Eclipse專案

打開Eclpose Android專案後, 到File,選Export

Export

有些Android專案是好幾個eclipse project組合而成, 要匯出這樣的專案也有支援, 不過我建議先從單一專案匯出開始

ProjectSelection

按下Finish就可以匯出成為Gradle的專案

Finish

來看一下, 匯出後的檔案結構,最重要的build.gradle產生了

generatedbuild

使用gradle build看看是否可以將專案Build成功, 結果是失敗

Firstbuild

這時候還是必須先用Android Studio匯入後才能Build成功

將Gradle專案匯入

到Android Studio, 選File/Import Project, 然後選擇剛剛Eclipse的專案目錄

Import

選擇Use default gradle wrapper

gradlewrapper

開始匯入

startimport

匯入成功的目錄結構

importsuccess

到console看新增了一個檔案

newcreated

這時用gradle build就可以成功了, local.properties主要告訴gradle android sdk的路徑

也許會匯入失敗

剛剛開始用匯出匯入時並不是很順利, 也許這個地雷你不會採到, 很不幸我就遇到了, 用Google找了好久有些建議要去調整build.gradle中的buildToolVersion

buildversion

但是這點我覺得很奇怪, 後來才知道原來自己Android Studio中的build tool是要自己手動更新, 如果你是第一次使用也許不會遇到這種問題, 但是如果未來Google更新build工具版本, 這個地雷就會採到

在Android Studio中更新/安裝BuildTools, Android SDK

選擇Tools/Android/SDK Manager, 看一下你的Build Tool版本是否和Eclipse產生出來的build.gradle中的版本一致, 如果build tool太舊, 匯入也會出問題

buidlversion

檢查目前Android Studio安裝的Build Tool版本 & Android SDK版本

buildversion

結語

以上是我使用Eclipse匯出到Android Studio的心得筆記, 做個記錄, 如果你遇到同樣的問題, 可以省下你不少時間, 下篇來介紹如何設定Gradle的library/framework dependency

Written with StackEdit.

留言

這個網誌中的熱門文章

我的Kindle 2支援中文顯示了

[ ChatGPT 與你分享好書 ] 超級預測

免費的最貴?