Skip to content

Most visited

Recently visited

navigation

Android Studio への移行

Project: /studio/_project.yaml Book: /studio/guide/_book.yaml Subcategory: guide

プロジェクトを Android Studio に移行するには、新しいプロジェクト構造、ビルドシステム、IDE 機能にプロジェクトを適合させる必要があります。 Eclipse から Android プロジェクトを移行する場合は、Android Studio のインポート ツールを利用できます。このツールを利用すると、既存のコードを Android Studio のプロジェクトと Gradle ベースのビルドファイルへ迅速に移行できます。 詳細については、Eclipse からの移行をご覧ください。

IntelliJ から移行する場合、すでにプロジェクトで Gradle を使用していれば、そのまま Android Studio で既存のプロジェクトを開くことができます。 IntelliJ を使用しており、プロジェクトでまだ Gradle を使用していない場合は、プロジェクトを Android Studio にインポートする前に、準備として手動での操作が少し必要になります。詳細については、IntelliJ からの移行をご覧ください。

Android Studio の基本

Android Studio に移行するにあたって注意すべき主な違いについて説明します。

プロジェクトとモジュールの構成

Android Studio は IntelliJ IDEA IDE がベースになっています。 IDE のナビゲーション、コード補完、キーボード ショートカットといった基本事項について理解を深めるには、Android Studio の概要をご覧ください。

Android Studio にはワークスペースがなく、プロジェクトごとに個別の Android Studio ウィンドウが開きます。Android Studio ではコードがプロジェクト単位に整理され、アプリのソースコードからビルド構成、テストコードに至るまで、Android アプリを定義するすべてがその中に含まれています。各プロジェクトには 1 つ以上のモジュールが含まれており、機能ごとにプロジェクトを分割できます。 モジュール単位で個別にビルド、テスト、デバッグを実行できます。

Android Studio のプロジェクトとモジュールの詳細については、プロジェクトの概要 をご覧ください。

Gradle ベースのビルドシステム

Android Studio のビルドシステムは Gradle をベースに作られており、Groovy 構文で記述されたビルド構成ファイルを使用して、容易に拡張およびカスタマイズすることができます。

Gradle ベースのプロジェクトには、Android 開発において重要な以下のような特長があります。

Gradle の使用および構成の詳細については、ビルドの構成をご覧ください。

依存関係

Android Studio のライブラリの依存関係では、Gradle の依存関係の宣言と、Maven 座標を持つよく利用されるローカルソースおよびバイナリ ライブラリについては Maven の依存関係を使用します。詳細については、ビルド バリアントの構成をご覧ください。

テストコード

Eclipse ADT では、インスツルメンテーション テストは別のプロジェクトに記述し、マニフェスト ファイル内の <instrumentation> 要素を通じて統合されます。 Android Studio では、プロジェクト内のメイン ソースセット内に androidTest/ ディレクトリが存在するため、同じプロジェクト ビュー内でインスツルメンテーション テストを簡単に追加および保守できます。また、プロジェクトのメイン ソースセット内には、ローカルの JVM のテストに使用できる test/ ディレクトリも存在します。

Eclipse からの移行

Android Studio には、Eclipse で作成された既存の Android プロジェクト向けに、自動インポート ツールが用意されています。

移行の前提条件

アプリを Eclipse から Android Studio に移行する前に次の手順を確認して、プロジェクトが変換可能であること、および Android Studio に必要なツールの設定が完了していることを確認してください。

Eclipse ADT で行う手順:

Android Studio で行う手順:

Android Studio への Eclipse プロジェクトのインポート

既存の Eclipse ADT プロジェクトをインポートする際は、プロジェクトの構造に応じてインポートの方法を指定する必要があります。

プロジェクトとしてインポートする:

  1. Android Studio を起動して、開いている Android Studio プロジェクトをすべて閉じます。
  2. Android Studio のメニューで、[File] > [New] > [Import Project] をクリックします。
    • または、[Welcome] 画面で [Import project (Eclipse ADT, Gradle, etc.)] をクリックします。
  3. AndroidManifest.xml ファイルが存在する Eclipse ADT プロジェクト フォルダを選択し、[Ok] をクリックします。

5. インポート先のフォルダを選択し、[Next] をクリックします。

6. インポート オプションを選択し、[Finish] をクリックします。 7. インポート プロセスで、ライブラリおよびプロジェクトの依存関係を移行して、依存関係の宣言を build.gradle ファイルに追加するよう求められます。このプロセスの詳細については、Android ライブラリの作成をご覧ください。

インポート プロセスでは、既知の Maven 座標を持つよく使われるソース ライブラリ、バイナリ ライブラリ、JAR ファイルが Maven 依存関係に置き換えられるため、これらの依存関係を手動でメンテナンスする必要はなくなります。

インポート オプションを使用して、ワークスペース ディレクトリと実際のパスのマップを入力し、未解決の相対パス、パス変数、リンクされたリソースの参照を処理することもできます。

  1. Android Studio がアプリをインポートして、プロジェクトのインポートの概要を表示します。 プロジェクトの再構築とインポート プロセスの情報について、概要を確認します。

Eclipse ADT から Android Studio にプロジェクトをインポートすると、Android Studio の各アプリのモジュール フォルダには、src/main/ ディレクトリと src/androidTest/ ディレクトリ、リソース、ビルドファイル、Android マニフェストなど、そのモジュールの完全なソースセットが格納されます。アプリの開発を開始する前に、プロジェクトのインポートの概要に表示された問題をすべて解決し、プロジェクトの再構築とインポート プロセスを適切に完了する必要があります。

モジュールとしてインポートする:

  1. Android Studio を起動し、モジュールの追加先となるプロジェクトを開きます。
  2. Android Studio のメニューで、[File] > [New] > [Import Module] をクリックします。
  3. AndroidManifest.xml ファイルが存在する Eclipse ADT プロジェクト フォルダを選択し、[Ok] をクリックします。
  4. 必要に応じてモジュール名を変更し、[Next] をクリックします。
  5. インポート プロセスで、ライブラリおよびプロジェクトの依存関係を移行し、依存関係の宣言を build.gradle ファイルに追加するよう求められます。ライブラリとプロジェクトの依存関係の移行については、Android ライブラリの作成をご覧ください。 インポート プロセスでは、既知の Maven 座標を持つよく使われるソース ライブラリ、バイナリ ライブラリ、JAR ファイルが Maven 依存関係に置き換えられるため、これらの依存関係を手動でメンテナンスする必要はなくなります。 インポート オプションを使用して、ワークスペース ディレクトリと実際のパスのマップを入力し、未解決の相対パス、パス変数、リンクされたリソースの参照を処理することもできます。
  6. [Finish] をクリックします。

インポートしたプロジェクトを検証する

インポート プロセスが完了したら、Android Studio の [Build] および [Run] メニュー オプションを使用して、プロジェクトをビルドし、出力を確認します。 プロジェクトのビルドが適切に行われていない場合は、次の設定を確認してください。

Android Studio で、これらの設定を確認した後も依然としてプロジェクトのビルドおよび実行時に予想外の問題が発生する場合は、Eclipse ADT プロジェクトを修正してインポート プロセスを再実行することを検討してください。

注: Eclipse ADT プロジェクトを Android Studio にインポートすると、Android Studio プロジェクトが新たに作成されます。既存の Eclipse ADT プロジェクトに影響はありません。

IntelliJ からの移行

IntelliJ プロジェクトで Gradle ビルドシステムを使用している場合は、Android Studio にプロジェクトを自動で直接インポートできます。 IntelliJ プロジェクトで Maven または別のビルドシステムを使用している場合は、Gradle を使用するように設定してから Android Studio に移行する必要があります。

Gradle ベースの IntelliJ プロジェクトのインポート

IntelliJ プロジェクトですでに Gradle を使用している場合は、以下の手順に従って Android Studio でプロジェクトを開くことができます。

  1. [File] > [New] > [Import Project] の順にクリックします。
  2. IntelliJ プロジェクト ディレクトリを選択し、[OK] をクリックします。 Android Studio でプロジェクトが開きます。

Gradle を使用していない IntelliJ プロジェクトのインポート

IntelliJ プロジェクトで Gradle ビルドシステムをまだ使用していない場合、プロジェクトを Android Studio にインポートする方法は 2 通りあります。

空のプロジェクトを新しく作成して移行する

空のプロジェクトを新しく作成し、ソースファイルを新しいディレクトリにコピーすることによって Android Studio にプロジェクトを移行するには、次の手順を実行します。

  1. Android Studio を開き、[File] > [New] > [New Project] の順にクリックします。
  2. アプリのプロジェクト名を入力し、作成する場所を指定して [Next] をクリックします。
  3. アプリを実行するフォーム ファクタを選択して [Next] をクリックします。
  4. [Add No Activity]、[Finish] の順にクリックします。
  5. [Project] ツール ウィンドウで、矢印をクリックしてビュー プルダウンを開き、[Project] ビューを選択して、新しい Android Studio プロジェクトの構成を確認します。ビューの変更および Android Studio でのプロジェクト構成の詳細については、プロジェクト ファイルをご覧ください。
  6. 新しいプロジェクト用に指定した場所に移動して、古いプロジェクト ディレクトリから新しいプロジェクト構成における適切な場所へ、ソースコード、単体テスト、インストルメンテーション テスト、リソースを移動します。
  7. Android Studio で、[File] > [Project Structure] の順にクリックして [Project Structure] ダイアログを開きます。 左側のパネルでアプリのモジュールが選択されていることを確認してください。
  8. プロジェクトの [Properties] タブで必要な変更(minSdkVersiontargetSdkVersion などの変更)を行います。
  9. [Dependencies] をクリックし、プロジェクトで依存しているすべてのライブラリを Gradle の依存関係として追加します。 新しい依存関係を追加するには、[Add] をクリックしてから追加する依存関係のタイプを選択し、画面の指示に従って操作します。
  10. [OK] をクリックして変更を保存します。
  11. [Build] > [Make Project] の順にクリックしてプロジェクトのビルドをテストし、未解決エラーをすべて解決します。

カスタム Gradle ビルドファイルを作成して移行する

既存のソースファイルを指定する Gradle ビルドファイルを新たに作成して、プロジェクトを Android Studio に移行するには、次の手順に従います。

  1. 移行プロセスによって、所定の場所にあるプロジェクトの中身が変更されます。よって、移行を開始する前に、必ずプロジェクト ファイルを別の場所にバックアップしておいてください。
  2. 次に、プロジェクト ディレクトリ内に build.gradle というファイルを作成します。 この build.gradle ファイルには、Gradle でビルドを実施するために必要な情報がすべて格納されます。

    既定では、Android Studio は、プロジェクトが図 1 のような構成になっていると想定しています。

    図 1. Android アプリ モジュールの既定のプロジェクト構成

    IntelliJ プロジェクトの構成は上の図と異なるため、build.gradle ファイルでは、既定の新しいディレクトリ構成の代わりに、既存のフォルダ(res/src/ など)をビルドするためのソース ディレクトリを指定する必要があります。 以下の build.gradle ファイルの例では、Gradle ビルドの基本的な設定をしています。また、android{} ブロックの内部にある sourceSets{} ブロックでは、適切なソース ディレクトリを定義して、名前が競合しないようにテストとビルドタイプの場所を移動しています。 以下のコードブロックを build.gradle ファイルにコピーして、既存プロジェクトの設定において必要な変更を加えます。 たとえば、追加の依存関係を含める、異なるバージョンのターゲット SDK を使用する、ソース ディレクトリ用に別の場所を指定するなどの対応が必要な場合があります。
    // This buildscript{} block configures the code driving the build
    buildscript {
       /**
        * The nested repositories{} block declares that this build uses the
        * jcenter repository.
        */
        repositories {
            jcenter()
        }
    
       /**
        * This block declares a dependency on the 3.0.1 version
        * of the Gradle plugin for the buildscript.
        */
        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.1'
        }
    }
    
    /**
     * This line applies the com.android.application plugin. Note that you should
     * only apply the com.android.application plugin. Applying the Java plugin as
     * well will result in a build error.
     */
    apply plugin: 'com.android.application'
    
    /**
     * This dependencies block includes any dependencies for the project itself. The
     * following line includes all the JAR files in the libs directory.
     */
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        // Add other library dependencies here (see the next step)
    }
    
    /**
     * The android{} block configures all of the parameters for the Android build.
     * You must provide values for at least the build tools version and the
     * compilation target.
     */
    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.2"
    
        /**
        * This nested sourceSets block points the source code directories to the
        * existing folders in the project, instead of using the default new
        * organization.
        */
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                resources.srcDirs = ['src']
                aidl.srcDirs = ['src']
                renderscript.srcDirs = ['src']
                res.srcDirs = ['res']
                assets.srcDirs = ['assets']
            }
    
            // Move the tests to tests/java, tests/res, etc...
            instrumentTest.setRoot('tests')
    
           /**
            * Move the build types to build-types/<type>
            * For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
            * This moves them out of them default location under src/<type>/... which would
            * conflict with src/ being used by the main source set.
            * Adding new build types or product flavors should be accompanied
            * by a similar customization.
            */
            debug.setRoot('build-types/debug')
            release.setRoot('build-types/release')
         }
    }
    
    Gradle ビルドファイルの設定とカスタマイズの詳細については、ビルドの設定をご覧ください。
  3. 次に、使用しているライブラリ プロジェクトを特定します。 Gradle を使用する場合、それらのライブラリをソースコード プロジェクトとして追加する必要はなくなります。代わりに、ビルドファイルの dependencies{} ブロックでそれらを参照できます。 これにより、ライブラリのダウンロード、リソースへの統合、マニフェスト エントリの統合など、使用するライブラリに対する処理がビルド システムによって実行されます。次の例では、上記のビルドファイル例の dependencies{} ブロックに、Google Play サービス用の宣言文と多数のサポート ライブラリを追加しています。
    ...
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
    
        // Google Play Services
        compile 'com.google.android.gms:play-services:9.8.0'
    
        // Support Libraries
        compile 'com.android.support:appcompat-v7:27.0.0'
        compile 'com.android.support:cardview-v7:27.0.0'
        compile 'com.android.support:design:27.0.0'
        compile 'com.android.support:gridlayout-v7:27.0.0'
        compile 'com.android.support:leanback-v17:27.0.0'
        compile 'com.android.support:mediarouter-v7:27.0.0'
        compile 'com.android.support:palette-v7:27.0.0'
        compile 'com.android.support:recyclerview-v7:27.0.0'
        compile 'com.android.support:support-annotations:27.0.0'
        compile 'com.android.support:support-v13:27.0.0'
        compile 'com.android.support:support-v4:27.0.0'
    
        // Note: these libraries require the "Google Repository" and "Android Repository"
        //       to be installed via the SDK manager.
    }
    
    ご使用のライブラリに合った適切な宣言文を特定するには、Gradle, please をご利用ください。Maven Central に基づいた適切な宣言文を確認できます。
  4. build.gradle ファイルを保存して、IntelliJ でプロジェクトを閉じます。 プロジェクト ディレクトリに移動し、.idea ディレクトリとプロジェクトに含まれるすべての .iml ファイルを削除します。
  5. Android Studio を起動し、[File] > [New] > [Import Project] の順にクリックします。
  6. プロジェクト ディレクトリを見つけ、先ほど作成した build.gradle ファイルをクリックして選択してから、[OK] をクリックしてプロジェクトをインポートします。
  7. [Build] > [Make Project] の順にクリックしてプロジェクトをビルドすることによってビルド ファイルをテストし、見つかったすべてのエラーに対処します。

次のステップ

Android Studio へのプロジェクトの移行が完了したら、アプリをビルドして実行するのページで、Gradle を使用したビルトと Android Studio でのアプリの実行について詳細をご覧ください。

さらに、プロジェクトやワークフローに応じて、バージョン管理機能の使用、依存関係の管理、アプリの署名とパッケージ化、Android Studio の設定と更新についても詳細をご確認ください。Android Studio の使用を開始するには、Android Studio の概要をご覧ください。

バージョン管理の設定

Android Studio は、Git、GitHub、CVS、Mercurial、Subversion、Google Cloud Source Repositories など、さまざまなバージョン管理システムをサポートしています。

アプリを Android Studio にインポートした後、Android Studio の VCS メニュー オプションから、目的のバージョン管理システムについて VCS サポートの有効化、レポジトリの作成、新しいファイルのバージョン管理へのインポート、その他のバージョン管理操作を実行できます。

  1. Android Studio の [VCS] メニューで、[Enable Version Control Integration] をクリックします。
  2. プロジェクトのルートを関連付けるバージョン管理システムをプルダウン メニューから選択し、[OK] をクリックします。 選択したシステムに基づいて、VCS メニューにさまざまなバージョン管理オプションが表示されます。

注: [File] > [Settings] > [Version Control] メニュー オプションを使用して、バージョン管理設定を指定または変更することもできます。

バージョン管理の使用方法については、 IntelliJ バージョン管理リファレンスをご覧ください。

Android Support Repository と Google Play Services レポジトリ

Eclipse ADT では Android Support Library と Google Play サービス ライブラリを使用しますが、Android Studio ではインポート プロセスでこれらのライブラリを Android Support Repository と Google Repository に置換し、互換性がある機能を維持しながら Android の新機能に対応しています。Android Studio は、既知の Maven 座標を使用してこれらの依存関係を Maven 依存関係として追加するため、これらの依存関係を手動で更新する必要はありません。

Eclipse で Support Library を使用するには、開発環境で使用する Support Library ごとにプロジェクトのクラスパスの依存関係を変更する必要がありました。Android Studio では、ライブラリのソースを独自のプロジェクトにコピーする必要がなくなり、依存関係を宣言するだけで、ライブラリが自動的にダウンロードされ、プロジェクトに統合されます。これには、リソース、マニフェストのエントリ、ProGuard 除外ルール、ビルド時のカスタム lint ルールの自動統合も含まれています。依存関係の詳細については、ビルド バリアントの構成をご覧ください。

アプリの署名

アプリで Eclipse ADT のデバッグ証明書を使用していた場合は、Android Studio でも引き続きその証明書を参照します。 それ以外の場合、デバッグ構成によって Android Studio が生成したデバッグ キーストアが、既知のパスワードおよびデフォルトの鍵と既知のパスワードとともに使用されます。キーストアは $HOME/.android/debug.keystore にあります。Android Studio でプロジェクトの実行またはデバッグを行うと、debug ビルドタイプはこのデバッグ構成を使用するように自動的に設定されています。

リリース用にアプリをビルドするときは、Android Studio は Eclipse ADT で使用されたリリース証明書を適用します。 インポート プロセスでリリース証明書を指定しなかった場合は、build.gradle ファイルにリリース署名設定を追加するか、[Build] > [Generate Signed APK] メニュー オプションを使用して、[Generate Signed APK Wizard] を起動します。アプリの署名の詳細については、アプリの署名をご覧ください。

Android Studio の最大ヒープサイズの調整

デフォルトで、Android Studio の最大ヒープサイズは 1,280 MB です。 大規模なプロジェクトで作業する場合、またはシステムに大量の RAM が搭載されている場合、Android Studio の VM オプションでこの最大ヒープサイズを増やすことでパフォーマンスを向上できます。

Android Studio の設定の詳細については、Android Studio の設定および Android Studio の設定をご覧ください。

Instant Run を使用するためにプロジェクトを最適化する

Android Studio 2.0 で導入された Instant Run は、[Run] コマンドおよび [Debug] コマンドに対応した機能であり、これを利用するとアプリのアップデート間隔が大幅に短縮されます。 初回ビルドには時間がかかる場合もありますが、その後は新規に APK をビルドすることなく、Instant Run でアプリのアップデート内容をプッシュできるため、変更点をより迅速に確認することができます。 Android Studio の設定をいくつか変更することで、Instant Run のビルドプロセスを改善できます。

Instant Run のパフォーマンスを改善するためのプロジェクト設定方法については、Instant Run 用にプロジェクトを構成して最適化するをご覧ください。

ソフトウェアの更新

Android Studio は、Gradle プラグイン、ビルドツール、SDK ツールとは別に更新されます。 Android Studio で使用するバージョンを指定することができます。

デフォルトでは、Android Studio は新しい安定したバージョンがリリースされると自動的に更新されますが、更新の頻度を増やしたり、プレビュー版やベータ版を受信することもできます。

Android Studio の更新およびプレビュー版、ベータ版の使用の詳細については、常に最新版を使用するをご覧ください。

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)