我们可以通过编程方式接近Android设备的硬件吗?

问题描述:

我的手机(运行Eclair-update1)的相机在90%的时间内保持不响应,所以我首先假定了硬件缺陷。扫描缓存和电话用户数据sereval次后,它再次工作。至少有一段时间。现在它再次停止工作。我们可以通过编程方式接近Android设备的硬件吗?

浏览网络我发现很多用户遇到同样的问题,并且在将用户数据从设备上剔除后很困难。

所以我的问题是:我可以通过SDK与硬件有多接近?我想编写一个应用程序来影响硬件状态(例如重新初始化摄像头,重新安装SD卡等),但我更愿意使用SDK而不是NDK来做到这一点 - 如果可能的话。

在此先感谢!
S.

这不是sdk vs. ndk的问题,而是底层操作系统级别权限妨碍普通(售后市场与制造商/运营商安装)android应用程序通常不能进行原始硬件访问的问题。

+0

采取因此,这意味着根本就没有办法通过挖通了Java虚拟机通过?我认为一个扎根的设备应该给更多的机会。 – stpn108 2010-11-09 21:50:04

+0

刺穿java虚拟机完全没有问题(除了你将在下面谈论的本地库不稳定并且可能会在Android版本之间改变),但是如果不是超级用户,这会让你的功能相对较少有来自java - 这是Linux用户安全机制,限制你,而不是“java”(实际上是dalvik)虚拟机。作为root用户,您可以直接访问设备文件,(可能)更改内核,加载新的驱动程序,无论如何。 – 2010-11-10 06:09:58

+0

好的,谢谢! :) – stpn108 2010-11-10 07:20:17

  • 下载Android SDK到您的计算机
  • 启动设备恢复
  • 连接USB线连接到PC
  • 运行adb shell然后
  • umount /data
  • umount /system
  • e2fsck -fv /dev/block/stl9
  • e2fsck -fv /dev/block/stl10

forum.xda-developers.com/showthread.php?t=1396366