Android使用travis构建具有多个productFlavor buildType的

时间:2019-04-24 11:47:06

标签: android gradle android-gradle continuous-integration travis-ci

我的Android项目具有多种构建类型和productFlavors

   flavorDimensions "default"

    productFlavors {
        favor1 {
            applicationId "com.abc.android"
            versionCode 1
            versionName "1"
        }
        flavor2 {
            applicationId "com.abc.android"
            versionCode 1
            versionName "2"
       }
    }



    buildTypes {

        staging {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
        }

        develop {
            applicationIdSuffix ".develop"
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
        }

我已经将我的发言(Abc.java)放在了flavor1staging,flavor1develop,flavor2staging,flavor2develop目录中

我可以在本地Android Studio上执行./gradlew assemblefalor1staging,它可以正常工作,但是在使用travis运行时无法映射文件,并给我错误未解决的参考Abd

类似地,对于在flavorbuild文件夹中定义但在主文件夹中没有定义的任何字符串资源

1 个答案:

答案 0 :(得分:0)

我有一个问题,如果您只给它一种构建类型,构建是否可以正常工作?

因为根据Travis-CI,他们在此链接中没有提及支持多种构建类型

https://docs.travis-ci.com/user/languages/android/

示例中的所有版本仅包含一个示例,因此在这些示例中可以看到

https://github.com/andrewhr/rxjava-android-example/blob/master/app/build.gradle

https://github.com/pestrada/android-tdd-playground/blob/master/app/build.gradle

如果在生成build.gradle后该项目运行正常,请按照以下项目进行操作,如示例所示,然后添加多个版本(如果这样会带来问题,则还需要检查android的log.trace,也许不支持)。

先简化后再复杂化解决方案,以便您可以找到错误所在。