LoginSignup
28
26

More than 5 years have passed since last update.

Eclipseの既存プロジェクトをAndroid Studioへ移行する

Posted at

以前にAndroid Studioを使ってみたもののバグばっかりだったという印象が残っていて、それ以降ずっと「Eclipseでいいや」と思っていたのですが、最近「Android Studioいいよ」という声が聞こえてきたので改めて導入してみました。

その際に既存プロジェクトの移行に手こずっている人が結構いるそうだったのでメモっておきました。

前提条件

Mac (OS X 10.9.5)
Eclipse (Kepler)
Android Studio (0.8.6)

移行する

1、Android Studioを立ち上げてImport Porject
2、対象プロジェクトのAndroidManifest.xmlを指定して、あとはNext,Next,Finish

基本的にはこれだけで完了です。ライブラリはもちろん、テストプロジェクトも移行されます。

とはいえ、世の中そうはうまくいかない

以下、打ち当たった壁をどのように突破したかをつらつらと。

Lより低いのはダメって怒られる

importしてすぐ下記のエラーがでました。

Error:Execution failed for task ':myApp:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1

対処法としては、build.gradle内の

  compile 'com.android.support:support-v4:+'

  compile 'com.android.support:support-v4:20+'

に変えればうまくいくとのことです。
はじめは対象プロジェクトのみ変えていたのですが、うまくいかず、
最終的に使っているライブラリプロジェクトのbuild.gradleも同様に変更することでこのエラーは消えました。

他に SDK Managerの「Android Support Repository」をInstallすれば解消するなども見つけました。
また上記をしていても [Android SDK]/extras/android/m2repository というディレクトリがない人は下記コマンドを打ってインストールすることでうまくいくかもしれません。(私は一応これもやってます。)

android update sdk --no-ui --all --filter extra-android-m2repository   

tools:replace="android:theme"をmanifestのapplicationタグに追加しろって怒られる

Error:(32, 9) Execution failed for task ':myApp:processDebugManifest'.
> Manifest merger failed : Attribute application@theme value=(@style/Theme.MyApp) from AndroidManifest.xml:32:9
    is also present at MyApp:growthPushLibrary:unspecified:14:9 value=(@style/AppTheme)
    Suggestion: add 'tools:replace="android:theme"' to <application> element at AndroidManifest.xml:28:5 to override

言う通りに、applicationタグに tools:replace="android:theme" を追加してももちろんダメで、
加えて下記をmanifestタグに追加しないと行けないようです。

    xmlns:tools="http://schemas.android.com/tools"

ManifestタグとApplicationタグ、挿入する場所が違うので気をつけましょう。

おまけ(ついてきたテストプロジェクトの動かし方)

簡単にテストを実行できました。
1、Rub -> Edit configuration を選択
2、左上の「+」を選択
3、「Android Tests」を選択
4、Nameを適当に埋めて、Moduleに対象プロジェクトを選んで OK
5、Run -> Run... を選択して 先ほど作成したTestを選択すればテストが走ります。

28
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
26