この質問はどこかで答えられたかもしれませんが、適切なものを見つけることができませんでした。
Android Studioで共通ユーティリティライブラリプロジェクトを作成する方法を知りたい。 Androidアプリプロジェクトで使用するいくつかの一般的なクラスとその中のいくつかの一般的なメソッドを記述したいと思います。おそらく、Windowsの世界で.dllがどのように機能しているか-複数のコンシューマー間で共有できる一連の共通メソッド。
前もって感謝します。
これを行う最も簡単な方法:
Android Studioで開いたプロジェクトを右クリックし、New > Module
)を選択します
左ペインでAndroid Libraryを選択し、次をクリックします。
すべての詳細を入力し、[アクティビティの作成]、[テーマ]、および必要でない場合はすべてをオフにします。
プロジェクトと同じAPIレベルとNext、Next、Nextを選択します。
プロジェクト内に別のディレクトリが表示されます。ライブラリのbuild.gradle
が自動的に設定されます。
モジュール/ライブラリ名が "mylibrary"の場合、
include ':mylibrary'
プロジェクトのルートディレクトリ内のsettings.gradleファイルに自動的に追加されます。
メインモジュールを開き、次の行を依存関係ブロックに挿入します。
compile project(':mylibrary')
他のプロジェクトで同じライブラリを使用する場合は、File Exploreを使用してライブラリモジュールをその特定のプロジェクトにコピーし、settings.gradleおよびメインモジュールbuild.gradle手動で。
古い質問ですが、今でもAndroidStudioのライブラリの適切なソリューションではないようです。私はしばらくの間、移行ステップの作成を検討してきましたが、これが私が見つけたものです。
共有コードを含むライブラリ(libと呼ばれる)と、そのライブラリのコードを使用するアプリケーションプロジェクト(appと呼ばれる)があるとします。
重要なのは、プロジェクトのルートの_settings.gradle
_でプロジェクトを定義することです(_/Some/Path/MyProjects/Project/settings.gradle
_)このファイルは既に存在し、_include ':app'
_のようなものを含んでいる必要があります。
このファイルを変更してライブラリも含め、次の2行でライブラリを定義します。
/ Some/Path/MyProjects/Project/settings.gradle
_...
// tell gradle we want to include a module called 'lib'
include 'lib'
// tell gradle there is a module called 'lib', found in a specific directory
// Note the /app on the end, the project structure wraps a project around a module, you want to refer that module!
project (':lib').projectDir = new File('/Some/Path/MyProjects/Library/app')
...
_
また、プロジェクトbuild.gradle _/Some/Path/MyProjects/Project/app/build.gradle
_を編集して、新しく追加されたモジュールlib
に依存するようにします
/ Some/Path/MyProjects/Project/app/build.gradle`
_...
dependencies {
...
compile project (':lib') // we want to depend on our library
}
...
_
複数の開発者と作業するとき、または柔軟性のために、私は_gradle.properties
_ディレクトリで_.gradle
_を使用します(通常はhomedirにある* nixベースのシステムの場合、Windowsが探す場所は不明です)。 注ディレクトリとファイルを作成する必要があるかもしれませんyourselfを実行します。
このファイルでは、必要に応じて、Gradleファイル全体で使用できる定数を作成できます。たとえば、私のものには次のようなものが含まれています。
_theconstant=/Some/Path/MyProjects/Library/app
_
一見欠落している引用符に注意してください(それが本当に必要であるかどうかはわかりません)
project (':lib').projectDir = new File('/Some/Path/MyProjects/Library/app')
と
project (':lib').projectDir = new File(theconstant)
これで、あなたとあなたのチームはこの定数(マシンごとに異なる場合があります)を定義し、それに応じてパスを変更できます。
BuildConfig.DEBUG
_!)これを適切にテストする機会が見つかりませんでしたが、これは当分の間最もエレガントなソリューションのようです!これに関するあなたの考えを聞きたいです。
私はただやっている:
include '..:commons'
settings.gradleで
そして:
compile project(':..:commons')
参照プロジェクトのbuild.gradle内
そのため、よく使用するライブラリをプロジェクトの外部に配置できます
Build.gradleは次のようになります
apply plugin: 'Android-library'
repositories {
mavenCentral()
}
dependencies {
compile 'com.Android.support:support-v4:18.0.0'
}
Android {
compileSdkVersion 18
buildToolsVersion '18.1.1'
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
Java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
最初の行を見てください
Android Studioで新しいプロジェクトを作成するとき、オプションの1つは「ライブラリとしてマーク」です。
別の方法として、他のプロジェクトと同様にプロジェクトを作成します。それを他の場所で使用する場合、ライブラリのgradleファイルで_apply-plugin "Android"
からapply-plugin "Android-library"
そしてそれを使用しているアプリへの依存関係として追加します。作成されたプロジェクトをライブラリとして追加する方法の詳細については、 here を参照してください。
ライブラリを開くときに使用する場合は、通常のプロジェクトとして作成しますproject structure
使用したいアプリでDependencies
の下に目的のライブラリを追加します。