问题标签 [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 投票
1 回答
1376 浏览

android - 更新脚本:我无法删除 /data/system 目录中的文件

我想在恢复过程中从/data/system文件夹中删除一个文件。我在更新脚本中尝试了以下内容:

它似乎在恢复中工作正常,但当我检查我的手机时没有结果,即没有文件被删除。我还尝试制作一个由我的update-script执行的 shell 脚本。这是脚本:

这是我针对该方法的更新脚本:

它也不起作用。我究竟做错了什么?

0 投票
2 回答
4124 浏览

android - Android Marshmallow,“危险”保护级别和系统组件/应用

我正在开发一个将在固件上预安装(作为系统应用程序)的应用程序。

从到目前为止关于系统应用程序、新权限模型和保护级别之间关系的文档中,我不完全了解系统应用程序何时需要(如果有的话)请求用户权限。

当我尝试使用WRITE_EXTERNAL_STORAGE权限时,我的问题就开始了。从文档中我可以看到它被标记为“危险”权限。

- “危险”权限是否自动授予系统应用程序?

当我使用WRITE_EXTERNAL_STORAGE权限(作为系统应用程序)时,我遇到了安全异常,我不知道这是否意味着即使将我的应用程序安装为系统应用程序也很困难——用户必须请求“危险”权限。

另一点要提:
为了检查应用程序作为系统应用程序的行为,我将我的应用程序 APK 安装在sys-priv运行 SDK 预览 3 的 nexus 5 的目录(设备已植根)上。这是我得到安全异常的时候尝试使用方法时需要外部存储权限..

0 投票
0 回答
118 浏览

android - 在固件更新模式下使用 libusb 与 Nexus-4 通信

我正在尝试开发一个简单的程序以在固件更新模式下与 Nexus-4 引导加载程序进行通信。Nexus -4 有 3 个 USB 接口。Interface-1 有两个 2 端点 - 2 和 131。

我编写了一个程序来通过端点 2 编写命令 get-device-info,并在端点 131 处侦听以获取回复。(我尝试了接口和端点的所有排列!)。

程序成功将命令写入设备,但没有从设备中读取任何内容。

命令格式:Flag(0x7e):CMD:数据(变长):CRC-16:Flag(0x7e)

获取设备信息命令:0x7e 0x00 0x78 0xf0 0x7e

以下是程序。

该程序能够成功地将命令发送到手机,但它无法接收到手机的任何响应。当我运行程序时,我得到以下输出:


列表中的 10 个设备

设备打开

内核驱动程序激活

内核驱动程序分离!

声称的接口

要发送的数据 -> ~

写入数据...

写作成功!

等待从设备读取!

通过批量传输接收数据时出错 -7


我不确定没有得到响应的原因是因为错误的命令结构还是因为程序的执行?

0 投票
1 回答
4034 浏览

android - 如何在 Windows 8.1 或 Ubuntu 上挂载和编辑 Android 磁盘映像文件

我整天都在研究这个问题。我从这里下载了固件,并且整天都在尝试编辑它。固件包含在一个文件中,格式为disk image file. 我尝试在 Ubuntu 和 Windows 中安装,我尝试将文件转换为不同的文件ext,我还尝试使用 Android Kitchen、Linux Reader 甚至 Power ISO 对其进行解包。没有什么能让这东西打开。有人知道我可以从这里去吗?在任何人说“哦,你必须拿走system.img”我知道的东西之前——它被锁定在主 .img 文件中。在我真正开始编辑它之前,我需要通过它。我不知道从这里去哪里,所以任何想法都会受到赞赏。感谢大家!

0 投票
0 回答
62 浏览

android - 我正在使用系统密钥签署我的应用程序,但无法获得系统权限

我想使用系统密钥为我的应用程序获取系统权限。我已经使用/build/target/product/security/中的testkey.x509.pemtestkey.pk8对 应用程序进行了签名(文件夹中没有其他密钥),但运行时检查显示我的应用程序不是系统应用程序。

为了检查我使用以下代码

我究竟做错了什么?

0 投票
0 回答
528 浏览

android - 应用程序更新后 BuildConfig.VERSION_CODE 和 PackageManager.getPackageInfo() 不匹配

我发现我的应用程序用户(通过 Crashlytics/Google Analytics 报告..)似乎发生了很多我无法重现的奇怪情况:

更新我的包后 -类返回的版本代码与返回的版本代码PackageManager不同BuildConfig.VERSION_CODE

为了简单起见,我省略了大部分日志记录、官僚主义和封装,但结果是:

  • packageManagerVersionCode 等于正确的更新版本
  • BuildConfig.VERSION_CODE 等于应用程序在更新之前的版本

需要提及的要点:

  • 我的应用程序预加载为设备固件上的系统应用程序
  • 我的应用程序正在自我更新(它具有所需的权限..)

我目前的假设是因为原APK安装在system/priv-app分区,并且更新不在系统分区,那么更新后有一个时间点原预加载app的进程在某些方面仍然存在。我没有任何方法可以证实这一假设,也没有找到任何官方参考资料是否会发生这种行为。

您可能想知道为什么我关心这个版本代码不匹配,以及我最初是如何产生进行此验证的想法的:这一切都始于我们在新版本中更改's 名称之一后生产用户遇到的崩溃BroadcastReceiver(出于重构目的..)在清单中注册的。

当再次将接收器重命名为在原始预加载版本中调用的原始名称时,我们停止了崩溃,因此我们怀疑它与此版本代码不匹配有关。

我的问题是:

  • 为什么会发生此版本不匹配?

  • 我能做些什么来防止它发生吗?或者至少要确保原始预加载应用程序中的组件不会处于活动状态?

  • 我对为什么会发生的假设是正确的吗?

0 投票
1 回答
788 浏览

android - 如何替换android库二进制文件

我需要将/system/lib/hw/bluetooth.default.so我的 Nexus 5X 上的一个共享 obj 替换为我从 AOSP 源构建的另一个。

Nexus 5X 运行 MTC19T 出厂镜像并已root。

如何才能做到这一点?

0 投票
1 回答
1455 浏览

android - Android 6.0.1 上的三星 Galaxy S7 Edge 上的 EGL 本机库崩溃

最近我有三星 Galaxy S7 的所有用户抱怨应用程序在启动时立即崩溃。我没有从 Crashlytics 那里得到任何关于这个问题的崩溃日志,这至少很奇怪。但幸运的是,一些用户向 Play Store 报告了这些问题,我至少能够获得一些信息。

所以这是来自 Play Store 开发控制台的日志:

这让我认为这个问题是固件问题,因为:

  • 仅在 S7 Edge 上发生(尽管曾经在普通 S7 上发生过)

  • EGL 系统库上堆栈跟踪点的最后 4 行

所以我的问题是:

  • 是否有可能找出应用程序代码的哪一部分发出了触发问题的调用?
  • 有没有人遇到相同/类似的问题并修复它?

提前谢谢!

0 投票
1 回答
809 浏览

java - 如何在所有网络共享数据上禁用互联网

我在托管网页的 android 设备上有一个应用程序。如果我通过它的 android 热点连接到运行它的设备,我可以使用默认 IP 查看页面。

此页面是从互联网提供的数据。所以安卓设备需要能够访问互联网。但是,我不希望连接到设备热点的用户能够访问互联网。我想知道切断android热点与其传出数据连接之间的数据桥的最佳方法是什么。(我目前正在使用以太网。)

我更喜欢一个可以编辑固件本身的源文件的解决方案,因为这应该是不可逆转的。我可以完全控制源代码和 root。

提前致谢。

0 投票
2 回答
9446 浏览

android - 如何以编程方式获取 Android 的固件版本?

以下通用平板电脑的屏幕截图显示了固件版本的示例: 在此处输入图像描述

我们已经尝试了几乎所有的Android Build,它们都不是固件版本。