从源代码构建 Android Automotive

2024-01-02

TL;DR

从源代码构建 Android Automotive 后,我该如何

  1. 运行汽车模拟器?
  2. 将 CarService 和相关软件包“安装”到设备上?

Details

我正在尝试建立安卓汽车 https://source.android.com/devices/automotive/从源头。我能够使用以下命令成功构建它:

$ repo init -u https://android.googlesource.com/platform/manifest -b android-8.0.0_r11 $ source build/envsetup.sh $ lunch car_emu_x86_64-userdebug $ make -j8 V=1 &>> make.log

我的问题是如何运行模拟器?在谷歌搜索并浏览了一些 stackoverflow 帖子后,我发现了这个:

首先,我在命令行中设置一个环境变量(模拟器使用它来确定要启动哪个模拟器)

export ANDROID_PRODUCT_OUT=/path/to/build_root

接下来,我创建了一个文件car-emulator.sh并将其放入其中(构建是在 Ubuntu 机器上完成的)

#!/usr/bin/env bash

ANDROID_BUILD_OUT=/path/to/build_root/out
PREBUILT=/path/to/build_root/prebuilts
EMULATOR_OUT=${ANDROID_BUILD_OUT}/target/product/car-x86_64

${PREBUILT}/android-emulator/linux-x86_64/emulator \
    -sysdir ${EMULATOR_OUT} \
    -system ${EMULATOR_OUT}/system.img \
    -ramdisk ${EMULATOR_OUT}/ramdisk.img \
    -data ${EMULATOR_OUT}/userdata.img \
    -kernel ${PREBUILT}/qemu-kernel/x86_64/kernel-qemu \
    -scale 0.7 \
    -memory 512 \
    -partition-size 1024

我还尝试将相关的 (darwin-x86_64) 文件从构建机器下载到我的 Mac 笔记本电脑并尝试在那里运行。模拟器启动但立即崩溃并出现巨大的本机堆栈跟踪。

我的问题的下一部分是如何在设备上安装此映像? 我看到CarService.apk已经生成了。在设备上安装此 APK 是否足以使其正常工作?或者 CarService 和相关包是否应该成为需要整体刷新的系统映像的一部分?


这就是我让它工作的方式安卓8.1.0 branch OPM5.171019.017:

$ source ./build/envsetup.sh
$ lunch aosp_car_x86_64-eng
$ emulator

接下来是终端上的以下输出:

模拟器:警告:系统分区大小已调整以匹配图像文件(2562 MB > 200 MB)

模拟器:警告:调整数据分区大小以匹配图像文件(550 MB > 200 MB)

警告:主机不支持请求的功能:CPUID.80000001H:ECX.sse4a [位 6]

警告:主机不支持请求的功能:CPUID.80000001H:ECX.sse4a [位 6]

Android 模拟器显示屏显示正在启动 Android Automotive。 如果上述解决方案不起作用,我建议您尝试构建工程版本用户调试模式。 请分享堆栈跟踪以供进一步分析。

关于你问题的第二部分。我认为您将 android auto 与 android auto 混淆了。

Android Auto 只是一个应用程序,可以使用 APK 和一些细微的调整来部署/设置,而 Android Automotive 是专门为汽车行业设计的 Android 定制版本,拥有自己的一套系统应用程序。因此,不能简单地通过安装APK来将其部署到设备上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从源代码构建 Android Automotive 的相关文章

  • 使用 jni 库构建 AOSP 应用程序

    我正在尝试在 AOSP 内构建 Android 应用程序 我已经定义了Android bp文件如下 cc prebuilt library shared name libPrintString target android arm srcs
  • 访问 android.git.kernel.org 被拒绝 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 任何人都知道为什么我可以毫无困难地访问项目http g
  • 我可以为 Android Auto 制作任何应用程序吗?

    我是 Android Auto 新手 有一个疑问 我有一个应用程序 用户只需选择商品并付款 可以将我的应用引入 Android Auto 吗 因为我进行了很多搜索 但只找到了媒体和消息应用程序的示例 研究媒体和消息 SDK 中的示例 它们没
  • 如何构建 AOSP 应用程序?

    我正在尝试从 AOSP 构建相机应用程序 我使用的是 UBUNTU 14 04 我按照官方文档中的指南进行操作 最后我执行 make Camera 我收到以下错误 including system media audio utils And
  • 我在构建 Android AOSP 时不小心卸载了 jack 服务器

    我正在我的 ubuntu 14 04 机器上构建 Android Go 的 Android 代码 在构建过程中 我遇到了 jack 服务器的一些问题 最终我卸载了 jack 服务器 意外地 如何再次安装 Jack 服务器 我尝试使用以下命令
  • 如何使用Odin解压、修改、打包和烧写`system.img.ext4`文件?

    我有一个system img ext4 lz4与我的三星 S10 5G 高通 设备兼容的文件 我已经提取了system img ext4文件来自system img ext4 lz4 using unlz4 system img ext4
  • 禁用 USB 充电

    由于某些与电池寿命无关的原因 当 USB 主机连接到我的手机 已 root 的 Nexus 4 时 我需要禁用电池充电 上网查了一下 link2 https android stackexchange com questions 15001
  • 为AOSP创建特定的设备树

    我按照 Google 官方教程构建了自己的 AOSP 并成功完成了所有步骤 我有一个在 Nexus 模拟器上运行的 纯 AOSP 版本 https source android com source building html https
  • 将预构建的 APK 添加到 Android AOSP system.img

    我正在从源代码构建 AOSP 我想做的是在生成的 system img 中包含一些预构建的文件 作为 make 过程的一部分 我试图找到创建 system img 的实际文件并在其中添加几行 任何想法 先感谢您 将自定义文件添加到的好方法s
  • 如何下载 Android 版谷歌源代码

    如您所知 有数百个项目的清单https android googlesource com https android googlesource com 我想将它们全部下载到 Windows 机器中 根据谷歌的文件 To install in
  • 分叉 AOSP 清单后如何正确运行存储库同步?

    最近我决定深入 Android 开源项目世界 这就是我对 AOSP 生活的想象 为了深入了解 AOSP 世界 我需要亲自动手修改项目中的代码 我将在三台不同的计算机上执行此操作 因此我需要将我的工作存储在远程 git 存储库中 所以我需要在
  • 如何浏览特定版本的Android源代码?

    我知道android源代码保存在这里 https android googlesource com https android googlesource com 但我看不到任何浏览旧版本代码的方法 我会如何看待 比如说 dalvik lib
  • 下载联系人应用程序的 Android 代码

    我正在尝试从 git 存储库下载联系人 拨号器和通话记录应用程序的 Android 源代码 我在我的 mac 上尝试了以下操作 运行 SnowLeopard 1 创建一个bin目录和一个android目录来放置所有下载的文件2 将这两个目录
  • 如何在 AOSP 中向预构建应用程序(无源代码)添加额外权限

    我有一个没有特定 android 权限的应用程序 例如android permission CHANGE CONFIGURATION 我没有它的源代码 我正在开发 AOSP 我预先构建了这个应用程序 如下所示 将APK放入 device m
  • AOSP 的“午餐”组合是什么意思?我需要选择什么?

    我是 Android 设备 ROM 开发的新手 无论如何 我现在正在为具有 64 位处理器的中国设备构建 AOSP 我按照 source android com 上的菜单进行操作 当我运行 午餐 命令时 终端显示 午餐菜单 选择一个组合 我
  • 寻找Android源代码

    Android API 是开源的吗 如果是这样 我想看看他们如何实现 ListView 对象的 smoothscroll 方法 这是在 API 级别 8 中实现的 但我想针对早期的 API 级别进行构建 我该如何找到这个 是的 它是开源的
  • 退出设备上的 system.img

    我正在为我们部署给客户的设备 LG p509 Optimus 1 开发自动应用程序更新解决方案 我们可以控制这些设备 并且目前在它们上安装自定义内核 但不是完整的自定义 ROM 由于我们试图在设备上自动更新我们的应用程序 因此我们需要由我们
  • 在java中以编程方式签署Apk文件

    我需要修改现有的 apk 文件 data app文件夹 修改后 签名发生变化Meta INF文件夹 因此 为了确保 apk 正常工作 我需要使用正确的 md5sum 来重新签名 是否可以通过java以编程方式退出apk 仅通过代码生成私钥和
  • ADB、Android 调试桥、组件源代码位于 Android 开源项目在哪里

    From 本文 http developer android com tools help adb html 我知道Android Debug Bridge由三个组件组成 亚行客户端 亚行服务器 设备或模拟器上的守护进程 我想从它们各自的源
  • Android repo 脚本创建的 .repo/projects/ 中的裸 git 存储库的用途是什么?

    The 安卓源码 http android git kernel org 由以下人员管理repo http source android com source version control html 使用 repo 同步时 一个名为 re

随机推荐