簡體   English   中英

為gradle傳遞的參數為空android

[英]Argument passed for gradle is null android

我正在嘗試安裝相同的應用程序,但具有不同的版本/變體。 所以我找到了這個博客。 https://blog.grandcentrix.net/how-to-install-different-app-variants-on-one-android-device/我想使用不同的應用程序針對不同的sprint對博客的圖片做相同的操作這是我的gradle文件:

apply plugin: 'com.android.application'

def debugsuffix = System.getProperty('debugsuffix', project.getProperties().get('debugsuffix', null))

def final appId = 'com.arthlimchiu.testapp'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"

    defaultConfig {
        applicationId = appId
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    productFlavors {
        dev {
            applicationId = appId + "." + debugsuffix + ".dev"
            resValue "string", "app_name", ".dev-" + debugsuffix
        }
    }

    lintOptions {
        abortOnError false
    }
}

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

運行此命令后:

在此處輸入圖片說明

在Gitbash中,我在Windows btw上,debugsuffix為NULL。

這是我嘗試通過顯示debugsuffix作為應用程序名稱進行調試時的屏幕截圖。 在此處輸入圖片說明

我在正確執行命令嗎? 還是我錯過了什么? 這是我第一次用傳遞的參數進行這種gradle的操作。 有人嘗試過嗎?這真的是一個很好的幫助:)

我終於做到了! 我實際上閱讀了Gradle提供的免費電子書。 並了解了如何解決如何在一台設備上安裝多個相同應用的想法。

這是我的Gradle文件。

apply plugin: 'com.android.application'

def debugsuffix = System.getProperty('debugsuffix', project.getProperties().get('debugsuffix', null))

def final appId = 'com.arthlimchiu.testapp'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"

    defaultConfig {
        applicationId = appId
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        debug {
            applicationIdSuffix ".$debugsuffix"
            resValue "string", "app_name", "testApp-$debugsuffix"
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        abortOnError false
    }
}

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

然后您運行以下命令:

確保使用“ -P”並且它首先執行

您可以在命令行中用空格隔開鏈接任務。

這是輸出:

在此處輸入圖片說明

您現在可以執行[AppName] -Sprint1等或[AppName] -bug-fix-05之類的操作。 這樣的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM