广州佩特电子科技有限公司

示例图片三
网站首页 > 新闻资讯 > 业界资讯

android工控主板如何实现app开机启动?

2024-03-07 17:09:29 广州佩特电子科技有限公司 已读

工控主板,使用windows主机的相对多一些,不过安卓/android工控主板具有能耗小、价格相对便宜、应用开发人员多,易招聘的优点,也具有一定的用户量。


平常windows工控板能实现的功能,安卓同样也可以,比如网口、串口、USB、视频、音频等都能支持。但是安卓和windows最大的区别在于安卓系统严格的权限控制。


安卓应用,分为用户应用和系统应用,用户应用权限控制严格,比如不能实现通过app重启手机,不能开机自动启动等。系统应用就可以实现重启手机、开机自启动,但是系统应用的权限并不好拿到。需要有系统root权限和 anroid rom的应用签名证书,这个需要找工控主板的厂家要。有了这个,你才能进行接下来的操作。


QQ截图20240307171749.png


下面讲一下系统应用的开发流程


1、开发android app, 我们需要像平常开发安卓应用一样,完成相应功能开发即可。如果要实现开机启动,就需要监听事件:


在AndroidManifest.xml文件中添加权限:

<uses-permission android:name=“android.permission.RECEIVE_BOOT_COMPLETED”>


并进行广播事件处理。


应用开发完成后,如果我们直接把文件上传到工控板或者手机里并安装,重启手机,应用并不会自动启动。因为这时候的应用只是一个普通的用户应用,根本收不到RECEIVE_BOOT_COMPLETED的广播。我们需要把它做一个系统应用。


2、制作系统应用


首先为了方便测试,我们通过 usb 线将工控板连接到电脑,通过 adb 命令可以发送模拟广播:


adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

发送模拟的BOOT_COMPLETED广播,可以不用每次都重启工控板来测试。


接下来,要对我们开发生成的 apk 文件进行签名。这个签名需要用到工控板厂家给的签名文件。一般是两个文件:


通过下面的命令可以完成应用签名:


java -jar signapk.jar platform.x509.pem platform.pk8 ./app-debug.apk app-release.apk

这个命令里,需要用到四个文件:


signapk.jar:签名工具,这个大家网上搜一下能找到。

platform.x509.pem platform.pk8:这两个是厂家给的签名文件。

pp-debug.apk:是我们自己开发的 app


最后的参数app-release.apk是指我们生成的目标文件的名称。


执行成功后,可以看到新生成了app-release.apk这个文件。


3、安装应用


安卓的系统应用和用户应用的安装方式不一样,直接上传到安卓工控板上,然后双击安装是不行的。需要安装到系统应用的目录里才可以,我们可以通过 adb 来完成:


cd app-release.apk所在的目录

adb remount

adb push app-release.apk /system/app/

adb shell chmod 644 /system/app/app-release.apk

adb reboot

adb reboot 执行完成后,android 会重启,重启后,系统应用会自动安装,不需要我们操作。


此时我们可以关掉应用模拟BOOT_COMPLETED测试看是否可以自动启动,或者通过物理按键再次重启手机测试是否成功。


如果要卸载系统应用的话,可以执行这样的指令:


adb remount

adb shell rm /system/app/app-release.apk

adb uninstall biz.lifang.autostartandreboot //这个是应用包名

adb reboot

重启后,就会自动删除了。


4、其它注意事项:


如果你开发的是一个网络应用,对于有些android rom,会限制流量使用。所以需要在设置里,将你开发的应用设置为无限流量。防止因为流量受限导致无法连接网络。


佩特科技是广州地区知名的嵌入式方案研发公司,产品涉及工控主板、工控机、安卓工业一体机和工业平板电脑等,在交通、金融、医疗、军工等多个领域实现了应用拓展。佩特科技不仅研发技术先进,批量出货能力强大,也提供嵌入式芯片方案定制,欢迎咨询洽谈。


Powered by MetInfo 5.3.18 ©2008-2024 www.metinfo.cn