ライブラリプロジェクト(Sherlock ABSなど)を追加する方法 Android Studioですか?
(古いADT Eclipseベースのバンドルではなく、新しいAndroid Studioへ。)
Gradle
、このStackOverflowの回答をご覧ください。
ライブラリプロジェクト(Sherlock ABSなど)を追加する方法 Android Studioですか?
(古いADT Eclipseベースのバンドルではなく、新しいAndroid Studioへ。)
Gradle
、このStackOverflowの回答をご覧ください。
回答:
Android Studio 1.0のアップデート
Android Studio 1.0がリリースされてから(およびv1.0と以前の回答時からの最初のバージョンの間の多くのバージョン)、いくつかの点が変更されました。
私の説明は、Gradleファイルを介して手動で外部ライブラリプロジェクトを追加することに焦点を当てています(プロセスをよりよく理解するため)。Android Studioクリエーターを介してライブラリを追加する場合は、ビジュアルガイドで以下の答えを確認してください(Android Studio 1.0とスクリーンショットの違いはいくつかありますが、プロセスは非常に似ています)。
ライブラリを手動でプロジェクトに追加する前に、外部依存関係の追加を検討してください。プロジェクト構造を台無しにすることはありません。ほとんどすべての有名なAndroidライブラリはMavenリポジトリで使用でき、そのインストールにはapp/build.gradle
ファイル内のコードが1行だけ含まれます。
dependencies {
compile 'com.jakewharton:butterknife:6.0.0'
}
ライブラリを追加する
プロジェクトに外部Androidライブラリを追加する全プロセスは次のとおりです。
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をダウンロードし、ライブラリディレクトリの名前を„ 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「デフォルト設定」エラーが発生した場合は、ステップ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
ファイル(アプリおよびライブラリモジュール)で使用できます。
//...
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ビルドシステムでのAndroidアプリのビルドに関する素晴らしいプレゼンテーションです。XavierDucrohet氏は次のように述べています。
Android Studioは、編集、デバッグ、プロファイリングをすべて対象としています。それはもう建てることではありません。
最初は少し混乱するかもしれません(特に、Eclipseで作業していて、私のようなアリを見たことがない人にとっては特にです))。
Global libraries
(#10:「今、世界の図書館に行きますか」)?それ以外は、説明どおりに動作します:)どうもありがとうございました。(私はGoogleがそれに取り掛かることを望みます-そのような単純なタスクは今のところひっかくように複雑です)
ここに視覚的なガイドがあります:
Android Studio 0.8.2のアップデート:
Android Studio 0.8.2で、[ Project Structure ]に移動し、[ Modules ]で[+]ボタンをクリックして、[ Import Existing Project and import ]を選択しますactionbarsherlock
。次に、Gradleファイルを同期します。
エラーが発生した場合
エラー:SDKビルドツールのリビジョン(xx.xx)が低すぎます。必要な最小値はyy.yyです
ディレクトリbuild.gradle
内のファイルを開き、提案されたものにactionbarsherlock
更新しbuildToolsVersion
ます。
android {
compileSdkVersion 19
buildToolsVersion 'yy.y.y'
メニューファイル -> プロジェクト構造...:
モジュール -> モジュールのインポート
ライブラリモジュールをインポートした後、プロジェクトモジュールを選択し、依存関係を追加します。
次に、インポートしたモジュールを選択します。
Select your project module and add dependency
dependencies { // ... compile project(':library') }
メニューの[ファイル ] -> [ プロジェクト構造] -> [ モジュール ]を使用します。
今日から使い始めました。少し違います。
Sherlockの場合、テストディレクトリを削除するか、junit.jar
ファイルをクラスパスに追加します。
Gradleを使用してライブラリをインポートするには、ライブラリ(モジュールのdependencies
セクション)に追加する必要があります build.gradle
。
例えば
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.0'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}
Android Studioは変化しています。
Android Studioのプロジェクトセクションのモジュールフォルダーを右クリックすると、「モジュール設定を開く」というセクションがあります(バージョン0.2.10を使用しています)。
Modules
、Project Structure
ウィンドウにセクションがありません。
依存関係、Androidライブラリ、マルチプロジェクトの設定に必要な資料を検討します。数分で完了します。
特に、非jarライブラリプロジェクトの場合は、上記のソースから次のスニペットをお読みください。
Gradleプロジェクトは、マルチプロジェクトセットアップを使用して、他のGradleプロジェクトに依存することもできます。マルチプロジェクトセットアップは、通常、すべてのプロジェクトを特定のルートプロジェクトのサブフォルダーとして機能します。
たとえば、次の構造に与えられます:
MyProject/
+ app/
+ libraries/
+ lib1/
+ lib2/
3つのプロジェクトを識別できます。Gradleは次の名前でそれらを参照します。
:app
:libraries:lib1
:libraries:lib2
各プロジェクトには、ビルド方法を宣言する独自のbuild.gradleがあります。さらに、プロジェクトを宣言するルートにsettings.gradleというファイルがあります。これにより、次の構造が得られます。
MyProject/
| settings.gradle
+ app/
| build.gradle
+ libraries/
+ lib1/
| build.gradle
+ lib2/
| build.gradle
settings.gradleの内容は非常に簡単です:
include ':app', ':libraries:lib1', ':libraries:lib2'
これは、実際にGradleプロジェクトであるフォルダーを定義します。
:appプロジェクトはライブラリに依存する可能性が高く、これは次の依存関係を宣言することによって行われます。
dependencies {
compile project(':libraries:lib1')
}
これを実現するためにAndroid Studio GUIをほとんどまたはまったく使用しなかったことに注意してください。
依存関係の混乱を避けるために、現在gitサブモジュールを使用して、ネストされたライブラリを実際のライブラリgit repoにリンクしています。
(.gradleファイルに直接書き込むよりも)簡単な方法を見つけました。
これはAndroid Studio 1.1.0用です。
メニューファイル -> 新しいモジュール...:
「既存のプロジェクトのインポート」をクリックします。
目的のライブラリと目的のモジュールを選択します。
完了をクリックします。Android Studioはライブラリをプロジェクトにインポートします。Gradleファイルを同期します。
インポートしたモジュールをプロジェクトの依存関係に追加します。
アプリフォルダーを右クリック-> [モジュール設定を開く]-> [依存関係]タブに移動-> [+]ボタンをクリック-> [モジュールの依存関係]をクリック
その後、ライブラリモジュールがプロジェクトの依存関係に追加されます。
???
利益
外部ライブラリプロジェクトを含めることがわかった最も簡単な方法は次のとおりです(たとえば、依存関係フォルダーの1つ上のディレクトリに保存されているFacebookライブラリを含める)。
settings.gradleに追加
include ':facebook'
project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
build.gradleの依存関係セクションに、追加します
compile project ('facebook')
あとは、プロジェクトをGradleファイルと同期するだけです。
JARファイルをライブラリとしてAndroid Studioプロジェクトに追加する簡単な方法:
a)* .jarファイルをコピーします
b)プロジェクトの下のlibsディレクトリに貼り付けます。
c)build.gradleに追加:
dependencies {
...
compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
}
b)サンプルcom.example.MYProjectおよびライブラリcom.example.ScanAPIのプロジェクトが同じ名前空間com.exampleを持っている場合、Android Studioはビルドをチェックし、プロジェクトに必要なすべての変更を作成します。その後、メニューの[ファイル ] →[ プロジェクト構造 ]でこれらの設定を確認できます。
c)プロジェクトとライブラリの名前空間が異なる場合は、ライブラリを右クリックして[ライブラリとして追加]オプションを選択し、必要なタイプを選択する必要があります。
現在のバージョンのAndroid Studio(0.2.3)では、「プロジェクト構造」オプションが「build.gradle」の自動変更を行わないことに注意してください。たぶん、この機能は次のバージョンで利用できるようになるでしょう。
その後、関連するbuild.gradleファイルが自動的に更新されます。
build.gradleファイルを開き、新しいビルドルールを依存関係クロージャーに追加します。たとえば、Google Play開発者サービスを追加する場合、プロジェクトの依存関係セクションは次のようになります。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.gms:play-services:6.5.+'
}
プロジェクトパネルでControl、依存関係を追加するモジュールをクリックし、[モジュール設定を開く]を選択します。
[依存関係]タブを選択し、左下隅にある+ボタンを選択します。次のオプションリストから選択できます。
次に、プロジェクトに追加する依存関係に関する詳細情報を入力できます。たとえば、ライブラリの依存関係を選択すると、Android Studioはライブラリのリストを表示して、そこから選択できます。
依存関係を追加したら、モジュールレベルのbuild.gradleファイルを確認します。新しい依存関係を含むように自動的に更新されているはずです。
外部ライブラリプロジェクトを追加するプロジェクトで、メニューの[ファイル ] -> [ 新規] -> * [新しいモジュールのインポート] **に移動し、プロジェクトに追加するライブラリプロジェクトに移動して、「ライブラリ」モジュールの追加を選択しますあなたのプロジェクト。あなたはあなたのプロジェクト、アプリ、インクルードされたライブラリの横に、このような設定を取得します:
include ':app', ':library'
依存関係セクションにbuild.gradle(Module:app)を追加します。
プロジェクトのコンパイル( ':library')
プロジェクトをリビルドすればそれだけです。
*ライブラリ(モジュール)はいくつでも追加できます。その場合、settings.gradleには次のようになります。
include ':app', ':lib1', ':lib2', ...
そしてbuild.gradleでは、次のものが必要です。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// Some other dependencies...
compile project(':lib1')
compile project(':lib2')
...
}
GUIを通じてライブラリの依存関係を編集することはお勧めできません。これは、これらの変更がbuild.gradleファイルに書き込まれないためです。したがって、プロジェクトはコマンドラインからビルドされません。次のようにbuild.gradleファイルを直接編集する必要があります。
たとえば、次の構造に与えられます:
私のプロジェクト/
3つのプロジェクトを識別できます。Gradleは次の名前でそれらを参照します。
:appプロジェクトはライブラリに依存する可能性が高く、これは次の依存関係を宣言することによって行われます。
dependencies {
compile project(':libraries:lib1')
}
最初の方法これはMacBookのために働いています。
最初に、所定の画面としてbuilder.gradleファイルを選択します。
選択した画面のように依存関係を追加します。
同期プロジェクトを選択します。
「Project with path ':signature-pad' could not found in project ':app'」のようなエラーが表示される場合は、2番目の方法を使用してください。
選択メニューのファイル - > 新規作成 - > インポートモジュール...:
Import Moduleをクリックした後、
ライブラリのパスをMacBookのパスのように指定します。
[ 完了]をクリックします。これでライブラリが追加されました。
ABSモジュールをインポートし([ファイル]> [プロジェクト構造]から)、依存関係としてAndroid 2.2とサポートライブラリv4が含まれていることを確認した後も、@ Alexとして次のエラーが発生しました。
Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar'
新しくインポートしたモジュールを依存関係としてメインアプリモジュールに追加し、問題を修正しました。
Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'.
ます。メインプロジェクトにライブラリプロジェクト(ABS)のリソースが表示されないようです。ただし、IDEはクラスとリソースへの参照を認識します。スクリーンショット
ライブラリ名をアプリのbuild.gradleファイルの依存関係ブロックに追加するだけです。
dependencies {
// ...
implementation 'com.example:some-library:1.0.0'
}
今implementation
ではなく使用する必要があることに注意してくださいcompile
。これはAndroid Studio 3.0の新機能です。違いの説明については、このQ&Aを参照してください。
com.android.tools.build:gradle:2.3.3
です。「コンパイル」を引き続き使用したい場合は、Android Studio 3で3.0.0の代わりに引き続き使用できます。
https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0は、最新バージョンのAndroid Studio 1.0.1にJARファイルとライブラリプロジェクトを追加する方法のDropboxリンクです。
スクリーンショット付きのドキュメントをご覧ください。新しいユーザーにとっては非常に簡単です。
私は解決策を見つけました。とても簡単です。froger_mcsの指示に従ってください。
Project Structure-> Modules(Sources)のsrcフォルダをSourceフォルダにしてください。
基本的に、3つの方法でJARファイルを含めることができます。最後の1つは、https: //bintray.com/ jcenterオンラインリポジトリを使用しているリモートライブラリです。ただし、他の2つの方法のいずれかで行うと、JARファイルはプロジェクトに物理的に含まれます。このリンクをお読みくださいhttps://stackoverflow.com/a/35369267/5475941を。この投稿では、JARファイルをAndroid Studioにインポートする方法と、考えられるすべての方法を説明しました。
要約すると、次のような場合(ローカルアドレス)、それらはダウンロードされ、これらのJARファイルはプロジェクト内に物理的に存在します。
ただし、次のようなインターネットアドレスの場合、これらはリモートライブラリ(bintray.com jcenterパーツ)であり、リモートで使用されます。
お役に立てば幸いです。
ビルドグラドルモジュールアプリファイルを開き、依存関係を追加します。ライブラリをダウンロードする場合は、gradleとしてインポートしてビルドするだけです。
それ以外の場合は、サイドグラドルモジュールアプリにリポジトリを追加します。
repositories {
maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}
最初のリポジトリがライブラリをダウンロードします。
ダウンロードしたライブラリをコンパイルします。
compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
transitive = true
}
ライブラリを作成する場合は、プロジェクトをimport new moduleとしてインポートするだけです。
Android Studioで、アプリフォルダー内に移動し、build.gradleファイルを開きます。ここに依存関係が表示されます{}。その中に、ライブラリプロジェクトを追加して同期できます。ライブラリを同期すると、ライブラリがプロジェクトに追加され、その関数とクラスをプロジェクトで使用できるようになります。
私も同じ問題に遭遇し、次のことを行いました。
ライブラリファイルをメニューとして[ファイル ] -> [モジュールメニューのインポート]を使用して、AndroidStudio IDEにモジュールとしてインポートします
次に、ライブラリプロジェクトを依存プロジェクトとして使用するメインモジュールに行きました
メインモジュールを右クリックします(私の場合、名前はappです)->モジュール設定を開きます->依存関係タブに移動します-> +ボタンをクリックします(ウィンドウの右側に表示されます)->モジュール依存関係をクリックします- >リストからライブラリプロジェクトを選択します
変更を適用してOKボタンをクリックします。
それは私のために働いた。他の人にも役立つことを願っています。
実際、バージョンが変わると、メニューで使用できるユーザーインターフェイスとオプションも変わります。これらの質問に対するほとんどの回答を読んだ後、Android Studio 1.1.0で何が機能するかを推測する必要がありました。
マウスを使用して、メインレベルでプロジェクトを選択します(ここにアプリの名前が表示されます)。
右クリックして、メニューオプションの[ 新規 ]、[ フォルダ ]、[ アセットフォルダ ]を選択します。
アセットフォルダを作成したら、ライブラリに必要なJARファイルを貼り付けるかコピーします。
Android Studioのメインメニュー(画面上部)から、[ ファイル] -> [ プロジェクト構造]を選択します。
次に、プロジェクト名を選択し、[ 依存関係 ]タブに移動します。
+ダイアログボックスの左下にあるプラス記号()をクリックし、ファイルの依存関係を選択します。
最後に、最近作成したアセットフォルダーを開き、コピーしたJARファイルを選択して、[適用]とをクリックしますOK。
プロジェクトをクリーンアップして再ビルドします。