鍍金池/ 教程/ Android/ 附加Android工件和Gradle的檔案
原文鏈接
Issue #185
Issue #181
Issue #161
Issue #192
Issue #174
Issue #190
RecyclerView FastScroll – Part 2
僅作為Android 調(diào)試模式工具的Stetho
Issue #150
Issue #167
Issue #180
Issue #151
Issue #188
Issue #159
Issue #189
Issue #160
Issue #168
Issue #146
Issue #173
Issue #198
Issue #179
延期的共享元素轉(zhuǎn)換(3b)
Yahnac:RxJava Firebase&內(nèi)容提供
Issue #162
游戲性能:規(guī)劃限定條件
分析清單:測(cè)量和尋找哪些方面
Issue #148
Issue #166
Issue #158
Issue #178
Issue #193
Issue #145
Issue #170
Issue #169
Issue #196
Issue #186
Issue #172
Issue #171
附加Android工件和Gradle的檔案
Issue #147
自定義顏色范圍
根據(jù) Material 設(shè)計(jì)導(dǎo)航制圖工具樣式
Issue #187
Issue #184
Issue #175
在Android Lollipop上使用JobScheduler API
Android性能案例追蹤研究
使用安卓Wear API創(chuàng)建watchface—第2部分
在谷歌市場(chǎng)上創(chuàng)造更好的用戶體驗(yàn)
映射與包的神秘關(guān)系
Issue #165
用Robolectric進(jìn)行參數(shù)化測(cè)試
Issue #155
Issue #149
MVC / MVP中的M -模型
歡迎為 Android 和 iOS 嵌入 API
Issue #164
Android UI 自動(dòng)化測(cè)試
Issue #182
Issue #191
Issue #183
Issue #163
Issue #157
響應(yīng)式編程(Reactive Programming)介紹
Issue #197
原文鏈接
Issue #153
Issue #152
Issue #176
原文地址
Android Material 支持庫:Electric Boogaloo的提示與技巧
Issue #156
Issue #154
Android的模糊視圖
Issue #194
Issue #177
Issue #195
針對(duì)Jenkins的谷歌商店安卓出版插件

附加Android工件和Gradle的檔案

當(dāng)構(gòu)建 Android 應(yīng)用程序或庫時(shí),常見的做法是將你的工件保存到本地文件儲(chǔ)存或回購。

除了你的 APK,還有一些你想要/需要保存的附加的工件,并且你想要這樣做。最常見的一個(gè)是 Javadoc,或許是你的 proguard 生成文件,如映射文件。

我當(dāng)然希望 Gradle 任務(wù)能夠處理這個(gè)問題。所以讓我們看看你可能想用的一些任務(wù)。

添加Javadoc歸檔任務(wù)

下面將添加任務(wù)來為每一個(gè)構(gòu)建類型生成 Javadocs,并組裝成 jar 存檔。

    android.applicationVariants.all { variant ->
        project.task("${variant.name.capitalize()}Javadoc", type: Javadoc) {

            destinationDir = new File("$project.buildDir/javadoc/$variant.name")

            source = variant.javaCompile.source

            ext.androidJar = "${project.android.sdkDirectory}/platforms/${project.android.compileSdkVersion}/android.jar"
            classpath = project.files(variant.javaCompile.classpath.files) + project.files(ext.androidJar)

            options {
                linksOffline("http://d.android.com/reference", "${project.android.sdkDirectory}/docs/reference")
                links("http://docs.oracle.com/javase/7/docs/api/");
                setMemberLevel(JavadocMemberLevel.PACKAGE)
                docEncoding = 'UTF-8'
                encoding = 'UTF-8'
                charSet = 'UTF-8'
            }

            exclude '**/BuildConfig.java'
            exclude '**/R.java'
        }

        project.task("generate${variant.name.capitalize()}JavadocJar", type: Jar, dependsOn: "${variant.name.capitalize()}Javadoc") {
            classifier 'javadoc'

            description = 'Assembles a jar archive containing the generated Javadoc API documentation of $variant.name.'

            destinationDir = new File("$project.buildDir/libs/")

            exclude '**/BuildConfig.class'
            exclude '**/R.class'

            from "$project.buildDir/javadoc/$variant.name"
        }
    } 

當(dāng)添加到 build.gradle 文件時(shí),會(huì)從 gradle generateReleaseSourcesJar 命令行生成 Javadoc jar 檔案。

添加源存檔任務(wù)

以下將添加任務(wù)來組裝一個(gè)包含 Java 源的 jar 檔案。

    android.applicationVariants.all { variant ->
        project.task("generate${variant.name.capitalize()}SourcesJar", type: Jar) {
            classifier = 'sources'

            description = 'Assembles a jar archive containing the main sources of $variant.name..'

            destinationDir = new File("$project.buildDir/libs/")

            // exclude generated files
            exclude '**/BuildConfig.java'
            exclude '**/R.java'

            from variant.javaCompile.source
        }
    } 

當(dāng)添加到你的 build.gradle 文件時(shí),會(huì)從 gradle generateReleaseSourcesJar 的命令行生成你的源 jar 檔案。

添加混淆器歸檔任務(wù)

以下將添加任務(wù)來組裝一個(gè)包含生成混淆文件的 zip 檔案。

    android.applicationVariants.all { variant ->
        project.task("generate${variant.name.capitalize()}ProguardFilesJar", type: Zip) {
            classifier 'proguard'

            description = 'Assembles a jar archive containing the Proguard files of $variant.name..'

            destinationDir = new File("$project.buildDir/libs/")
            from "$project.buildDir/outputs/mapping"
        }     
    }

當(dāng)添加到你的 build.gradle 文件時(shí),會(huì)從 gradle generateReleaseProguardFilesJar 的命令行生成混淆 zip 檔案。

上一篇:Issue #146下一篇:Issue #159