Android磨损应用程序包装失败了味道

Mig*_*sma 18 android android-gradle-plugin wear-os

我有一个包含磨损应用程序的应用程序.在使用真实设备进行调试测试时,一切正常.我也可以创建发布apk,在其中包装wear apk.但只有在我的应用程序中只有一种风味.

我希望保持与不同applicationID执行应用程序的两个版本,但尽管这种编译没有错误,在这种情况下,两个版本的APK(每种口味之一)不cointain相应磨损的apk.

这是移动应用build.gradle的相关部分:

    productFlavors {
    Trial {
        applicationId "com.example.myapp.trial"
        versionName "3.0.1"
        versionCode 301
    }
    Full {
        applicationId "com.example.myapp"
        versionName "3.0.1"
        versionCode 301
    }
}

}

dependencies {
    compile 'com.google.android.gms:play-services:6.1.+@aar'
    wearApp project(':myWearApp')
}
Run Code Online (Sandbox Code Playgroud)

这是对应的穿戴应用build.gradle:

productFlavors {
    Trial {
        applicationId "com.example.myapp.trial"
        versionName "3.0.1"
        versionCode 301
    }
    Full {
        applicationId "com.example.myapp"
        versionName "3.0.1"
        versionCode 301
    }
}

}

dependencies {
    compile 'com.google.android.support:wearable:1.0.0'
    compile 'com.google.android.gms:play-services-wearable:6.1.71'
}
Run Code Online (Sandbox Code Playgroud)

任何帮助都将受到欢迎.谢谢.

Mig*_*sma 31

感谢斯科特给我的线索这是完整的解决方案:

1.)味道必须是小写的

2.)依赖配置必须包括flavor Release

3.)在Wear app build gradle中,在android {}下,我们必须包含publishNonDefault true

所以对于移动应用build.gradle:

android {

......

productFlavors {
    trial {
        applicationId "com.sample.myapp.trial"
        versionName "3.0.1"
        versionCode 301
    }
    full {
        applicationId "com.sample.myapp"
        versionName "3.0.1"
        versionCode 301
    }
 }
}

dependencies {
    trialWearApp project(path: ':myWearApp', configuration: 'trialRelease')
    fullWearApp project(path: ':myWearApp', configuration: 'fullRelease')
}
Run Code Online (Sandbox Code Playgroud)

对于穿戴app build.gradle:

android {

  publishNonDefault true
......

productFlavors {
    trial {
        applicationId "com.sample.myapp.trial"
        versionName "3.0.1"
        versionCode 301
    }
    full {
        applicationId "com.sample.myapp"
        versionName "3.0.1"
        versionCode 301
    }
 }
}
Run Code Online (Sandbox Code Playgroud)


Sco*_*rta 6

父应用程序的风格不会自动传播到Wear项目.你必须明确地映射它.

而不是这个:

dependencies {
    wearApp project(':myWearApp')
}
Run Code Online (Sandbox Code Playgroud)

做这个:

在您的Wear应用中:

android {
    publishNonDefault true
}
Run Code Online (Sandbox Code Playgroud)

在您的父应用中:

dependencies {
    TrialWearApp project(path: ':myWearApp', configuration: 'Trial')
    FullWearApp project(path: ':myWearApp', configuration: 'Full')
}
Run Code Online (Sandbox Code Playgroud)