Android开发

AOSP是“Android Open-Source Project”的缩写,中文意为"Android 开放源代码项目"。安卓是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

(android-12)app在后台运行,点击桌面图标重新启动问题

ancientcc发表了文章 0 人赞同 0 评论 2023-02-15 14:53:29

工作中遇到这么个问题,com.kos.launcher是自写app,运行该app,并切到后台,然后点击桌面com.kos.launcher图标。出现行为不是com.kos.launcher被切到前台,而是重新启动了com.kos.launcher......查看全部

扫描:BluetoothLeScanner.startScan

ancientcc发表了文章 0 人赞同 0 评论 2022-11-02 16:42:42

必务先看“connectGatt(1/4):从frameworks到bt-JNI”,看过它才能知道sGattIf指向bt协议栈的btgattInterface等概念。图1 BluetoothLeScanner.startScan一、ap......查看全部

connectGatt(1/4):从frameworks到bt-JNI

ancientcc发表了文章 0 人赞同 0 评论 2022-10-29 07:46:15

Android启动时会运行com.android.bluetooth,后者一启动便会加载由<aosp>/system/bt编译出的BLE HAL模块libbluetooth.so。针对ROC-RK3588S-PC,BLE HAL模块源......查看全部

bta_sys_sendmsg、bta_gattc_cback、HAL_CBACK

ancientcc发表了文章 0 人赞同 0 评论 2022-10-28 11:01:41

一、bta_sys_sendmsgvoid bta_sys_sendmsg(void* p_msg)功能:在bt_main_thread线程执行bta_sys_cb.reg[id]->evt_hdlr(p_msg),其中......查看全部

扫描peripheral

ancientcc发表了文章 0 人赞同 0 评论 2022-09-30 10:12:35

在看本文前,请先看“BLE广播中的数据包”,至少要知道什么是定时包、扫描回复包。广播数据由定时包和扫描回复包组成。绝大多数情部下,等回调到didDiscoverPeripheral,会已收到这个包。但偶尔会出现只收到定时包,至少ios14、ios......查看全部

BLE广播中的数据包

ancientcc发表了文章 0 人赞同 0 评论 2022-09-22 21:23:21

在android,依照协议,虽然定时包可以最多31字节,但app其实最多只能28字节。扫描回复包则是31字节。Bluetooth SIG关于16-bit UUID的已分配列表:Assigned Numbers下的“16-bit UUIDS“(pd......查看全部

(android-12)app进入后台,关掉杀死serivce、停止摄像头、停止录音

ancientcc发表了文章 0 人赞同 0 评论 2022-09-17 21:01:22

在android-12,当app切到后台,(大概)一分钟后,app正运行的service会被杀死;如果正播放摄像头,摄像头会被停掉;如果正在录音,录音会被停掉。当然,一分钟后,可能还有其它模块也被关了。本文只说通过修改aosp源码如何关掉这三种限......查看全部

(android-12)app开机启动失败

ancientcc发表了文章 0 人赞同 0 评论 2022-09-16 15:29:36

工作中遇到这么个问题,com.kos.launcher是自写app,它须要开机启动。在运行着android-12的firefly-rk3588s-pc上安装这apk,安装成功,之后运行也成功。但是,重启设备后,会随机出现没有开机启动。那次开机启动......查看全部

(android-12)app私有*.so被置零

ancientcc发表了文章 0 人赞同 0 评论 2022-09-08 15:58:46

<app_basedir>:apk在/data/app下的安装路径,示例/data/app/~~07kR77IGzQfrbWwdbtkBJQ==/com.kos.launcher-6kugzuV2AqFjUibzOJm1eQ==<......查看全部

android:configChanges

ancientcc发表了文章 0 人赞同 0 评论 2022-08-28 21:39:40

参考文章:android:configChanges属性解析、项目疑难杂症记录(四):Activity被重新创建的原因分析如果要在android源码确认是否是configChanges导致了Activity重启,建议把ActivityThread......查看全部

libkosapi api

ancientcc发表了文章 0 人赞同 0 评论 2022-08-22 09:01:26

libkosapi是个跨平台库,目前实现上已有android、windows。主要功能是支持app实现远程桌面。一、录屏在如何处理录屏上,libkosapi假设了定么个运行模型:录屏操作专门工作在一个新线程,称为录屏线程。一旦远程桌面(rdp)服......查看全部

定制Android内核(Android-12)

ancientcc发表了文章 0 人赞同 0 评论 2022-08-13 09:10:41

相关文章:定制Android内核(Android-7.1.2)文中提到的Launcher是指上海兰栖开发的远程桌面服务端app,Application ID是com.kos.launcher。它是个用户级app,正因为只有用户级权限,不......查看全部

运行时加载动态链接库(Android、Windows)

ancientcc发表了文章 0 人赞同 0 评论 2021-10-12 10:30:14

若不修改android内核,要想加载成功,*.so必须放在系统要求的指定目录。而那几个指定目录,app没权限写入。也就是说,要想动态加载成功,必须在打包apk时就包含这个*.so。只是在app运行时,可按自个要求选个加载时机而已。对android......查看全部

ttyUSBn设备节点名不固定问题

ancientcc发表了文章 0 人赞同 0 评论 2021-12-17 20:28:13

ttyUSBn用于表示usb转串口驱动的设备节点,对应着一块基于usb转串口芯片做的硬件,像ch341。为和后面会说的usb_serial驱动作区分,它们称为option驱动。名称中的n为0~511,这512(USB_SERIAL_TTY_MIN......查看全部

launcher、kdesktop源码注释

ancientcc发表了文章 0 人赞同 0 评论 2021-02-09 20:36:07

一、launcher有远程桌面client正连接着时,安装launcher.apk,无论是用android自带的资源管理器中安装,还是调用SDL_UpdateApp安装,安装完apk后,android自动运行新版本laucher,很快。这个新启动......查看全部

HCI

ancientcc发表了文章 0 人赞同 0 评论 2021-04-09 13:56:27

一、“DISCOVERY && SRVC_ALL”时发送req、接收resp这里以“连接进入发现阶段(bta_gattc_start_discover),目的是获取该peripherl有哪些service”为例......查看全部

class BluetoothGatt

ancientcc发表了文章 0 人赞同 0 评论 2021-03-31 21:22:49

discoverServices()。把连接时存储在HAL层的gatt db存储到GattService、BluetoothGatt,并通过回调onServicesDiscovered,告知app这个过程完成了。会依次回调JNI注册的两个函数:b......查看全部

connectGatt(3/4):btif_gattc_open

ancientcc发表了文章 0 人赞同 0 评论 2021-03-28 11:28:45

必务先看“BLE(2/6):连接之BluetoothDevice.connectGatt”,看过它才能清楚Android BLE何时调用btif_gattc_open。在BluetoothDevice.connectGatt,如果mSe......查看全部

connectGatt(4/4):bta_gattc_start_discover

ancientcc发表了文章 0 人赞同 0 评论 2021-03-31 11:16:33

必务先看“BLE(3/6):连接之btif_gattc_open”,看过它才能清楚Android BLE何时调用bta_gattc_start_discover。bta_gattc_conn主要做了两件事:bta_gattc_start_disc......查看全部

connectGatt(2/4):btif_gattc_register_app

ancientcc发表了文章 0 人赞同 0 评论 2021-03-21 11:54:17

依次执行两个函数:mService.registerClient()和mService.clientConnect()。对mService.registerClient(),主要两个操作。1)向GATT协议栈注册,并获得新的client_if。此......查看全部

定制Android内核(Android-7.1.2)

ancientcc发表了文章 0 人赞同 0 评论 2021-02-05 21:03:57

相关文章:定制Android内核(Android-12)系统需求Android内核须7.1.2或以上,并且已被root,root指通过“su”可以提升到管理员权限板上CPU至少能硬编码屏幕尺寸的H264。板上应有Wifi和蓝牙模块(查询、修改IP......查看全部

kOS(13):inputflinger—InputReader线程

ancientcc发表了文章 0 人赞同 0 评论 2020-10-09 19:48:23

一、InputReader线程  getEvents。通过EventHub(监听目录/dev/input)读取input_event格式的事件放入mEventBuffer,mEventBuffer是一个大小为256的RawEvent数组......查看全部
AOSP是“Android Open-Source Project”的缩写,中文意为"Android 开放源代码项目"。安卓是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。