[解決済み] Android Studioにライブラリプロジェクトを追加する方法を教えてください。
質問
ライブラリプロジェクト(Sherlock ABSなど)を Android Studio ?
(古いADTのEclipseベースのバンドルにではなく、新しい Android Studio .)
解決方法は?
Android Studio 1.0へのアップデート
Android Studio 1.0がリリースされてから(そしてv1.0から前回の回答時の最初の1つまでの間に多くのバージョンがあります)、いくつかの点が変更されました。
私の説明は、Gradleファイルを介して手作業で外部ライブラリプロジェクトを追加することに焦点を当てています(プロセスをよりよく理解するために)。もし、Android Studioのクリエーター経由でライブラリを追加したい場合は、以下の項目をチェックしてください。 回答 Android Studio 1.0とスクリーンショットにあるものは若干の違いがありますが、プロセスは非常に似ています。
手作業でライブラリをプロジェクトに追加し始める前に、外部依存関係を追加することを検討してください。そうすれば、プロジェクトの構造を混乱させることはありません。ほとんどの有名な Android ライブラリは
メイヴン
リポジトリにインストールされ、そのインストールに必要なコードは
app/build.gradle
ファイルを作成します。
dependencies {
compile 'com.jakewharton:butterknife:6.0.0'
}
ライブラリの追加
ここでは、プロジェクトに外部 Android ライブラリを追加する全プロセスを説明します。
- Android Studioのクリエイターから新しいプロジェクトを作成します。プロジェクト名は ハローワールド .
- 以下は、Android Studioで作成されたオリジナルのプロジェクト構成です。
HelloWorld/ app/ - build.gradle // local Gradle configuration (for app only) ... - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ...
-
ルートディレクトリで (
HelloWorld/
) に、新しいフォルダーを作成します。/libs
に、外部ライブラリを配置します (このステップは必須ではありません。プロジェクト構造をすっきりさせるためだけです)。 -
作成したライブラリを新しく作成した
/libs
フォルダーを作成します。この例では PagerSlidingTabStrip ライブラリ (GitHubからZIPをダウンロードし、libraryディレクトリを "PagerSlidingTabStrip" "にリネームしてコピーするだけです)。プロジェクトの新しい構成は以下のとおりです。
HelloWorld/
app/
- build.gradle // Local Gradle configuration (for app only)
...
libs/
PagerSlidingTabStrip/
- build.gradle // Local Gradle configuration (for library only)
- build.gradle // Global Gradle configuration (for whole project)
- settings.gradle
- gradle.properties
...
-
settings.gradleを編集し、ライブラリを
include
. 私のようにカスタムパスを使用する場合は、ライブラリのプロジェクトディレクトリも定義する必要があります。settings.gradle全体は以下のような感じになっているはずです。include ':app', ':PagerSlidingTabStrip' project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')
5.1 Default Configuration"エラーが発生した場合、手順5の代わりにこちらをお試しください。
include ':app'
include ':libs:PagerSlidingTabStrip'
-
で
app/build.gradle
ライブラリのプロジェクトを依存関係として追加します。dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' compile project(":PagerSlidingTabStrip") }
6.1. ステップ 5.1 に従った場合は、6 の代わりにこれに従います。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(":libs:PagerSlidingTabStrip")
}
-
ライブラリプロジェクトに
build.gradle
ファイルを手動で作成する必要があります。以下はそのファイルの例です。apply plugin: 'com.android.library' dependencies { compile 'com.android.support:support-v4:21.0.3' } android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 14 targetSdkVersion 21 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } }
-
さらに、プロジェクトのグローバル設定を作成し、各モジュールのSDKバージョンとビルドツールバージョンを含めることで、整合性を保つことができます。以下のように編集するだけです。
gradle.properties
ファイルを開き、行を追加します。ANDROID_BUILD_MIN_SDK_VERSION=14 ANDROID_BUILD_TARGET_SDK_VERSION=21 ANDROID_BUILD_TOOLS_VERSION=21.1.3 ANDROID_BUILD_SDK_VERSION=21
これで
build.gradle
ファイル(appとlibrariesのモジュール内)を以下のようにします。//... android { compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION defaultConfig { minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION) targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) } } //...
-
以上です。プロジェクトをGradleと同期させる」アイコンをクリックするだけです。 . プロジェクト内でライブラリが利用できるようになるはずです。
Google I/O 2013 - 新しいAndroid SDKのビルドシステム は、Gradle Build Systemを使ったAndroidアプリのビルドに関する素晴らしいプレゼンテーションです。Xavier Ducrohetが言ったように。
Android Studioは編集、デバッグ、プロファイリングのためのものです。 もうビルドするためのものではありません。
最初のうちは少し戸惑うかもしれません。 エクリプス を見たことがない - 私のように;)。しかし、最終的にはGradleは私たちにいくつかの素晴らしい機会を与えてくれるので、このビルドシステムを学ぶ価値があります。
関連
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
ライブラリをモジュールとしてインポートする際にエラーが発生しました。Error:A problem occurred configuring project ':library'.
-
アンドロイドシェイプ、グラデーション、角丸、ボーダーラインの設定
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み] Android Studioでパッケージ名を変更する
-
[解決済み] Android Studioの「assets」フォルダはどこに配置すればいいですか?
-
[解決済み] Android Studio for Operation Systemsでのコード書式設定ショートカット
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
AAPT2エラーについて:詳しくはログをご確認ください。
-
NetworkOnMainThreadException
-
Android: インポートモジュールエラー Android リソースのリンクに失敗しました
-
android:EMSのプロパティ
-
ArrayAdapter は、リソース ID が TextView であることが必要です。
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
Android Bluetooth 開発の基本プロセス
-
アンドロイドリストビュー
-
Android Studio http://schemas.android.com/apk/res/android 「URIが登録されていません」の解決方法について
-
アンドロイドにおけるトークンの利用