android-gradle studio so - 新しいGradle Android Build Systemを使用して外部aarパッケージを手動で組み込む方法





8 Answers

  1. あなたのプロジェクトを右クリックし、 "Open Module Settings"を選択してください。

  1. 新しいモジュールを追加するには、ウィンドウの左上隅にある「+」ボタンをクリックします。

  1. 「.JARまたは.AARパッケージのインポート」を選択し、 「次へ」ボタンをクリックします。

  1. 「ファイル名」フィールドの横にある省略記号ボタン「...」を使用してAARファイルを検索します。

  1. アプリケーションのモジュールを選択したままにして、[ 依存関係 ]ペインをクリックして、新しいモジュールを依存関係として追加します。

  1. 依存関係画面の"+"ボタンを使用して、 " Module dependency"を選択します。

  1. モジュールを選択し、 「OK」をクリックします。

追加 依存関係 作成

私は新しいアンドロイドビルドシステムを実験していましたが、私は小さな問題にぶつかってきました。 私は 'actionbarsherlock.aar'と呼ばれるActionBarSherlockの独自のaarパッケージをコンパイルしました。 私がしようとしていることは、実際にこのaarを使って最終的なAPKを構築することです。 コンパイルプロジェクト( ':actionbarsherlock')を使用してメインプロジェクトにandroid-libraryモジュールとしてActionBarSherlockライブラリ全体を含めると、問題なく正常にビルドできます。

しかし、私の問題は、依存関係をaarファイルパッケージとして提供したいということです。私がJARの場合は、プロジェクトに正しく組み込む方法がわからないようです。 私はコンパイル設定を使用しようとしましたが、これはうまくいかないようです。 私はコンパイル中にシンボルを見つけることができないので、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"
}

編集:答えは、現在サポートされていないということです、あなたがそれを追跡したい場合は、ここにissueがあります。

編集:現在のところ、これはまだ直接サポートされていないので、最良の代替案は@RanWakshlak

編集:@VipulShahによって提案された構文を使用しても簡単です




以下のアプローチは最新のAndroidスタジオ(> v0.8.x)で動作します:

  • aarファイルをアプリケーションモジュールのlibsフォルダに保存します(例: <project>/<app>/libs/myaar.aar

  • あなたの "app"モジュールフォルダ(あなたのプロジェクトのルートbuild.gradleではなく)のbuild.gradleに以下を追加してください。 コンパイル行の名前に注意してください。myaar @ aarではなくmyaar.aarです。

    dependencies {
        compile 'package.name.of.your.aar:myaar@aar'
    }
    
    repositories{
        flatDir{
            dirs 'libs'
        }
    }
    
  • [ Tools -> Android -> Sync Project with Gradle FilesクリックしTools -> Android -> Sync Project with Gradle Files




数行のコードで複数のaar依存関係を追加できます。

ローカルのflatDirリポジトリを追加する:

repositories {
    flatDir {
        dirs 'libs'
    }
} 

すべてのaarlibsディレクトリに追加して、依存関係の設定をcompileます。

fileTree(dir: 'libs', include: '**/*.aar')
        .each { File file ->
    dependencies.add("compile", [name: file.name.lastIndexOf('.').with { it != -1 ? file.name[0..<it] : file.name }, ext: 'aar'])
}



残念なことに、ここでの解決策のどれも私のために働いていません(私は未解決の依存関係があります)。 IMHOの最も簡単な方法は次のとおりです。Android Studioからプロジェクト名をハイライトし、ファイル - >新規モジュール - > JARまたはAARパッケージをインポートします。 この投稿には、クレジットが解決策になる




私もこの問題を抱えています。 この問題のレポート: issue ://code.google.com/p/android/issues/detail?id=55863では、.AARファイルの直接参照はサポートされていないようです。

おそらく、現在の代替案は、プロジェクトの親ディレクトリの下にあるGradleライブラリとしてactionbarsherlockライブラリを定義し、それに応じて参照することです。

構文はhttp://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Referencing-a-Libraryで定義されています。




私はここにすべての解決策を試みたが、誰も働いていない、私は間違いを犯したことに.aarた、私は間違ったフォルダに.aarを入れた、あなたが下に見ることができるように、私はルートフォルダに入れるべきだと思ったので、 1)、しかし、アプリのフォルダ内に既にlibsあります、あなたは2番目のlibsに入れて、これは私のものと同じ問題を抱えている人を助けることを願って:




2つの方法があります:

  • 最初の方法

1:Android Studioを開き、[ファイル] - > [新規作成] - > [新規モジュール]を選択して[新しいモジュールの作成]ウィンドウに移動します。

2:「.JAR / .AARパッケージのインポート」項目を選択し、「次へ」ボタンをクリックします。

3:あなたのapp Modlueに属するbuild.gradleファイルに依存関係を追加する。

dependencies {
    ...

    implementation project(path: ':your aar lib name')

}

そのすべて。

  • 第二の方法

1 aarsなどのlibsディレクトリにフォルダを作成します。

2 aarフォルダにaar libを入れます。

3コードスニペットを追加する

repositories { flatDir { dirs 'libs/aars' } }

あなたのbuild.gradleファイルには、appモジュールに属しています。

4あなたのapp Modlueに属するbuild.gradleファイルに依存関係を追加します。

dependencies { ... compile(name:'your aar lib name', ext:'aar') }

そのすべて

あなたが中国語を読むことができれば、あなたはブログをチェックすることができます什么是AAR文件以及如何在Android开发中使用




答えを簡単にするだけです

.aarファイルがローカルに存在する場合、include
あなたのプロジェクトのbuild.gradleの依存関係でcompile project(':project_directory')compile project(':project_directory')ください。

.aarファイルがリモートに存在する場合は、プロジェクトのbuild.gradleに依存してcompile 'com.*********.sdk:project_directory:0.0.1@aar'をインクルードしcompile 'com.*********.sdk:project_directory:0.0.1@aar'




Related