【发布时间】:2021-06-13 08:49:35
【问题描述】:
我打开项目:ML Kit Vision Quickstart。 https://github.com/googlesamples/mlkit/tree/master/android/vision-quickstart 在手机上构建和运行没有问题。我想使用共享首选项保存程序创建的对象,但是当我创建一个新对象时出现此错误:
('PoseLandmark(int, com.google.mlkit.vision.common.PointF3D, float)' 在“com.google.mlkit.vision.pose.PoseLandmark”中不公开。不能 可以从外部包访问)
这个类 PoseLandmark 是只读的。并且有 2 个可点击的链接“下载源”和“选择源”。当转到下载源时,任务失败并显示以下消息:
任务:app:DownloadSources FAILED 1 个可操作的任务:1 个已执行
FAILURE:构建失败并出现异常。
在哪里: 初始化脚本'/tmp/ijmiscinit1.gradle'行:20
出了什么问题:任务 ':app:DownloadSources' 执行失败。 无法解析配置“:app:downloadSources_0dad3cd2-2bde-4430-8d97-b0c59cc95ab3”的所有文件。 找不到 com.google.mlkit:pose-detection-common:17.1.0-beta2@aar。 要求: 项目:应用程序
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
通过https://help.gradle.org获得更多帮助
BUILD FAILED in 5s 23:52:38: 任务执行完成 '下载资源'。
我尝试在 gradle.build 文件中更改此版本:
实现 'com.google.mlkit:pose-detection:17.0.1-beta3
到:
实现 'com.google.mlkit:pose-detection:17.0.1-beta2
但没用!
我已经尝试了很多事情:使缓存/重启无效,删除 .idea 和 .gradle 文件,再次导入项目,再次下载文件,安装新版本哦工作室...
有人对我如何保存这个对象有一些建议?
编辑: 对象在这里创建:
@Override
public void draw(Canvas canvas) {
List<PoseLandmark> landmarks = pose.getAllPoseLandmarks();
if (landmarks.isEmpty()) {
return;
}
并按顺序使用:
for (PoseLandmark landmark : landmarks) {
drawPoint(canvas, landmark, whitePaint);
if (visualizeZ && rescaleZForVisualization) {
zMin = min(zMin, landmark.getPosition3D().getZ());
zMax = max(zMax, landmark.getPosition3D().getZ());
}
}
也许可以解决。
【问题讨论】:
标签: java android-studio gradle sharedpreferences google-mlkit