Android 18章:Android Studioパッケージjarファイル

1474 ワード

誰かが私に尋ねた
Android Studioはjarファイルをどのようにパッケージ化しますか.
通常、Android Studioプロジェクトにはlibraryが含まれています.libraryに対応するbuild/intermediates/bundles/release/classesです.jar.このclasses.jarはlibraryに対応するjarファイルです.ps:libraryに対応するaarファイルはbuild/outputs/aar/xxx.aar次はテーマに直行します.
jarのパッケージ化方法
対応するclassファイルをjarにパッケージしたいだけです.
ここではjarコマンドを使用します
jar cvf AAA.jar -C BBB/ .

BBBディレクトリの下のすべてのclassファイルをAAAというjarにパッケージするという意味です.
build/intermediates/classes/release/にはlibraryが生成したすべてのclassファイルがあります.だから私たちはこのフォルダの下のすべてのclassファイルをパッケージすればいいです.対応するmoduleやライブラリのbuildにあります.gradleファイルの下で、手書きtask、例えば以下
/*  jar  */
def JAR_NAME="AAA.jar";
/*  jar     */
def TARGET_FOLDER="build/"
/*  class     */
def CLASS_FOLDER="build/intermediates/classes/release/"


/*    jar cvf xx.jar -C xxx/ .   */
def makeJar(String target,String classDir){
    exec{
        executable "jar"
        args "cvf",target
        args "-C",classDir
        args " ","."

    }
}

task buildJarTask(dependsOn:['build'])<

Windowsの場合はbatスクリプトを書いてbuild/intermediates/classesルートディレクトリの下にスクリプトを置いてbatファイルをダブルクリックしてコマンドを実行することもできます.
@ECHO OFF
Echo Auto-Jar Created By ppjun
Echo start to jar the folder

jar cvf apple.jar -C release/ .

Echo jar Complete 
 
Pause
EXIT


上は私たちが梱包したプロセス全体です.
まとめ
  • コマンドjar cvf xxを使用する.jar -C xxx/. classファイルをjarファイル
  • にパッケージ化