Android Things 第五步,程序运行

转载请注明原创出处,谢谢!

树莓派3B+ 暂时不支持,跑不起来

亲测,AS3.1以上,只需要执行adb链接命令后,就可以直接点绿三角安装。

感谢评论告诉我这么有用的东西。。。(连接和卸载好像还是要用adb的)

如果没有看以前的文章,你的树莓派,连Hello Word都运行不起来,请移步到起那么的文章。先运行一个Hello Word在来看这篇文章。

《Android Things 第二步,树莓派,Raspberry Pi》

《Android Thigns 第三步,烧录镜像》

《Android Thigns 第四步,程序安装》

在万能的淘宝网,购买了Android Things全家桶后,开始了我真正的开发。

我在开发的时候,永远不是上了就写,先运行别人的案例,在开发自己的东西。你连别人写好的都运行不起来,自己写的怎么玩?

首先感谢淘宝卖家的案例我一一实现了几个,今天拿比较有意思的一个案例,来举例。

案例和警察叔叔的车类似,红色和蓝色的二极管交替闪烁,按下按钮,蜂鸣器会发出声音。

卖家给的案例连接《Android Things入门配件包开发案例教程-报警灯》

按照连接图连接好线路以后,在Github上也下了代码,如果这个时候你还安装我的文章《Android Thigns 第四步,程序安装》来运行程序,程序是会崩溃的。

原因是Android Things运行时权限的问题。

这个问题很X疼。Android Things规定了最低的运行版本,可是树莓派这个东西,是一个和硬件打交道的东西,运行时权限是不应该存在的,很不合理,但是没有办法。

所以我们要换一种安装方式。让他免权限安装,使用adb来完成。

下面列出常用的5个adb命令。

  • adb connect 192.168.x.xxx
    adb connect 【IP地址】
    连接设备

  • adb shell pm list packages
    列出所有安装的应用的包名

  • adb uninstall com.xxx.xxx
    adb uninstall 【包名】
    卸载应用指定包名的应用(将我们的应用打包好以后,如果以前你用文章4的方法安装了应用,再用下面的adb命令安装,是安装不上的,必须先卸载,才能重新安装)

  • adb install -g D:\xxx\xxx.apk
    adb install -g 【绝对路径】
    免权限安装指定路径的应用

  • adb shell am start -n com.xxx.xxx/ com.xxx.xxx.MainActivity
    adb shell am start -n 【包名】/ 【主页面】
    运行应用

ps:网上有人给了一种方法,说是直接安装上去(用文章4的方法,直接点击绿三角run),第一次应用会破溃,这时候重启树莓派,就不会报错了。我用这个方法的时候是没有任何作用的。但是他们写出来,说明成功过,我怀疑是文件配置的对MainActivity进行了配置,如下

<application>
    <uses-library android:name="com.google.android.things"/>
    <activity android:name=".MainActivity">
        <!-- Launch activity as default from Android Studio -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>

        <!-- 开发的时候建议用上面那个,下面这个如果App崩溃会重新启动,不利于调试 -->
        
        <!-- Launch activity automatically on boot, and re-launch if the app terminates. -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.HOME"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</application>

我没有进行验证,说不定,真的可以。。。

ps:2018.07.12,经过测试发现,当第二个intent_filter写上后,下次开机会自动启动应用,但是当你记性不好,同时安装了2个应用,并且都写上了第二个intent_filter时,树莓派在开机后会弹框文件要运行那个应用。(果然如官方所说,在开发的时候,最好把第二个intent_filter注释上)

报警灯.jpg
连接图.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容