【问题标题】:How to add installDebug.dependsOn(uninstallDebug) to gradle build file in android?如何将 installDebug.dependsOn(uninstallDebug) 添加到 android 中的 gradle 构建文件?
【发布时间】:2016-06-19 10:20:13
【问题描述】:

我正在尝试将:installDebug.dependsOn(uninstallDebug) 添加到我的构建文件中,例如 this

添加这个主构建文件失败以及将其添加到应用构建文件(在:android {} 内部或外部)。

感谢您的帮助

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.5.0' // was 1.3.1
            classpath 'org.hidetake:gradle-ssh-plugin:1.1.2'
        }
    }
//  installDebug.dependsOn(uninstallDebug) // gets: Error:(12, 0) Could not find property 'installDebug' on root project 'Cb7'.

    allprojects {
        repositories {
            jcenter()
        }
    }
    apply plugin: 'org.hidetake.ssh'
    remotes {
        web1 {
            host = 'tayek.com'
            user = 'rtayek'
            password=project.property('password')
        }
    }
    task deliver(dependsOn: ':app:assemble') << {
        ssh.run {
            session(remotes.web1) {
                execute 'pwd'
                put from: 'app/build/outputs/apk/app-debug.apk', into: 'html/conrad/app-debug.apk'
                put from: 'app/build/outputs/apk/app-debug-unaligned.apk', into: 'html/conrad/app-debug-unaligned.apk'
                put from: 'app/build/outputs/apk/app-release-unsigned.apk', into: 'html/conrad/app-release-unsigned.apk'
                execute 'ls -l html/conrad'
            }
        }
    }

apply plugin: 'com.android.application'
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    lintOptions {
        abortOnError false
    }
    defaultConfig {
        applicationId "com.tayek.tablet.gui.android.cb7"
        minSdkVersion 17 // try 19 - 19 does not work :(
        targetSdkVersion 22 // was 23. https://stackoverflow.com/questions/4568267/android-min-sdk-version-vs-target-sdk-version/4568358#4568358
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    //installDebug.dependsOn(uninstallDebug) // Error:(20, 0) Could not find property 'installDebug' on com.android.build.gradle.AppExtension_Decorated@1fc61c76.

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
//installDebug.dependsOn(uninstallDebug) // Error:(28, 0) Could not find property 'installDebug' on project ':app'.

def jdkHome = System.getenv("JAVA_HOME")
dependencies {
    //compile files("${jdkHome}/lib/tools.jar") // who needs this?
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    androidTestCompile 'junit:junit:4.12'
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    //compile files('libs/rabbit.jar')
    //compile files('libs/rabbit-1.0.jar') // not using maven local or flat dirs (yet)
    //runtime files('libs/rabbit-1.0.jar') // try to fix NoClassDefFoundError // does not work
}

【问题讨论】:

  • 很高兴看到错误消息。究竟是什么失败了?

标签: android gradle installation android-gradle-plugin uninstallation


【解决方案1】:

您可以将任务之间的关联推迟到项目完全评估并创建任务之后:

afterEvaluate {
    installDebug.dependsOn(uninstallDebug)
}

在 build.gradle 的顶层执行此操作,而不是在 android 块内。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2013-06-16
    • 2022-06-16
    相关资源
    最近更新 更多