b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

android libs APP操作新硬件的两种方法(支持添加的驱动)

电脑杂谈  发布时间:2018-01-07 07:10:31  来源:网络整理

android libs_android studio生成apk_androidstudio开发app

在给Android添加新的驱动后,app要如何使用呢?

正常的使用一个设备,需要getService。但是像LED等我们自己添加的硬件驱动,Android源代码根本没有我们自己添加的服务。

第一种:

我们自己的创建的硬件设备驱动的类是被系统定义为了隐藏类,那么在Android系统中如何使用隐藏类呢?为此我们可以根据android的编译过程可以看到我们添加的类被添加到framework.jar。但是framework.jar是dex格式,在我们做app时要使用原生态的jar目标文件.

所以我们使用 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/class.jar这个jar文件。

androidstudio开发app_android libs_android studio生成apk

如何包含jar文件,我们可以Google。

第一步,把jar包放在工程下的libs目录里,如果没有就新建这个目录。android libs

第二步,通过File菜单或者F4进入project structure,先在左上方选择+号,然后添加class.jar,然后左边选中app,再进到dependencies,点 + 选择file dependency ,再从libs目录选择你要的jar包,选择后把 scope置为Provide。即可。android libs

Class.forName:返回与给定的字符串名称相关联类或接口的Class对象。

Class.forName是一个静态方法,同样可以用来加载类。该方法有两种形式:Class.forName(String name, boolean initialize, ClassLoader loader)和Class.forName(String className)。第一种形式的参数name表示的是类的全名;initialize表示是否初始化类;loader表示加载时使用的类加载器。第二种形式则相当于设置了参数initialize的值为true,loader的值为当前类的类加载器。

android studio生成apk_android libs_androidstudio开发app

通过类名获取类。

Class serviceManager = Class.forName("android.os.ServiceManager");

获取方法

Method method = serviceManager.getMethod("getService", String.class);

调用方法

method.invoke(serviceManager.newInstance(), "phone");


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-58771-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...