Android GradleはZipタスクでパッケージ化

1624 ワード

Android GradleはZipタスクでパッケージ化
背景:1つのプロジェクトに2つのModuleが含まれます.1つのメインModule、1つのライブラリModuleです.メインModuleは、ライブラリModuleの呼び出し例です.プライマリModuleソースコードを外部ユーザーに個別にパッケージして配布し、プロジェクト構造をそのまま実行できるようにするには、パッケージタスクをカスタマイズして完了する必要があります.
パッケージが必要なファイル:rootDir/app/rootDir/build.gradle rootDir/settings.gradle
Gradle Zipタイプタスクの使用
task exportDemoProject(type: Zip, group: "group_name") {
    into('rootDir/app') {
        from('app').exclude ('build', 'release')
    }

    into('rootDir') {
        from('build.gradle',  'settings.gradle')
    }

    destinationDir file('export')
    baseName 'demo'
    appendix 'openapi-invoke'
    version 'v1.0.0'
    extension 'zip'
    classifier 'source'
}
属性名
タイプ
標準値
説明
archiveName
String
baseName-appendix-version-classifier.extensionどちらも空の場合は名前を追加しません
アーカイブの基本ファイル名
archivePath
File
destinationDir/archiveName
アーカイブの絶対パスを生成します.
destinationDir
File
文書の種類によっては、JARおよびWARは、Project.buildDir/distributions.project.buildDir/libraries.ZIPおよびTARを使用します.
アーカイブのディレクトリ
baseName
String
project.name
アーカイブ名の基礎部分
appendix
String
null
アーカイブ名の追加
version
String
project.version
アーカイブ・ファイル名のバージョン・セクション
classifier
String
null
アーカイブ名の分類セクション
extension
String
ドキュメントタイプと圧縮タイプによって異なります:zip,jar,war,tar,tgzまたはtbz 2.
アーカイブの拡張子
なお、from(‘app’)方式でパッケージ化するソースファイルを直接指定すると、最終的な圧縮ファイルには‘app’というディレクトリが含まれず、Androidのプロジェクト構造が破壊される.