web-dev-qa-db-ja.com

Android StudioプロジェクトでAARを追加して使用する方法

Androidプロジェクトでカスタムaarを使用しようとしています。StackOverflowとWebで多数の例を見つけました。多くはビルドに失敗しましたが、どれもうまくいきませんでした。最も明確なのは http ://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-Android-project/
それが作業に最も近づきました。

これが私がやったことです

  1. Ref.Javaから非常にシンプルなAAR(Ref.aar)の作成に成功

    // Ref.Java  
    package com.ramrod.Ref;  
    public class Ref {
        // Square an integer
        public static int
        square(int val) {
            return (val * val);
        }
    }  
    
  2. テストプロジェクトを作成しました(RefTest)

  3. RefTest/appの下に作成されたフォルダー「libs」
  4. ライブラリにRef.aarを追加
  5. ファイル->新規->新しいモジュール-> .JAR/.AARパッケージのインポート。
  6. Ref.jarをファイル名として選択->完了(成功したように見える)。
  7. 変更されたbuild.gradle

    // build.gradle (Module: app)  
    
    apply plugin: 'com.Android.application'
    
    Android {
        compileSdkVersion 27  
        buildToolsVersion "27.0.3"
        defaultConfig {
            applicationId "com.ramrod.RefTest"
            minSdkVersion 11
            targetSdkVersion 15
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
            }
        }
        repositories {
            flatDir {
                dirs 'libs'
            }
        }
        dependencies {
            compile( name:'Ref', ext:'aar' )
       }
    }  
    
  8. Build.gradle(すべて)を同期する
  9. RefTestのメインアクティビティのonCreateにRef.aarメソッド(正方形)への参照を追加しました。

    int sq = Ref.square( 2 );
    
  10. ビルド->クリーン、次にビルド->再ビルド。
    これにより生成されたエラー:シンボル変数Refが見つかりません

私は単純なことをしているのか、単なるばかげているのだと確信していますが、それを見ることができません。
どんな助けにも感謝します。

5
DontPanic

Import aar/jarオプションを使用して組み込みヘルパーツールからAARをインポートすると、スタジオはこのaarを使用してモジュールを作成します。

したがって、この状態では、以下に示す状態に似たものが表示されます。表示パネルがAndroidの場合、

enter image description here

パネルモードをProjectに変更してtestaarを開くと、実際にはモジュールのbuild.gradleファイルと対応するaarを確認できます。

enter image description here

だからあなたの声明は

compile( name:'Ref', ext:'aar' )

働いていませんでした。

このaarをプロジェクトに追加するには(インポートaar/jarを使用した後)、最初にモジュールをsettings.gradle(プロジェクト設定ファイル)に追加します。

include ':app', ':testaar'

次に、アプリケーションレベルのbuild.gradleファイルに直接追加します。

implementation project(':testaar')

2)別の方法は

アプリケーションモジュールを右クリック-> [Open Module Settings]を選択-> [モジュールを選択]-> [Dependencies]タブに移動

PSあなたはまた、ビルド->ライブラリと依存関係の編集からこのウィンドウを開くことができます

あなたは以下のように窓に出くわすでしょう

enter image description here

小さな+アイコンをクリックし、[モジュール]オプションをクリックして、最後に必要なモジュール(testaar)を追加します

enter image description here

コードを同期すると、すぐに機能し始めます。

0
Bhavita Lalwani

あなたがすべき:

1)aarライブラリを作成し、それをlibsディレクトリに配置します(without "File-> New-> Newモジュール-> .JAR/.AARパッケージのインポート ")

see picture

2)build.gradleに追加(モジュール:アプリ)

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

}
_

その後、Ref.square(int);を使用できます

あなたのapkはビルド後に含まれます:

enter image description here

2
Dima Kozhevin