web-dev-qa-db-ja.com

ローカルaarパッケージのソースを更新する方法

2つのAndroid St​​udioアプリケーションを作成しました。それらの1つはaarライブラリです。このaarライブラリを2番目のアプリケーションで使用しました。 File-> New-> New Module-> Import AAR/JAR Packagesオプションを使用してaarライブラリを追加しました。その後、私はaarライブラリの逆コンパイルされたソースを見ることができます。 aarライブラリを更新するとき、新しいaarファイルをコピーしてアプリケーションプロジェクトフォルダーに貼り付けます。ただし、今回はAndroid St​​udioに古いデコンパイル済みソースが表示されます。しかし、新しいソースを正常にコンパイルします。 Android St​​udioで逆コンパイルされたソースを更新するにはどうすればよいですか? aarファイルimplementation project(':app-debug')行をインポートすると、build.gradleファイルが追加されました。

Android St​​udio 3.0.1を使用しています

私の解決策

ローカルソースを更新する唯一の方法は、aar/jarファイルを更新した後にGradleファイルとプロジェクトを同期ボタンをクリックすることです。

25
user4757345

私は同じ問題を抱えていて、プロジェクトにローカルaarを含めるあらゆる形式を試し、キャッシュの再構築、無効化などのあらゆる方法を試しましたが、ファイルを更新した後にローカルaarの変更が利用できないという問題がまだありましたlibsフォルダー内。

私のために働いた唯一のものはこれでした:

  1. Gradleの実装ファイル( '../libs/yourlib.aar')行をコメントアウトします
  2. 同期グラドル
  3. Libsフォルダーのyourlib.aarを更新します
  4. Gradleの実装ファイル( '../libs/yourlib.aar')行のコメントを解除します
  5. もう一度同期する
  6. ビルドプロジェクト

これで、yourlib.aarの変更がプロジェクトで利用可能になります。このライブラリが複数のモジュールに含まれている場合、各モジュールでそれを行う必要があると思います。理想的ではありませんが、私はこの問題に少なくとも5時間を費やしました。これらの手順は、変更を強制することができる唯一の方法でした。ライブラリをgradleファイルから削除してから同期すると、新しいライブラリが再び追加されたときに強制的に新しいライブラリが選択されると推測しています。

41

私は同じ問題を抱えていて、次のことを非常に迅速に解決しました:

  • プロジェクトの/.idea/libraries/フォルダーでGradle__artifacts_ [subproject] .xmlを探します
  • このファイルを削除
  • Android Studioで、[ファイル]-> [プロジェクトをGradleファイルと同期]に移動します

これは、プロジェクトとして含まれるAARのためです(ファイル->新規->新規モジュール...-> .JAR/.AARパッケージのインポートを使用するときに含まれます)。

13
Regular User

現在、project表記でAARを含めています。 AARは文字通り単なるファイルであるため、代わりにfiles表記で含める必要があります。

次のようなフォルダー構造を仮定します。

screenshot of the folder directory of a new Android Studio 3 project

app/build.gradleの依存関係ブロックには、次のいずれかの行のファイルを含めることができます。

  // include just my_library
  implementation files('libs/my_library.aar')

  // include just other_library
  implementation files("$rootDir/common/libs/other_library.aar")

  // include both libraries
  implementation files('libs/my_library.aar', "$rootDir/common/libs/other_library.aar")

ところで、サポートされている依存関係タイプの合理的な完全なリストが https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.dsl.DependencyHandler.html にあります。

5
Cliabhach

Windowsエクスプローラーで.arrファイルを置き換えた後。私のために働いた唯一のものは、ファイル->キャッシュの無効化/再起動です

0
Evgeniy

Gradleプロジェクトと設定のコメント/コメント解除と再同期に加えて、build-cacheディレクトリ全体を削除する必要がありました。

Macの場合:〜/ .Android/build-cache/Windows:このディレクトリの場所が不明です。

0
Alex Nguyen