原文地址:
http://blog.csdn.net/a345017062/article/details/6450211为Android扩展一个硬件模块需要做两件事:
1、硬件和内核支持。
2、/system/etc/permissions/下面添加xml配置文件。/framework/base/data/etc/下面有一些已经写好的,可以根据需要直接复制过去。
这样,通过PackageManager的hasSystemFeature或getSystemAvailableFeatures就可以确定系统是否支持哪个模块,然后使用对应API了。
XML配置文件不管有多少,它们的语法是一样的,完全可以把它们放进一个XML文件里面。
每一个XML文件必须要有一个顶级标签<permissions>,至于子标签,可以支持这么几种:
group,安装到系统中的所有APK都具备的组ID。
permission,可以指定一个权限与几个组ID对应。当一个APK被授予这个权限时,它也同时属于这几个组了。
assign-permission,把一个权限赋予一个UID,当进程使用这个UID运行时,就具备了这个权限。
library,为系统添加一些扩展库用的。对应的.jar文件放在/system/framework/目录下。比如Google Map相关的库,可以看看下面的参考文章。