android工控主板如何实现app开机启动?
工控主板,使用windows主机的相对多一些,不过安卓/android工控主板具有能耗小、价格相对便宜、应用开发人员多,易招聘的优点,也具有一定的用户量。
平常windows工控板能实现的功能,安卓同样也可以,比如网口、串口、USB、视频、音频等都能支持。但是安卓和windows最大的区别在于安卓系统严格的权限控制。
安卓应用,分为用户应用和系统应用,用户应用权限控制严格,比如不能实现通过app重启手机,不能开机自动启动等。系统应用就可以实现重启手机、开机自启动,但是系统应用的权限并不好拿到。需要有系统root权限和 anroid rom的应用签名证书,这个需要找工控主板的厂家要。有了这个,你才能进行接下来的操作。
下面讲一下系统应用的开发流程
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,会限制流量使用。所以需要在设置里,将你开发的应用设置为无限流量。防止因为流量受限导致无法连接网络。
佩特科技是广州地区知名的嵌入式方案研发公司,产品涉及工控主板、工控机、安卓工业一体机和工业平板电脑等,在交通、金融、医疗、军工等多个领域实现了应用拓展。佩特科技不仅研发技术先进,批量出货能力强大,也提供嵌入式芯片方案定制,欢迎咨询洽谈。
- 上一条没有了
- 下一条安卓一体机在散热方面的常见问题及解答