[解決済み] Gradle for Androidを使用して、外部のaarパッケージを手動でインクルードする方法
質問
新しいアンドロイドビルドシステムで実験しているのですが、小さな問題に遭遇しました。 ActionBarSherlockのaarパッケージをコンパイルし、'actionbarsherlock.aar'と名付けました。 私がやろうとしていることは、実際にこのaarを使って最終的なAPKをビルドすることです。 もし私がActionBarSherlockライブラリ全体をandroid-libraryモジュールとして私のメインプロジェクトにcompile project (':actionbarsherlock')を使って含めると、何の問題もなく正常にビルドすることができます。
しかし、私の問題は、私がJARのように手動でaarファイルパッケージとしてその依存性を提供したいのですが、私のプロジェクトにそれを適切に含める方法を見つけ出すことができないようです。 私は、コンパイル設定を使用しようとしましたが、これはうまくいかないようです。 コンパイル中に cannot find symbol と表示されて、aarパッケージのclasses.jarがクラスパスに含まれていないことがわかります。
どなたか、aarパッケージをファイルとして手動でインクルードする構文をご存じないでしょうか?
build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile files('libs/actionbarsherlock.aar')
}
android {
compileSdkVersion 15
buildToolsVersion "17.0"
}
EDIT: つまり、現在サポートされていないという答えです、以下がその例です。 問題 をご覧ください。
EDIT: 現在、これはまだ直接サポートされていないため、最善の代替案は @RanWakshlak が提案するソリューションのようです。
EDIT: また、@VipulShah が提案する構文を使用すると、よりシンプルになります。
どのように解決するのですか?
以下の手順で動作させることができます(Android Studio 2.2まででテストしています)。
libsフォルダにaarファイルを保存しているとします。(ファイル名は
cards.aar
)
では、アプリで
build.gradle
を指定し、プロジェクトとGradleファイルの同期をクリックします。
プロジェクトレベルのbuild.gradleを開き、以下の項目を追加します。
flatDir{dirs 'libs'}
以下のように
allprojects {
repositories {
jcenter()
flatDir {
dirs 'libs'
}
}
}
を追加し、アプリレベルの build.grdle ファイルを開きます。
.aar
ファイル
dependencies {
implementation(name:'cards', ext:'aar')
}
うまくいけば、build -> exploded-aarにライブラリのエントリが作成されていることがわかります。
また、他のプロジェクトから依存関係のある .aar ファイルをインポートする場合は、build.gradle にこれらのファイルも含める必要があることに注意してください。
関連
-
最新のandroidプロジェクトディレクトリにあるarmeabi-v7aとarmeabiの具体的な意味とその違いを教えてください。
-
アプリケーションがメインスレッドで過剰に作業している可能性があります。
-
Android カスタムスピナーコントロールのドロップダウン・ボックスの実装
-
Androidの美しいSeekBarスタイルのカスタマイズ
-
Android基本アプレット
-
android.content.ActivityNotFoundException を解決します。Intent問題を処理するActivityが見つからない
-
[解決済み] アイテムの親を取得する際にエラーが発生しました。AppCompat v23にアップグレードした後、指定された名前に一致するリソースが見つかりません。
-
[解決済み】Gradleを使用してリリース署名付きapkファイルを作成する方法は?
-
[解決済み】Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatを定義するdexファイルが複数存在する。
-
[解決済み】Android Studio エラー "インストールされたビルドツールリビジョン 31.0.0 は破損しています" について
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Androidで発生した問題、解決策とヒント
-
RuntimeException: アクティビティを開始できません ComponentInfo solution
-
を作ってください。*** makeするルールがない エラーの原因、分析、解決策
-
アンドロイドスタジオのエラーを解決する --> Error:(1, 0) id 'com.android.application' を持つプラグインが見つかりません。
-
WeChatとQQは、他のアプリのオープンリストに自分のアプリを追加し、ファイルパスを取得することができます
-
Android ProgressBarの色を変更する
-
アンドロイドスタジオソフトウェア使用詳細説明書
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
-
[解決済み] Android Studioでaarファイルを作成する
-
[解決済み] フラットディレクトリを使ったGradleビルドでローカルの.aarファイルの追加がうまくいかない