对andorid 2.2 手机进行视频硬件解码开发,直接调用openmax IL层。不从opencore的框架。但是遇到了权限不足的问题。
即java程序无权限调用系统硬件资源。请问该怎么解决。这个帖子的相关链接和内容提到
可以申请权限
http://topic.csdn.net/u/20100407/08/822cf088-ec33-427b-a1bd-b322c9db7b89.html
并且给了一个权限列表。但是这个帖子做了个测试
http://stackoverflow.com/questions/3476600/why-are-these-permissions-being-refused有些权限是无法拿到的。比如system级别的,或者signed的权限。必须OEM才有。我想问下,我想调用硬件解码芯片那个设备,是不是属于system权限才有。还有些帖子提到用虚拟设备或者init一个后台服务,但是一般用户还是没权限做虚拟设备或者init服务的事情。

解决方案 »

  1.   

    如果底层不给提权,上层应用程序无法访问硬件资源的。
    http://blog.csdn.net/yiyaaixuexi/article/details/6803593
      

  2.   

    是不是只能调用opencore框架的一些service 来解决?
      

  3.   

    是的,后来解决了,不直接操作openmax IL,android 2.1后引入了stagefright,我们要透过这个来调用,由它来调用系统服务,stagefright提供给我们了一些接口,例如create,下载android的源码的base部分就可以看到。