gradlegradleAndroid Gradle

Android gradle打包涉及task源码解析(一)准备

2018-11-15  本文已影响0人  枫吹一痕

文章序号

工欲善其事,必先利其器

相关知识如果不了自行网上查找

Android编译源码链接

调试编译过程链接

测试程序链接
测试程序写一点gradle逻辑,用于打印出相应task的inputs和outputs文件

// 打印task的输入和输出
gradle.taskGraph.afterTask { task ->
    try {
        println("---- task name:" + task.name)
        task.inputs.files.each { fileTemp ->
            println 'input file:' + fileTemp.absolutePath
        }

        println '---------------------------------------------------'
        task.outputs.files.each { fileTemp ->
            println 'output file:' + fileTemp.absolutePath
        }
    } catch (Exception e) {

    }
}

相关task

新建一个Android Project默认的task如下(构建环境android gradle plugin:3.0.0):

:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:checkDebugManifest UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:prepareLintJar UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:createDebugCompatibleScreenManifests UP-TO-DATE
:app:processDebugManifest
:app:splitsDiscoveryTaskDebug UP-TO-DATE
:app:processDebugResources
:app:generateDebugSources
:app:javaPreCompileDebug
:app:compileDebugJavaWithJavac
:app:compileDebugNdk NO-SOURCE
:app:compileDebugSources
:app:mergeDebugShaders
:app:compileDebugShaders
:app:generateDebugAssets
:app:mergeDebugAssets
:app:transformClassesWithDexBuilderForDebug
:app:transformDexArchiveWithExternalLibsDexMergerForDebug
:app:transformDexArchiveWithDexMergerForDebug
:app:mergeDebugJniLibFolders
:app:transformNativeLibsWithMergeJniLibsForDebug
:app:processDebugJavaRes NO-SOURCE
:app:transformResourcesWithMergeJavaResForDebug
:app:validateSigningDebug
:app:packageDebug
:app:assembleDebug

后面将分6篇文章来分别分析相关所有的task。

上一篇 下一篇

猜你喜欢

热点阅读