问题标签 [android-firmware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1231 浏览

android - 在 Android 上创建自定义可闪存分区

我正在开发一个利用 Android 为设备供电的项目。在我的例子中,这是一台使用标准 MTK 处理器的平板电脑,而且由于我工作的公司自己生产平板电脑,我可以访问它的完整固件(设备驱动程序、无线电驱动程序、系统等)。但是,我正在尝试创建一个自定义分区来存储一些数据,但应该可以通过闪存工具进行闪存。搜索了前两天,包括https://source.android.com/devices/bootloader/partitions-images才发现可以通过adb创建分区。那不是我想要的。我希望能够创建类似 /MISC 分区的东西,可以通过 flash 工具刷新。甚至有可能做这样的事情,以及如何做?欢迎任何建议。

0 投票
1 回答
381 浏览

android - 如何提供 AOSP 屏幕尺寸信息?

最近我买了带有自定义多语言 MIUI 的小米平板 4,并决定在设备上安装纯 Android。

我找到了一篇文章并安装了phhusson GSI 一切正常,但似乎 Android 对平板电脑的物理屏幕尺寸一无所知。我看到非常大的字体和图片,就像普通手机被放大一样。

我的问题是如何让平板电脑像平板电脑一样工作,而不是大手机?

0 投票
0 回答
240 浏览

java - 适用于 Android 的平台签名 OTA 更新程序应用程序

尝试构建一个用于更新从源代码构建的 android OS 的应用程序。即使在使用平台密钥对应用程序进行签名后,该方法RecoverySystem.installPackage(context,file)在应用于放置在“/data/cache”中的更新文件时也会出现错误,即应用程序不允许写入 /cache。此外,尝试访问 /cache 分区时会引发 SElinux 错误。

该应用程序拥有必要的权限android.permission.RECOVERYandroid.permission.REBOOT并且android.permission.ACCESS_CACHE_FILESYSTEM

浏览源代码,这些行

在 RecoverySystem.installPackage() 触发错误。(http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/java/android/os/RecoverySystem.java#562

即使显示错误,设备仍会重新启动以应用更新,但恢复显示“无命令”屏幕很可能是因为没有命令写入 /cache/recovery

操作系统构建是用户构建,因此没有植根。

我错过了什么吗?平台签名的应用程序是否有其他方法可以为用户构建安装固件更新?

类似:Android开发RecoverySystem.installPackage() 无法写入/cache/recovery/command 权限被拒绝

0 投票
1 回答
236 浏览

android - 从“概述”强制中删除应用程序会阻止它[有/无根]

我面临一个难题。

我需要执行目标的测试设备
设备:Micromax Bharat 5 Plus(2018 型号)
Android 版本:7.0

我有一个严重依赖推送通知的 Android 应用程序。但是,我正在使用的设备具有默认的系统设置,该设置会导致从概览选项卡中滑出的应用程序完全被强制停止。该设备具有 2GB 的 RAM 容量,这使得该设置可以理解。但是,这会使任何类型的 App 服务/任务/通知都无法执行。

为了尝试更改此设置,我尝试了几种不同的方法:

  • 更改并丢弃所有电池优化
  • 为与所述应用程序相关的所有通知设置高优先级
  • Intent 过滤器、后台服务、START_STICKY

但是强制停止会停止所有 App 进程。应用程序代码中没有可能性。因此,我将设备植根并尝试了以下根选项:

  • 删除了所有消耗不必要 RAM 的系统应用程序
  • 使用 Memory Locker 将 App OOM_adj 优先级更改为 -17(最低值)

同样,这仍然没有规避导致强制停止的刷卡问题。

可能有效但尚未找到方法的事情:

  • 添加一种将应用程序永久“锁定”到抽屉的方法,不允许用户删除它(不关心用户体验)
  • 完全刷新具有不同系统默认值的不同自定义 ROM(我无法为这个相当不常见的设备找到单个自定义 ROM)
  • 想办法在从抽屉中移除时更改“强制停止”应用程序的默认设置。(理想但如何?)

这是一个非常令人沮丧的问题,我还没有找到解决方案。这种精确模型的多个设备需要分发并依赖于通知。对此的解决方案将不胜感激。

0 投票
2 回答
4489 浏览

adb - 使用带有 M1 CPU 的 Mac 更新 Google Glass 固件时出错:快速启动:无法获取启动分区大小

我正在按照google 文档中的说明更新 Google Glasses Enterprise 2 的固件。

我在终端上运行此命令时收到错误fastboot flash boot boot.img它返回如上所述的错误fastboot: error: cannot get boot partition size好吧,我尝试了谷歌网站上提到的两种不同版本的系统图像。我试图将其更改为fastboot flash boot_a boot.img但同样的错误。

我看到有人在那里也有同样的问题,但没有解决方案。有人知道我们如何在其上安装系统映像。我已经跳过它并运行其他命令一切顺利,但启动不起作用,这就是为什么它现在只显示恢复模式/快速启动。

0 投票
1 回答
181 浏览

linux-kernel - 什么是 cawake gpio pin 以及如何在设备树中禁用它

当我的内核 4.2 armv7l(和硬件 OMAP35xSOM-LV​​,一个 LogicPD 板)启动时,我在启动日志中收到错误消息。

我可以在其中一个设备树文件(omap3.dtsi)中看到这个 ssi 端口控制器被禁用,但是当内核启动时仍然会出现这个错误。如何抑制这个错误?我是设备树概念的新手。为更清楚起见,omap3.dtsi 中涉及讨论中的端口的相关代码如下:

0 投票
0 回答
86 浏览

android - 如何检查在 android 11 设备中启用或禁用蜂窝数据限制选项?

在 android 11 设备上,我想检查运行 Android 11 的设备上是否启用或禁用了“数据限制”选项。目前,我正在使用NetowrkPolicy、 NetworkPolicyManager 、 NetworkTemplate 类。但这些都是隐藏的 API,现在在目标设备 android 11 中被阻止或限制。代码如下 -

我已经搜索了ConnectivityManager [未提供与我的任务相关的太多信息]。我猜这可能目前在任何设置包中或不确定。

注意 - 我只想检查该选项是否在针对 android 11 的设备上启用。

更新 - 1

我不确定这有什么用 - KEY_DATA_LIMIT_THRESHOLD_BYTES_LONG(控制蜂窝数据限制),这表示 - 如果用户在其计费周期中使用超过此数量的数据,由 KEY_MONTHLY_DATA_CYCLE_DAY_INT 定义,蜂窝数据将由用户的电话。如果该值设置为 DATA_CYCLE_THRESHOLD_DISABLED,则将禁用数据限制。

0 投票
0 回答
37 浏览

android - 如果 android:sharedUserId 更改,我如何保持系统应用程序的用户先前数据完好无损?

我有一个自定义 rom,我在其中包含了一个应用程序作为系统应用程序,该应用程序在清单中没有声明android:sharedUserId。最近我添加了一些我需要使用android:sharedUserId的新功能。因此,在应用更新时会导致失败。由于是系统应用,无法卸载。我也尝试通过adb安装,它会导致INSTALL_FAILED_SHARED_USER_INCOMPATIBLE。因此,作为一种解决方法,我计划将更新作为固件更新(OTA)的补丁。这次它可以安装在清单中声明了android:sharedUserId的更新版本。但问题是系统删除了以前版本的所有数据,并将更新视为全新安装。

所以我的问题如下:

  1. 是否可以保留以前的应用程序数据?
  2. 是否有任何 tweeks 可以应用于固件源代码,这样它就不会删除以前的数据?
  3. 有什么办法可以备份这些数据并在固件更新完成后恢复它?

注意:这里的数据包括共享偏好、sqlite 数据、图像/音频/txt 等其他文件。

0 投票
0 回答
46 浏览

x86 - CPU 如何“准确地”读取和执行 bios 代码?

低人问。我只是对 x86 处理器(在这种情况下是 Intel 的 Bay-Trail Z3735F)感到好奇,
并在我做某事并在廉价的基于 Windows 的平板电脑上弄得一团糟时开始,
我试图重置并使用外部 ROM 闪存器进行重新闪存之类的操作但没有运气 + 我炸了 eeprom 芯片跟踪 XD。
但仍然对那件事感到好奇,我的问题是:

  1. CPU 是在查看“Bios 代码”还是指向(硬编码)代码所在的位置?
  2. 以及基于 x86 的 android 手机(如 Asus Zenfone 2 ZE551ML)如何像其他 x86 设备一样在没有 POST 的情况下启动?

我希望它背后有一个答案,如果我在错误的论坛上发布了这个问题,请原谅我。

0 投票
1 回答
12 浏览

android - 命令后出现错误:make clean。从垃圾中清理 android 内核

我有 linux 内核源代码,但是当我尝试删除不必要的垃圾时(如果您按照视频手册进行操作),它会出现错误: