哪个变量包含apk路径,包括gradle/android中的basename?

哪个变量包含apk路径,包括gradle/android中的basename?,android,gradle,Android,Gradle,我有多种风格,我需要计算将要准备的apk的散列,将散列添加到资产中,然后重新打包 在味道出现之前,代码非常简单 def first = true def assetsDir = "/path/to/assets" assembleRelease.doLast { def projectLocation = projectDir.toString() def apkLocation = projectLocation + "app-release.apk" if firs

我有多种风格,我需要计算将要准备的apk的散列,将散列添加到资产中,然后重新打包

在味道出现之前,代码非常简单

def first = true
def assetsDir = "/path/to/assets"
assembleRelease.doLast {
    def projectLocation = projectDir.toString()
    def apkLocation = projectLocation + "app-release.apk"

    if first {
         exec { executable 'hasher', apkLocation, assetsDir }
         first = false
         assembleRelease.execute()
    }
}
我需要一个通常包含app release.apk的变量,这个怎么样

 applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def apkFile = output.outputFile
}}
def apk = null
android.applicationVariants.all { variant ->
    if ( (variant.name).equals("release") ) {
        variant.outputs.each { output ->
            apk = output.outputFile
        }
    }
}
println "output file path: " + apk

解释代码的某些部分或写一些东西是很好的it@Nezam我认为这段代码是非常不言自明的-这里不需要冗余-而且仅仅是一个代码提示通常比你提供的任何东西都更有用。这段代码是不言自明的,但是看起来很奇怪,当你在变量中时,你必须迭代变量。你对变量中的变量是什么意思?当你已经在变量中时迭代变量看起来是错误的。