ライブラリがAAR形式でビルドされると、なぜライブラリが常にドキュメントを失うのか疑問に思います。また、Android Studioはコードを縮小します。つまり、ビルド前のコードはAAR形式にビルドされた後のコードと常に異なり、オリジナルはありません。ライブラリに独自のドキュメントとオリジナルのコードを持たせたいです。 。以下の違いを確認できます。
構築前
AAR形式に組み込まれた後
ドキュメントはどこにありますか?!また、コード全体が実際に縮小されて異なっていることに気付くでしょう。
では、コードを縮小せずにAARライブラリとそのドキュメントをエクスポートするにはどうすればよいですか?
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 \パスに表示されます。
@MarkusKauppinenに同意します。
ソースjarをビルドした後の主な問題は、このjarを依存関係として使用できないことです。これは、コードの記述に使用できないソースコードにすぎません。つまり、jarには*.Java
ファイルではなく*.class
ファイルが含まれているため、何もインポートできません。そのため、次のようにします。
ステップ#1ライブラリのAAR形式を作成します。通常、それは[project]/[library-module]/build/outputs/aar/library-release.aar
にあります
ステップ#2AARファイルをモジュールとして追加します。 「ファイル」>「新規」>「新規モジュール...」>「。JAR/.AARパッケージのインポート」>「次へ」に移動します。
次に、AARファイルを見つけて、[完了]をクリックします。
ステップ#3このアイコンをクリックしてプロジェクト構造に移動します 、作成したモジュールをアプリの依存関係に追加します。
ステップ#4@ MarkusKauppinenのgradleタスクをライブラリモジュールのbuild.gradle
に追加し、プロジェクトをgradleと同期します。
ステップ#5Android Studio> Gradleをクリック>このアイコンをクリックしてgradleタスクを更新]の右側のペインに移動します- ( 。
ステップ#6:library-module
> sourcesJar
> Tasks
でother
を(ダブルクリックして)検索して実行します。
ステップ#7タスクが完了すると、ソースjarが次の場所に表示されます。
library-module\build\libs\..-sources.jar
。
ステップ#8少なくとも1つのクラスをアプリのモジュールにインポートします。 MainActivity
で。次に、を押します Ctrl +クラスをクリックします。 Choose sources
をクリックし、手順7で説明したようにソースjarを参照します。
最後に、ソースコードとそのドキュメントを見ることができます。
Kotlinでは、 Dokka というオープンソースライブラリを使用できます。 javaDocの場合と同様に、使用は非常に簡単で、ドキュメントをhtml形式で生成します。基本的に、ライブラリは「dokka」というメソッドをgradleメソッドリストに追加します。コマンドを起動すると、ドキュメントが生成されます:)。
以下の例を見ることができます: