新しい Android ビルド システムを試していたのですが、小さな問題に遭遇しました。ActionBarSherlock の独自の aar パッケージをコンパイルし、これを「actionbarsherlock.aar」と名付けました。私がやろうとしているのは、実際にこの aar を使用して最終的な APK をビルドすることです。compile project (':actionbarsherlock') を使用して、ActionBarSherlock ライブラリ全体を android-library モジュールとしてメイン プロジェクトに含めると、問題なく正常にビルドできます。
しかし、問題は、JAR の場合と同じように、その依存関係を aar ファイル パッケージとして手動で提供したいのですが、プロジェクトに適切に含める方法がわからないということです。コンパイル構成を使用しようとしましたが、うまくいかないようです。コンパイル中にシンボルが見つからないというエラーが繰り返し表示され、aar パッケージの classes.jar がクラスパスに含まれていないことが示されます。
aar パッケージをファイルとして手動で含める構文を知っている人はいますか?
ビルド
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"
}
編集:答えは、現在サポートされていないということです。問題追跡したい場合。
編集: 現在、これはまだ直接サポートされていないため、@RanWakshlak が提案した解決策が最善の代替手段のようです。
編集: @VipulShah が提案した構文を使用するとさらに簡単になります
ベストアンサー1
動作させるには、以下の手順に従ってください (Android Studio 2.2 までテストしました)。
フォルダー (例).aar
にファイルがあるとします。libs
cards.aar
次に、アプリでbuild.gradle
以下を指定して、「プロジェクトをGradleファイルと同期」をクリックします。
プロジェクト レベルを開きbuild.gradle
、flatDir {dirs("libs")}
以下のように追加します。
allprojects {
repositories {
jcenter()
flatDir {
dirs("libs")
}
}
}
アプリ レベルのbuild.gradle
ファイルを開き、.aar
ファイルを追加します:
dependencies {
implementation(name:'cards', ext:'aar')
}
Kotlin を使用していて、ファイルがある場合build.gradle.kts
:
dependencies {
implementation(name = "cards", ext = "aar")
}
build
すべてがうまくいけば、 ->exploded-aarにライブラリ エントリが作成されていることがわかります。
また、依存関係のある別のプロジェクトからファイルをインポートする場合は、.aar
これらも に含める必要があることに注意してくださいbuild.gradle
。