最近很忙,
java 后端学习都搁置了(其实就是自己偷懒)
终于抽出时间来处理 机房告警监控的事情
现状.
因为树莓派刷的是 AndroidThings系统,本身是没有屏幕的,所以安装新应用,都是用 adb命令安装的.
Android Studio直接运行代码 => 一切正常.
Android Studio Build APK => adb install安装,页面一片空白.
- 尝试过切换到release,
- 尝试过打签名的,
- 检查过混淆的keep
- 检查过gradle.properties
都不行,反正就是 直接AS运行代码可以,打好包安装就是不行!
突破口
然后我看了一下 空白的时候的logcat,发现了奇怪之处,居然有报错
原来是我启动APP的时候,初始化温度传感器,依赖的
com.google.android.things.permission.USE_PERIPHERAL_IO权限没有导致页面直接初始化失败,导致一片空白.
然后我就发现了这个
stackoverflow上面的老哥还是一如既人的稳!
为什么会这样?
看这篇文章,
AndroidThing DP8改动介绍
里面有说到,关于USE_PERIPHERAL_IO权限的调整,改为动态权限,但是使用的设备哪来的屏幕,只能在安装的时候去处理了.
最终问题解决办法
adb install -g <apk的路径>
新增一个-g的标识,
具体-g代表的含义,可以输入
adb help install附加指令说明
adb 安装附加命令 | 说明 |
---|---|
-l | forward lock application (锁定APP) |
-r | replace existing application (替换当前已存在APP) |
-t | allow test packages (允许测试包) |
-s | install application on sdcard (安装APP到SD卡) |
-d | allow version code downgrade (debuggable packages only) (允许降级安装,仅支持debug环境) |
-p | partial application install (install-multiple only) (部分应用安装) |
-g | grant all runtime permissions (为应用程序授予所有运行时的权限) |