我有一个包含穿戴应用程序的应用程序。在真实设备上进行调试测试时,所有功能都工作正常。我也可以创建释放apk,将穿戴apk打包在里面。但前提是我的应用程序只有一种风格。
我想维护两个版本的应用程序,使用不同的applicationId,但是虽然这个编译没有错误,但在这种情况下,两个发布的apks (每个版本的apks )不会产生相应的穿戴apks。
这是移动应用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')
}
这是对应的穿戴应用程序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'
}
任何帮助都将受到欢迎。谢谢。
发布于 2014-12-10 03:52:26
父应用程序的风格不会自动传播到Wear项目。您必须显式地映射它。
而不是这样:
dependencies {
wearApp project(':myWearApp')
}
执行以下操作:
在你的穿戴应用中:
android {
publishNonDefault true
}
在您的父应用程序中:
dependencies {
TrialWearApp project(path: ':myWearApp', configuration: 'Trial')
FullWearApp project(path: ':myWearApp', configuration: 'Full')
}
发布于 2016-02-04 17:39:27
我看到你找到了问题的解决方案,但这是我的版本,它将构建配置与风格和应用程序后缀结合在一起,以备将来可能需要。对于那些用谷歌搜索这篇文章的人来说,也可能是相关的信息。
app/build.gradle:
android {
compileSdkVersion 23
buildToolsVersion '23.0.3'
signingConfigs {
debug { ... }
release { ... }
}
defaultConfig {
applicationId "com.sample.myapp"
minSdkVersion 14
targetSdkVersion 23
versionName "3.0.1"
versionCode 301
}
buildTypes {
debug {
applicationIdSuffix ".debug"
embedMicroApp = true
minifyEnabled false
debuggable true
}
release {
embedMicroApp = true
minifyEnabled true
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
productFlavors {
trial {
applicationIdSuffix ".trial"
}
full {
applicationIdSuffix ".pro"
}
}
}
configurations {
trialDebugWearApp
fullDebugWearApp
trialReleaseWearApp
fullReleaseWearApp
}
dependencies {
...
trialDebugWearApp project(path: ':myWearApp', configuration: 'trialDebug')
fullDebugWearApp project(path: ':myWearApp', configuration: 'fullDebug')
trialReleaseWearApp project(path: ':myWearApp', configuration: 'trialRelease')
fullReleaseWearApp project(path: ':myWearApp', configuration: 'fullRelease')
}
穿着/build.gradle:
android {
compileSdkVersion 23
buildToolsVersion '23.0.3'
publishNonDefault true
signingConfigs {
debug { ... }
release { ... }
}
defaultConfig {
applicationId "com.sample.myapp"
minSdkVersion 20
targetSdkVersion 23
versionName "3.0.1"
versionCode 301
}
buildTypes {
debug {
applicationIdSuffix ".debug"
minifyEnabled false
debuggable true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
productFlavors {
trial {
applicationIdSuffix ".trial"
}
full {
applicationIdSuffix ".pro"
}
}
dependencies {
...
}
}
https://stackoverflow.com/questions/27387429
复制相似问题