Android用Gradleを使用して外部のaarパッケージを手動で含める方法 質問する

Android用Gradleを使用して外部のaarパッケージを手動で含める方法 質問する

新しい 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にファイルがあるとします。libscards.aar

次に、アプリでbuild.gradle以下を指定して、「プロジェクトをGradleファイルと同期」をクリックします。

プロジェクト レベルを開きbuild.gradleflatDir {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

おすすめ記事