发现

拥抱高效、拥抱 Bugtags 之来自用户的声音 2

和自甴很熟 提交于 2019-12-09 15:46:24
遇见 bugtags 之前那点事 那些年,我们单车娱乐 App,自研发到上线,苦逼的在友盟,bugly,bughd 等各种 bug 反馈的工具来来回回踩坑,然而让 QA 和 PM 以及最身同感受的我们这些一线开发工程师表示各种吐槽... 线上的bug收集时候,都不是实时的,很容易丢失现场环境数据,难以跟踪并重现问题,鉴于使用环境以及设备的多样性,一旦发布出去的 App,必然或多或少都有各种奇葩兼容崩溃问题。全世界手机这么多,能 fix 得过来么? (各种 npe,各种 ise,别介,我已经懒得吐槽了) 大部分 bug 展示的信息只有基础设备信息和一些崩溃的日志,然而没什么用,因为崩溃或多或少都涉及到用户的使用环境才能重现并得知问题原因从而进行修正处理。 人肉测试占比例很大,尤其是在测试过程中,一旦发生意外,处于一线开发的工程师就像消防员那样十万火急的救火,为的是意外的现场日志以及相关操作流程。(人肉测试的苦,谁做谁知道) 曾经对 QA 来说的一场噩梦:截图,情况描述,环境描述,操作描述等等相关bug的反馈,让 App 的质量保证越发紧张和效率低下。 QA:这个bug修复了么? App工程师(就是我):没有,我还在研究这怎么出现的 (10分钟过去了。。。) PM:刚才我测试崩了,你们看看神马情况 QA,一众工程师全围观上纷纷议论。。。。 鉴于以上四点吐槽,我相信各位看官感触良多

Android Bluetooth 学习(2)应用层实现蓝牙设备查找、tcp_ip通信

旧巷老猫 提交于 2019-12-02 18:01:25
Bluetooth结构 1、JAVA层 frameworks/base/core/java/android/bluetooth/ 包含了bluetooth的JAVA类。 2、JNI层 frameworks/base/core/jni/android_bluetooth_开头的文件 定义了bluez通过JNI到上层的接口。 frameworks/base/core/jni/android_server_bluetoothservice.cpp 调用硬件适配层的接口system/bluetooth/bluedroid/bluetooth.c 3、bluez库 external/bluez/ 这是bluez用户空间的库,开源的bluetooth代码,包括很多协议,生成libbluetooth.so。 4、硬件适配层 system/bluetooth/bluedroid/bluetooth.c 包含了对硬件操作的接口 system/bluetooth/data/* 一些配置文件,复制到/etc/bluetooth/。 还有其他一些测试代码和工具。 一、简略介绍Bluetooth开发使用到的类 1、BluetoothAdapter,蓝牙适配器,可判断蓝牙设备是否可用等功能。 常用方法列举如下: cancelDiscovery() ,取消搜索过程,在进行蓝牙设备搜索时,如果调用该方法会停止搜索