我对Android和WearOS以及Gradle都是新手,我只想遵循这个Codelab:
https://codelabs.developers.google.com/codelabs/watchface/index.html#0
所以我下载了Android Studio并导入了项目
https://github.com/googlecodelabs/watchface
但是在编译时,我只是得到了错误
解析失败: com.google.android.support:wearable:2.0.0
我已经尝试过改变SDK的版本和其他东西,但是没有任何帮助。我很确定这只是几个版本设置,但我不知道去哪里看。
有没有人完成了这个代码库,并让它与“真正的”AndroidStudio版本一起运行?
谢谢,Thorsten
发布于 2020-10-09 18:53:23
github上的代码最后一次更新是在2017年5月,这是一个遗憾,因为它是对watchfaces的有用介绍。从那时起,许多事情都发生了变化。github上甚至有来自2018年11月gradle更新的拉取请求,但它还没有合并。
您的“无法解决”错误可能与Google现在在其自己的Maven存储库中提供了一些包有关,除了jcenter。
可以通过将google()添加到build.gradle包文件中的存储库闭包来修复此问题:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.2'
}
}
allprojects {
repositories {
jcenter()
google()
}
}gradle插件的版本也已更改为4.0.2以上,因此还要使用以下命令更新文件gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zipGradle现在应该可以构建了,但它可能仍然会在构建窗口中记录一些警告或错误,您可以在Android Studio的底部打开该窗口。
gradle依赖关键字'provided‘已替换为'compileOnly’,'compile‘替换为'implementation’。Android Studio中的Shift+Ctrl+R将使您能够轻松地在整个项目范围内进行替换。
它对于更新所有模块build.gradle文件中的compileSdkVersion和targetSdkVersion (至30)和buildToolsVersion (至30.0.2)也很有用。
软件包版本已经过时,可穿戴的版本目前是2.8.1,play-services-wearable的版本是17.0.0。Ctrl+Alt+Shift+S将你带到“项目结构”中的“建议”,这可以帮助你在未来保持最新。
最后一个问题是Android支持库已经过时,取而代之的是jetpack/androidx。请参阅old reference。
在这个项目中,这只是一个模块5-调色板的build.gradle的问题。您可以将'com.android.support:palette-v7:23.3.0‘替换为'androidx.palette:palette:1.0.0’。参见Jetpack Artifact Mappings。然后,您需要在MyWatchFaceService.java中更改导入语句。
最后,将以下行添加到gradle.properties:
android.useAndroidX=truehttps://stackoverflow.com/questions/62382574
复制相似问题