问题
我们遇到了一个项目的问题,该项目具有多个(2)产品风味尺寸和磨损模块 . 在构建一个版本时,我们没有编译错误,手机应用程序工作,但磨损应用程序永远不会同步观看 .
代码示例
手机应用模块 build.gradle
包含(示例且仅提取)
flavorDimensions 'brand', 'type'
productFlavors {
nikon {
dimension 'brand'
}
canon {
dimension 'brand'
}
compact {
dimension 'type'
}
slr {
dimension 'type'
}
}
dependencies {
wearApp project(':wear')
}
Wear app module build.gradle
包含相同的尺寸配置
publishNonDefault true
flavorDimensions 'brand', 'type'
productFlavors {
nikon {
dimension 'brand'
}
canon {
dimension 'brand'
}
compact {
dimension 'type'
}
slr {
dimension 'type'
}
}
dependencies {
}
我们做了什么
我们检查了磨损应用程序是否在apk中通过安装在手机上并触发官方android穿戴应用程序的磨损应用程序同步选项 . 在日志记录中,您可以获得同步观察的 packageId
的概述:
I/WearablePkgInstaller: Setting DataItem to install wearable apps for your.package.id.here
我们还尝试在依赖项中指定重定向到特定配置的flavor .
nikonCompactWearApp compile(path:':wear', configuration:'nikonCompactRelease')
然而,添加两种风味尺寸会立即打破构建 . 有一个风味维度确实有效,并且磨损应用程序已正确发布,但我们真的想要多个维度 .
nikonWearApp compile(path:':wear', configuration:'nikonCompactRelease')
显而易见的
为了清楚起见,在我们切换到多个维度之前,磨损应用程序工作 . 我们还检查了明显的穿着apk包装选项,如:
-
对于手机和磨损应用都有相同的applicationId
-
也可以通过手机应用程序获得穿戴应用的所有权限
-
构建一个版本,因为调试从不包括磨损应用程序
-
publishNonDefault true在磨损模块中设置