追加 - com.android.library not found




新しいGradle Android Build Systemを使用して外部aarパッケージを手動で組み込む方法 (12)

  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によって提案された構文を使用しても簡単です


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开发中使用


以下の手順に従って動作させてください(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 {
       compile(name:'cards', ext:'aar')
}

すべてがうまくいけば、ライブラリーのエントリーがビルド→分解された

依存関係を持つ別のプロジェクトから.aarファイルをインポートする場合は、build.gradleにもこれらを含める必要があります。


アプリケーションでAARファイルをインポートする標準的な方法は、 https://developer.android.com/studio/projects/android-library.html#AddDependency

「ファイル」>「新規」>「新規モジュール」をクリックします。 「.JAR / .AARパッケージのインポート」をクリックし、「次へ」をクリックします。 コンパイルされたAARファイルまたはJARファイルの場所を入力し、「完了」をクリックします。

上記のリンクを参照して次の手順を確認してください。


以下のアプローチは最新の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:[email protected]'
    }
    
    repositories{
        flatDir{
            dirs 'libs'
        }
    }
    
  • [ Tools -> Android -> Sync Project with Gradle FilesクリックしTools -> Android -> Sync Project with Gradle Files


前(デフォルト)

implementation fileTree(include: ['*.jar'], dir: 'libs')

include配列に'*.aar'追加するだけです。

implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')

Android Studio 3.xでもうまくいきます。


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


現在、ローカルの.aarファイルの参照はサポートされていません(Xavier Ducrochetの確認のとおり)

代わりにできることはローカルのMavenリポジトリ(それよりもはるかに単純です)を設定し、そこから.aarを参照することです。

私はそれをここで働かせる方法を詳述blogpostを書いた:

http://www.flexlabs.org/2013/06/using-local-aar-android-library-packages-in-gradle-builds


私の場合は、コンパイルするために「プロジェクト」を追加するだけで動作します:

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}


dependencies {
   compile project('com.x.x:x:1.0.0')
}

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


私もこの問題を抱えています。 この問題のレポート: 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ファイルがローカルに存在する場合、include
あなたのプロジェクトのbuild.gradleの依存関係でcompile project(':project_directory')compile project(':project_directory')ください。

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







build.gradle