android - Gradle-如何为每种口味指定不同的Android * .apk构建位置?

标签 android build gradle

是否可以指定../build/apk/以外的Android * .apk文件构建位置?是否可以为每种口味指定不同的位置?

我正在使用Android Studio。

最佳答案

多数民众赞成在我的工作:

android.applicationVariants.all { variant ->
    def outputName = // filename
    variant.outputFile = file(path_to_filename)
}

但是“清理”任务不会删除该apk,因此您应该按以下方式扩展清理任务:
task cleanExtra(type: Delete) {
    delete outputPathName
}

clean.dependsOn(cleanExtra)

完整样本:
apply plugin: 'android'

def outputPathName = "D:\\some.apk"

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    applicationVariants.all { variant ->
        variant.outputFile = file(outputPathName)
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

task cleanExtra(type: Delete) {
    delete outputPathName
}

clean.dependsOn(cleanExtra)

关于android - Gradle-如何为每种口味指定不同的Android * .apk构建位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23279732/

相关文章:

android - 是否有用于 Retrofit 的 'ResponseInterceptor'(作为其对应的 RequestInterceptor)组件?

java - .class 文件中缺少 @Autowired 注释

java - 如果依赖包具有相同命名空间的类,如何使 ant 构建失败

deployment - Gradle Android-Studio:在多个设备上并行部署/运行

android - 在 android API 23 中使用 HttpURLConnection 将文件和参数发送到服务器

android - ToneGenerator 崩溃 Android

android - Kotlin dagger 2 Android ViewModel注入(inject)错误

docker buildx oci 输出

gradle - 带有Intellij的Grails 3.2无法扩展插件类

java - gradle build无法尝试合并dex文件