讲师中心 微信公众号
AI工具推荐 视频效率加速

Android Things 设备 API 的正确引入方式与依赖配置指南

落明姑娘_3212

落明姑娘_3212

发布时间:2026-01-15 19:33:16

|

816人浏览过

|

来源于php中文网

原创

Android Things 设备 API 的正确引入方式与依赖配置指南

android things 已于 2020 年正式停止维护,其核心库 `com.google.android.things`(含 `device` 等子包)仅适用于旧版 android things os 设备开发,不可用于常规 android 应用;正确依赖应为 `com.google.android.things:androidthings:1.0`,且需配置 google maven 仓库并注意平台兼容性限制。

Android Things 是 Google 曾推出的面向物联网嵌入式设备的操作系统(基于 Android),专为树莓派、NXP i.MX7D 等硬件设计。其 SDK 提供了 com.google.android.things.device 等专用 API(如 PeripheralManager、UartDevice、Gpio),用于直接控制硬件外设。但需明确:该库并非普通 Android 应用可用的通用工具包,而是 Android Things OS 运行时环境的系统级 API。

✅ 正确依赖配置(仅限 Android Things 项目)

若你正在开发运行于 Android Things OS 的固件应用(targetSdkVersion ≤ 27,minSdkVersion = 24),请按以下步骤配置:

  1. 在项目级 build.gradle 中添加 Google Maven 仓库:

    Python Dependency Candidate Fetcher 2
    Python Dependency Candidate Fetcher 2

    根据包的能力以及 Jupyter 环境中的导入语句,从候选列表中挑选最适合用户表格工作流的 Python 包。

    下载
    // build.gradle (Project)
    allprojects {
     repositories {
         google()  // 即 https://maven.google.com
         mavenCentral()
     }
    }
  2. 在模块级 build.gradle 中声明正确依赖:

    // build.gradle (Module: app)
    android {
     compileSdk 27  // 必须为 27 或更低(Android Things 1.0 对应 Android 8.1)
    
     defaultConfig {
         minSdkVersion 24
         targetSdkVersion 27
         // 注意:Android Things 应用必须声明 uses-library
         manifestPlaceholders = [thingssdk: "com.google.android.things"]
     }
    }

dependencies { implementation 'com.google.android.things:androidthings:1.0' }

3. **在 `AndroidManifest.xml` 中声明系统库依赖**:
```xml
<application ...>
    <uses-library
        android:name="com.google.android.things"
        android:required="true" />

    <!-- 主 Activity 需声明为 Launcher,并指定 Android Things category -->
    <activity
        android:name=".MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.IOT_LAUNCHER" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

⚠️ 重要注意事项

  • ❌ implementation 'com.google.android.things:device:1.0' 是错误的坐标——该 artifact 从未发布,Maven 仓库中不存在。唯一有效 artifact 是 com.google.android.things:androidthings:1.0。
  • ? 不支持常规 Android 手机/平板:此库无法在标准 Android 设备上运行,调用 PeripheralManager.getInstance() 将抛出 UnsupportedOperationException 或 SecurityException。
  • ? 项目已终止维护:Google 自 2020 年 1 月起停止 Android Things 的更新与支持,不再提供新功能、安全补丁或云服务(Cloud IoT Core 集成已下线)。新项目请转向 Raspberry Pi OS + libgpiod、ESP-IDF、Arduino 或 Android’s modern Jetpack libraries(如 androidx.core:core-splashscreen 不相关,硬件交互推荐使用厂商 SDK 或 HAL 层封装)。
  • ? 若你在文档中看到 com.google.android.things.device.* 包,它属于 androidthings-1.0.aar 内部结构,无需单独引入子模块——androidthings:1.0 已完整包含全部 API。

✅ 替代方案建议(2024 年起)

场景 推荐方案
树莓派 GPIO/I²C/UART 控制 使用 libgpiod(C/C++/Python)或 Pi4J v2(Java)
跨平台嵌入式开发 ESP-IDF(ESP32)、Zephyr RTOS、Rust embedded-hal
Android 设备有限硬件访问 android.hardware.usb(USB Host)、android.bluetooth.le(BLE)、厂商定制 HAL(如 Qualcomm QCA4020 SDK)

总之,请确认你的目标平台是否为已刷写 Android Things 1.0 固件的开发板;否则,引入该依赖不仅无法编译通过,更会在运行时失败。技术选型前务必查阅 Android Things 官方停更公告 及当前活跃的开源 IoT 生态。

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全

C++系统编程中的内存管理是指 对程序运行时内存的申请、使用和释放进行精细控制的机制,涵盖了栈、堆、静态区等不同区域,开发者需要通过new/delete、智能指针或内存池等方式管理动态内存,以避免内存泄漏、野指针等问题,确保程序高效稳定运行。它核心在于开发者对低层内存有完全控制权,带来灵活性,但也伴随高责任,是C++性能优化的关键。

106

2025.12.22

Rust异步编程与Tokio运行时实战
Rust异步编程与Tokio运行时实战

本专题聚焦 Rust 语言的异步编程模型,深入讲解 async/await 机制与 Tokio 运行时的核心原理。内容包括异步任务调度、Future 执行模型、并发安全、网络 IO 编程以及高并发场景下的性能优化。通过实战示例,帮助开发者使用 Rust 构建高性能、低延迟的后端服务与网络应用。

278

2026.02.11

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

642

2026.03.05

Rust 系统编程入门与实战
Rust 系统编程入门与实战

统讲解近年最受关注的系统级编程语言 Rust 的核心知识体系,涵盖 Rust 的安装与 Cargo 项目管理、变量绑定与不可变性设计哲学、所有权(Ownership)/ 借用(Borrowing)/ 生命周期(Lifetime)三大核心概念、结构体/枚举与模式匹配(match)、Trait 特征系统与泛型编程、错误处理(Result/Option)、智能指针(Box/Rc/Arc)、并发编程的无畏并发(Fearless Concurre

497

2026.05.29

Rust异步网络服务与Tokio Runtime深度实践
Rust异步网络服务与Tokio Runtime深度实践

本专题围绕 Rust 在高并发网络服务中的应用展开,系统讲解 Tokio 异步运行时、任务调度模型、Future 执行机制以及高性能网络编程方式。结合实际服务端案例,帮助开发者构建低延迟、高可靠的异步服务架构。

296

2026.06.29

Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

4400

2025.09.15

Java Maven/Gradle 构建与依赖管理合集
Java Maven/Gradle 构建与依赖管理合集

系统讲解 Java 项目构建工具的使用与进阶配置,涵盖 Maven 的 POM 文件结构、生命周期(clean/compile/package/install/deploy)与插件机制、依赖范围(compile/provided/test/runtime)与传递依赖管理、多模块聚合与继承、私有 Nexus 仓库发布,以及 Gradle 的 Groovy / Kotlin DSL 语法、Task 自定义与增量构建、依赖版本目录(Versi

389

2026.05.09

android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

922

2023.08.14

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn