web-dev-qa-db-ja.com

ドキュメントとともにAARライブラリをエクスポートする方法は?

ライブラリがAAR形式でビルドされると、なぜライブラリが常にドキュメントを失うのか疑問に思います。また、Android Studioはコードを縮小します。つまり、ビルド前のコードはAAR形式にビルドされた後のコードと常に異なり、オリジナルはありません。ライブラリに独自のドキュメントとオリジナルのコードを持たせたいです。 。以下の違いを確認できます。

構築前

before

AAR形式に組み込まれた後

after

ドキュメントはどこにありますか?!また、コード全体が実際に縮小されて異なっていることに気付くでしょう。

では、コードを縮小せずにAARライブラリとそのドキュメントをエクスポートするにはどうすればよいですか?

18
Anggrayudi H

AARを作成すると元のソースコードはAARに含まれませんであるため、コードは「縮小」します。 Javaバイトコードです。

次に、アプリでAARライブラリを使用する場合。 ソースコードはバイトコードからリバースエンジニアリングされています。元の変数名は使用できず、バイトコードコンパイラの最適化などにより、コーディングスタイルにいくつかの違いがある可能性があります。そしてもちろん、コメントはコンピューター用であり、コメントは人々用であるため、バイトコードには含まれていません。

したがって、AARライブラリを使用するときに、デバッグなどで元のソースコードを表示したくない場合は、AARを別のソースJARとして提供し、おそらくAndroid Studioを使用するように指示する必要があります。自動的に実行されない場合は、ソースJAR。

生成されたAAR/JARをローカルのMavenリポジトリに「アップロード」するプロセスの一部として、ソースJARの作成を自動化することができました。どのようなビルドシステムを使用しているのかわからないので、詳細については説明しません。

とにかく、これをモジュールのbuild.gradleに追加できます。

task sourcesJar(type: Jar) {
    classifier = 'sources'
    from Android.sourceSets.main.Java.srcDirs
}

その後、ソースJARを作成/更新するときはいつでも、個別に実行する必要があります。

Gradle->タスク->その他-> sourcesJar

そして、おそらくタスクを自動化してassembleReleaseタスクの一部にする方法はありますが、私はまだGradleにあまり詳しくありません。

ソースJARは...\MyLibrary\app\build\libs \パスに表示されます。

11

@MarkusKauppinenに同意します。

ソースjarをビルドした後の主な問題は、このjarを依存関係として使用できないことです。これは、コードの記述に使用できないソースコードにすぎません。つまり、jarには*.Javaファイルではなく*.classファイルが含まれているため、何もインポートできません。そのため、次のようにします。

ステップ#1ライブラリのAAR形式を作成します。通常、それは[project]/[library-module]/build/outputs/aar/library-release.aarにあります

ステップ#2AARファイルをモジュールとして追加します。 「ファイル」>「新規」>「新規モジュール...」>「。JAR/.AARパッケージのインポート」>「次へ」に移動します。

enter image description here

次に、AARファイルを見つけて、[完了]をクリックします。

enter image description here

ステップ#3このアイコンをクリックしてプロジェクト構造に移動します icon project structure 、作成したモジュールをアプリの依存関係に追加します。

enter image description here

ステップ#4@ MarkusKauppinenのgradleタスクをライブラリモジュールのbuild.gradleに追加し、プロジェクトをgradleと同期します。

ステップ#5Android Studio> Gradleをクリック>このアイコンをクリックしてgradleタスクを更新]の右側のペインに移動します- icon refresh gradle task

ステップ#6:library-module> sourcesJar> Tasksotherを(ダブルクリックして)検索して実行します。

sourcesJar task

ステップ#7タスクが完了すると、ソースjarが次の場所に表示されます。

library-module\build\libs\..-sources.jar

ステップ#8少なくとも1つのクラスをアプリのモジュールにインポートします。 MainActivityで。次に、を押します Ctrl +クラスをクリックします。 Choose sourcesをクリックし、手順7で説明したようにソースjarを参照します。

browse sources jar

最後に、ソースコードとそのドキュメントを見ることができます。

14
Anggrayudi H

Kotlinでは、 Dokka というオープンソースライブラリを使用できます。 javaDocの場合と同様に、使用は非常に簡単で、ドキュメントをhtml形式で生成します。基本的に、ライブラリは「dokka」というメソッドをgradleメソッドリストに追加します。コマンドを起動すると、ドキュメントが生成されます:)。

以下の例を見ることができます:

enter image description here

0
Nicola Gallazzi