web-dev-qa-db-ja.com

Android Studioで既存のプロジェクトをライブラリプロジェクトに変換します

既存のAndroidプロジェクトをAndroid St​​udioのAndroidライブラリプロジェクトに変換するにはどうすればよいですか? Eclipseでは、それは可能です。

実際、古いAndroidプロジェクトをAndroidライブラリプロジェクトに変換して、そのAndroidプロジェクトの既存のコードを使用して新しいAndroid Android St​​udioに小さな変更を加えたプロジェクト。

61
vijay

モジュールのbuild.gradleファイル(モジュールを使用する場合、ルートプロジェクトではありません!)で、次のコードを置き換えます。

apply plugin: 'com.Android.application'
// or, if you're on an old version
apply plugin: 'Android' // note: this one is deprecated

... with:

apply plugin: 'com.Android.library'
// or, if you're on an old version
apply plugin: 'Android-library' // note: this one is deprecated

最近、「Android」は「com.Android.application」に、「Android-library」は「com.Android.library」に変更されています。新しいプロジェクトで古い名前を使用しないでください。

build.gradleファイルを更新した後、プロジェクトをGradleファイルと同期(ツールバーにあります)、実行していないためmightエラーが発生し、エラーが発生しない正しく動作します。

その後、Android Studioはいくつかのファイルを更新して、モジュールがライブラリであることを示します。これが.imlファイルに追加されるため:

<option name="LIBRARY_PROJECT" value="true" />

すでにご存知かもしれませんが、(現在の)ライブラリプロジェクトを実行することはできません- アプリプロジェクトに含める必要があります

Android Studio 1.0を使用していて、「ライブラリプロジェクトはapplicationIdを設定できません」を取得している場合、GradleビルドファイルにapplicationIdがないことを確認してください。

87
Léo Lam

このドキュメントを見る http://tools.Android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup

これをbuild.gradleファイルに追加するだけでいいと思います。

ライブラリプロジェクトの作成

apply plugin: 'Android-library'

リンクから

ライブラリプロジェクトの作成

ライブラリプロジェクトは、通常のAndroidプロジェクトと非常に似ていますが、いくつかの違いがあります。

ライブラリの構築はアプリケーションの構築とは異なるため、異なるプラグインが使用されます。内部的には、両方のプラグインはほとんど同じコードを共有し、同じcom.Android.tools.build.gradle jarによって提供されます。

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.Android.tools.build:gradle:0.5.6'
    }
}

apply plugin: 'Android-library'

Android {
    compileSdkVersion 15
}
4
Ryan Heitner

ファイルエクスプローラーでプロジェクトを開き、project.propertiesを開いて、project.propertiesでAndroid.library = trueを変更してみてください。

0
chanakya

これは遅い応答ですが、私は同じことをしようとしています。上記のどれも私のために仕事をしていないようですが、私はこれがうまくいくと思うことを見つけました:

プロジェクト名を右クリック->(ディレクトリ下部に)ディレクトリをマーク->ソースルート

Resources RootとSources Rootの違いはわかりませんが、答えを見つけるために少しグーグルで調べていますが、うまくいけばそうです。ライブラリがapkをビルドすることになっていないことを知っているだけで、このオプションを設定した後、それができないので、それが機能すると仮定しています。

他の誰かが私よりも知っているなら、そう言ってください!

0
craned

Chanakyaが提案するように、コマンドラインで作成する場合は、次のように更新する必要があります。

Android update lib-project \
--target <target_ID> \
--path path/to/your/project

参照: http://developer.Android.com/tools/projects/projects-cmdline.html#ReferencingLibraryProject

これはEclipseで機能しますが、Androidスタジオではbuild.xml

0
spe