自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 收藏
  • 关注

原创 ACL Connection Already Exist

一开始跟芯片讨论怀疑是Superversion Timeout,但是从开机到最后一次出问题的情况,都过去180s了,Superverion Timeout最大应该是40s,明显不是这个原因。今天遇到一个神奇的问题,客户说一直蓝牙一直配对不上,发现HCI Create Connection一直收到ACL Connection Already Exist。最后原因居然是客户没有下。

2023-06-16 16:18:52 255

原创 ESP32 RMT使用记录(坑记录)(大牛欢迎给出建议)

ESP32 RMT使用记录(坑记录)(大牛欢迎给出建议)

2022-12-07 16:52:47 1794 3

原创 ESP32S3 ADC DMA使用记录(坑记录)(大牛欢迎给出建议)

ESP32S3 ADC DMA使用记录

2022-12-07 16:05:04 4958

原创 android 11源码中关于AvrcpTargetService和ServiceFactory不理解的地方

ServiceFactory类/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at

2022-05-24 15:27:33 982

原创 QNX 7.0的一种crash情况

我用qnxsdk/host/linux/x86_64/usr/bin/ntoaarch64-gdb解析core文件,得到的错误提示如下所示:[New pid 1429543 tid 1]Program terminated with signal SIGSEGV, Segmentation fault.#0 0x0000000cb7de5e48 in is_kernel_tracing_active () at /builds/workspace/sdp700/build_aarch64/lib

2022-05-07 19:52:15 1285

原创 setVisibility(View.INVISIBLE)、android.os.Process.killProcess和System.exit失效

今天遇到一个问题:在拨打电话时,关闭UI,UI又重新被系统拉起了。另外拨打电话时有个imageview会显示,挂断电话会消失,但是挂断后这个imageview没有消失。一、查setVisibility(View.INVISIBLE)失效,从网上查了各种方法:1、view.clearAnimation2、在UI线程里面执行setVisibility(View.INVISIBLE),本来我就是在UI主线程执行3、setVisibility(View.VISIBLE)和setVisibility(

2022-04-19 15:59:19 2486

原创 QNX和android系统数据库存储时特殊字符(需要转义)的区别

经过测试发现在字符串中,如果包含'则可以使用''进行转移,这个QNX和android系统都适用;在字符串中,如果包含\则可以使用\\进行转移,这个QNX和android系统都适用; 在字符串中,如果包含%则可以使用%%进行转移,这个只适用于QNX系统,android系统这样操作会写入2个%;...

2022-04-12 14:33:39 3144

原创 CYPRESS 88373语音通话设置为I2S

一、客户要求通话使用I2S、由DSP提供CLOCK、时钟频率是1024khz。所以可以确定要设置为I2S,BT CHIP是slave、时钟频率为1024khz二、设置I2S主要用到的vendor command:0xFC1C、0xFC6D0xFC1C的说明: Write_SCO_PCM_Int_Param OCF0x01C Description:This command will write SCO and PCM interface paramete.

2022-04-08 14:35:49 401

原创 android 11的设置显示“Connected, active (phone)“,active (phone)的定义位置

在源码的/frameworks/base/packages/SettingsLib/res/values/arrays.xml另外Connected的定义位置在/frameworks/base/packages/SettingsLib/res/values-zh-rCN/strings.xml类似位置,values-zh-rCN具体根据语言选择文件夹。所以当设置界面蓝牙设备连接显示异常时,可以从这两个文件找到对应的定义,进而找到具体使用的位置。...

2022-02-09 09:36:17 1222

原创 SharedPreferences in credential encrypted storage are not available until after user is unlocked

将apk从android O(targetSdkVersion是23)升级到android R(targetSdkVersion是26)后从android 11的原生代码里面将opp部分代码扒出来,但是会导致crash提示--------- beginning of crash01-27 17:05:59.666 1479 1479 E AndroidRuntime: FATAL EXCEPTION: main01-27 17:05:59.666 1479 1479 E Andro

2022-02-08 17:32:06 5574

原创 Android 11上开机自动启动自己的蓝牙apk(uid跟原生是一样的)提示Unable to start service,但是开机后从设置里面就可以启动(directBootAware)

1、ActivityManager: Unable to start service Intent { act=c } U=10: not found搜索Unable to start service,找到/frameworks/base/services/core/java/com/android/server/am/下的ActiveServices.java2、在函数retrieveServiceLocked内部出现Unable to start service的log,那么s..

2022-01-24 16:58:35 2396

原创 Android R上自己的系统apk找不到系统中hide的类

1、首先需要自己从源码中把jar包拿出来。out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar拿出来改名成framework.jar。2、将framework.jar加入自己的工程右键这个jar包,选择Add As Library这时候在app的build.gradle里面生成图中一行,但是是implementation,这里要改成compileOnly,因为只需要参与编译,而不需要将fra.

2022-01-13 14:49:40 1720 1

原创 android R做services.jar使用的动态jar包(java.lang.NoClassDefFoundError)

参考我之前android O做动态jar包的文档:android O做services.jar使用的动态jar包_sui1005316018的博客-CSDN博客有一些区别:1、android R用的Android.bp,而android O用的是android.mk,下面的是正式项目的一个android.mk,这里面主要注意两点:(1)android O的android.mk里面的LOCAL_DEX_PREOPT := false用dex_preopt: { ...

2022-01-13 14:30:54 2675 1

原创 编译android工程提示error processing kotlin-stdlib-1.6.0.jar

今天遇到奇葩事了,上午编译还好好的,开着android studio,中午午休起床后,再次编译,编译失败。来时候好好的,回不去了。。。 先说怎么改,需要升级下gradle: 修改前修改后:提示错误:error processing C:\Users\sqc_w\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.6.0...

2021-12-16 17:55:23 3654

原创 pthread_cond_timedwait超时未起作用,程序被阻塞(函数gettimeofday和clock_gettime)系统Android O 32bit

最近遇到一个奇怪的问题,开机时程序的定时器失效了。但是重启程序后又正常了。定时器的主要代码:void BThost_initEvent(BThost_Event* event,unsigned char manual_reset/*,const TCHAR* Eventname*/){ event->is_set = FALSE; event->is_pulse= FALSE ; event->is_manual_reset= manual_reset;

2021-12-06 17:18:01 3634 2

原创 原生蓝牙设备连接状态显示在哪里定义,类似已连接(无手机)

/frameworks/base/packages/SettingsLib/res/values-zh-rCN/strings.xml<string name="bluetooth_disconnected" msgid="6557104142667339895">"已断开连接"</string><string name="bluetooth_disconnecting" msgid="8913264760027764974">"正在断开连接..."</st

2021-12-01 17:00:20 2960

原创 A2DP Source如何从android系统拿到音频数据(Android O)

简单来说就是两条本地socket通道,分别使用文件:#define A2DP_CTRL_PATH "/data/misc/bluedroid/.a2dp_ctrl"#define A2DP_DATA_PATH "/data/misc/bluedroid/.a2dp_data"A2DP_CTRL_PATH是控制通道,A2DP_DATA_PATH是数据通道。1、首先需要关注一个文件uipc.cc,里面的函数UIPC_Init初始化一些uipc的变量,然后启动主线程uipc_read_ta

2021-09-29 16:00:54 1303

原创 QQ语音通话通过蓝牙发送语音给耳机的一些问题(Android O)

1、QQ语音通话,会先调用BluetoothAdapter.java的public int getProfileConnectionState(int profile)检测是否有HFP AG连接2、QQ语音调用调用BluetoothHeadset.java的函数public boolean startScoUsingVirtualVoiceCall(BluetoothDevice device)建立语音通话3、SCO连接成功后,需要调用setAudioParameters和setBluetoothS

2021-09-29 15:43:07 2128

原创 DDMS(DalvikDebugMonitorServer)启动的一些异常

一、启动DDMSC:\Users\sqc_w\AppData\Local\Android\Sdk\tools下的monitor.bat二、提示错误:Windows找不到文件’lib\monitor-location’运行C:\Users\sqc_w\AppData\Local\Android\Sdk\tools\lib\monitor-x86_64下的monitor.exe提示错误:找到JRE的目录看看里面有没有javaw.exe,发现在C:\Program F...

2021-09-29 15:05:37 774

原创 OBEX(二)

三、Session Protocol OBEX操作由request-response对组成。Request由client发出的,response由server发出的。Client发送一个request后,需要在收到来自server的response之后才能发送新的request。但是当启动OBEX Single Response Mode (SRM)时执行Put或者Get操作的时候也有例外的情况,在这种情况下,为了提高OBEX的吞吐量会忽略标准的request-response序列。1、Req...

2021-09-29 14:41:42 1095 2

原创 OBEX(一)

一、概述1、OBEX v2.0(v2.0版本开始OBEX直接在L2CAP上传输,v2.0版本以前OBEX在RFCOMM上传输)2、OBEX即Object Exchange Protocol,对象交换协议3、OBEX协议是典型的client/server request-response模型4、OBEX v2.0蓝牙协议层次结构图:5、OBEX可以用来传输vCard(电话本),vCalendar(电子日历),vMessage(短信和email)和vNotes(电子笔记)。二、OBE

2021-09-29 14:33:42 1635 4

原创 RFCOMM(二)

2、Remote Port Negotiation Command (RPN)这个message用于设置remote port setting(其实就是串口设置),这个命令在DLC open之前可能被使用,另外remote port setting发生变化时要使用这个message。所有参数都有默认值,如果不适用RPN进行协商,则使用默认值。RPN message格式如下图所示: ​​​​​​(1)Type字段:即上图中的command RPN部分。定义如下图所示: ①EA:固定是1②.

2021-09-13 22:21:13 982

原创 RFCOMM(一)

一、概述1、RFCOMM协议就是在L2CAP上进行串口(RS-232 9针)仿真,这个协议以GSM 07.10为基础,但是只使用了其中的一部分。此外,还增加了一个RFCOMM特定的延伸:基于credit的流控方案2、RFCOMM协议最大支持在两个蓝牙设备之间建立60个连接3、RFCOMM使用的是小端序,即先发送低位,再发送高位4、两个设备之间的多个RFCOMM连接用Data Link Connection Identifier (DLCI)区分;5、多个设备之间的多个RFCOMM连接,多

2021-09-13 22:05:38 3603

原创 long类型在32位系统和64位系统的问题(android O )

程序在64位系统运行没有问题,但是在32位系统出现了下面的问题。JNI的代码如下:jmethodID service_setMostSiguuid = env->GetMethodID(service_cls,"setMostSiguuid","(J)V");jmethodID service_setLeastSiguuid = env->GetMethodID(service_cls,"setLeastSiguuid","(J)V");jobject service_obj = en

2021-09-06 09:56:49 2460

原创 android O 32位系统报错:JNI DETECTED ERROR IN APPLICATION: use of deleted local reference

一、同样的程序我在android O 64位系统上跑没有任何问题,但是在32位系统上跑就报这个错误问题原因是:自己写的类中有这个构造函数:public AnWBT_BLE_Service(int service_type, long mostSiguuid, long leastSiguuid, int handle, int end_group_handle, ArrayList<AnWBT_BLE_Characteristic> characteristic) { this.s...

2021-09-06 09:47:30 1588

原创 伪终端的应用

今天遇到一个客户想用uart和本地socket跟carplay进行对接,通过uart交互指令,通过本地socket对接iap数据。这里的uart就是伪终端,这是第一次接触伪终端。部分函数说明:1、open("/dev/ptmx", O_RDWR | O_NOCTTY );返回值就是伪终端主设备的文件描述符2、grantpt函数:在伪终端从设备可被使用之前,必须设置它的权限,使得应用程序可以访问它。它把从设备节点的用户ID设置为调用者的实际用户ID, 设置其...

2021-08-30 17:50:33 765

原创 contains class file com/google/protobuf/UnknownFieldSetLite.class, which is not in the whitelist

一、开始报错是:Error: out/target/common/obj/JAVA_LIBRARIES/anwbtForFramework_intermediates/classes.jar contains class file com/google/protobuf/MapFieldLite$MutatabilityAwareIterator.class, which is not in the whitelist这种错误一看就是在白名单里面没有加某个类。但是这明显是源码里面的类我做的动态j

2021-08-11 17:38:44 391

原创 out/target/common/obj/PACKAGING/public_api.txt:7937: error 5: Added public field...

如下图所示:像这种错误改法在源码根目录执行make update-api这种错误就是试图更改以前批准的API,要消除这些错误,有两个选择:1)可以向上面错误中列出的方法中添加“@hide”javadoc注释。2)可以执行如下命令更新current.txt:make update-api...

2021-08-11 17:32:53 662 4

原创 adb root之后adb remount,总是提示Not running as root. Try “adb root“ first.

错误如上图所示一、打开开发者选项一般是狂点图中位置会出来(settings->system->about tablet)二、进入developer options,找到Root access,选择对应配置,我这里三、然后在输入adb root、adb remount提示四、然后adb root、adbdisable-verity,然后adb reboot重启,然后再adb root、adb remount就可以了...

2021-08-10 16:48:03 6821

原创 Firefly-RK3399编译android 8.1的坑(备忘)

由于客户需要用android O做蓝牙,但是我们的android O源码还不能编译出image,所以为了验证一些东西使用了Firefly-RK3399这个板子的android O。一、按照https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/compile_android8.1_firmware.html里面的描述下载源码获取android O的源码二、编译源码三、打包成统一固件四、上面都没问题,到烧录的时候了,先预处理,我就没找到图..

2021-08-10 16:35:39 760

原创 android O做services.jar使用的动态jar包

一、先写一个自己的jar包我的jar包是testjar,建一个testjar的文件夹,里面的Android.mkLOCAL_PATH:= $(call my-dir)# MAP API moduleinclude $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_MODULE := testjarinclude $(BUILD_JA

2021-08-10 16:14:06 988

原创 android Q做services.jar使用的动态jar包

一、先写一个自己的jar包我的jar包是testjar,建一个testjar的文件夹,里面的Android.bp// MAP API modulejava_library { srcs: ["src/**/*.java"], name: "testjar", installable: true,}在testjar建src/com/anwtest/anwbt/testjar.javapackage com.anwtest.anwbt;import and

2021-08-10 14:07:55 906

原创 去掉Bluetooth.apk后,如何对接A2DP、AVRCP及播放器CarMediaApp.apk

一、A2dpSinkService.java1、这个文件位于packages\apps\Bluetooth\src\com\android\bluetooth\a2dpsink。可以看到这是一个service,看一下packages\apps\Bluetooth\AndroidManifest.xml可以看到这个通过action:"android.bluetooth.IBluetoothA2dpSink"拉起来的 找到拉起服务的地方:BluetoothA2dpSink.j...

2021-08-04 10:49:04 1340 1

原创 非系统APK很多权限受限制,如何让APK成为系统APK

1、在APK的AndroidManifest.xml设置android:sharedUserId="android.uid.system"2、给apk签名第一步:下载keytool-importkeypair,下载地址:https://github.com/getfatday/keytool-importkeypair第二步:找到源码中系统签名platform.pk8 和 platform.x509.pem,在android源码的build/target/product/securi.

2021-08-04 09:56:09 1051

原创 AndroidO bluetooth如何上传配对记录和本地信息(及扒掉Bluetooth.apk,用自己的bt stack如何对接)

重点:配对记录在:/data/misc/bluedroid/bt_config.conf 本地地址:初始化的时候从HCI获取 本地设备名:getprop ro.product.model可以获取到一、如何上传配对记录1、RemoteDevices.java内有个函数:devicePropertyChangedCallback会上传:AbstractionLayer.BT_PROPERTY_BDNAMEAbstractionLayer.BT_PROP...

2021-07-29 20:47:51 1591

原创 Android源码中Log.isLoggable的用法

在android源码中,经常会看到这种代码(MediaActivity.java):要想让上面的log打印出来,需要进行如下操作:1、找到TAG的定义:2、进入串口设置setprop log.tag. MediaActivity V同样还有其他文件的log也可以用这种方法,例如:setprop log.tag.MediaPlayback Vsetprop log.tag.MediaPlaybackModel Vsetprop log.tag.GH.MediaManag

2021-07-29 15:52:58 1030

转载 android第三方apk找不到/system/lib64/里面的系统库

平台 RK3288 + Android 9 问题 官方原文: "从 Android 7.0 开始,系统将阻止应用动态链接非公开 NDK 库,这种库可能会导致您的应用崩溃。此行为变更旨在为跨平台更新和不同设备提供统一的应用体验。即使您的代码可能不会链接私有库,但您的应用中的第三方...

2021-07-22 16:13:24 7434

原创 Android O发生crash,提示/system/bin/linker64(备忘)

错误提示:2010-01-01 08:24:29.913 20251-20251/com.anwsdk.service W/linker: library "libsqlite.so" ("/system/lib64/libsqlite.so") needed or dlopened by "/data/app/com.anwsdk.service-fxMKx2QTE5_p3zxuHHTxEA==/lib/arm64/libanwbtdatabase.so" is not accessible for

2021-07-22 15:57:25 1870

原创 编译AndroidO一直提示FAILED: setup-jack-server

[ 41% 4591/11150] Ensuring Jack server is installed and startedFAILED: setup-jack-server /bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar prebuilts/sdk/tools/jack-server-4.11.ALPHA.jar 2>&1 || (e.

2021-07-20 14:40:32 1689 2

原创 GATT(四)

五、L2CAP互操作性要求5.1 BR/EDR L2CAPBR/EDR上的ATT_MTU是L2CAP协商的,最小值是48个字节至于其他方面,因为一般不用BR/EDR,用的时候在关注5.2 LE L2CAP1、Default ATT_MTU为23个字节2、GATT发送的ATT消息都使用L2CAP的固定通道L2CAP fixed CID=0x0004,LE connection建立以后就可以直接使用这个固定通道,不需要在建立L2CAP通道通道配置如下图所示(都是默认值不需要配置)

2021-07-14 17:20:10 790 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除