- 博客(726)
- 资源 (12)
- 收藏
- 关注
原创 [RK3399][Android7.1] 调试笔记 --- Android7.1 Launcher选择位置
Platform: RK3399OS: Android 7.1Kernel: v4.4.83一开始没找到在哪选择切换Launcher,记录下。步骤:1. 进入Settings app2. Apps3. Settings4. Home app参考:How to set home launcher in Android 7.0 Nougat and 8.0 Oreo...
2018-11-14 13:31:39 2105
原创 [RK3399][Android7.1] 调试笔记 --- I2S1工作输出是12MHz问题
Platform: RK3399OS: Android 7.1Kernel: v4.4.83现象:使用I2S1通道,测量到的I2S MCLK是12MHz.理论上应该是11.288MHz.原因:rk3399平台有三路I2S(其中一路内部使用,可以不管),但是MCLK只有一个,也就是说两路I2S只有一路能占用。而默认的sdk中,I2S1输出时,使用的是I2S0的MCLK,I2S0默认是...
2018-11-13 16:19:19 4383
原创 [RK3399][Android7.1] 调试笔记 --- SD卡升级不会清除data
Platform: RK3399OS: Android 7.1Kernel: v4.4.83现象:使用update.img制作sd卡升级完成后发现不会清除data分区原因:像rk3288 android6.0上会在recovery中设置misc分区,写一条wipe data的命令,下次重启后uboot会读取,然后进入recovery做清除的动作。但是在rk3999 android...
2018-11-12 18:11:46 1619 5
原创 [RK3288][Android7.1] 调试笔记 --- 24bit bmp 转成 8bit bmp
Platform: RK3288OS: Android 7.1Kernel: v4.4.83背景:在rk3288平台上uboot logo发现24bit bmp不能正常显示,参考原始logo.bmp是8bit.然后使用命令convert -compress rle -colors 256 src.bmp logo.bmp转出来的却是32bit bmp,不知道是不是我的ubuntu16...
2018-11-10 13:50:08 1676 2
原创 [RK3399][Android7.1] Vmware虚拟机里的Ubuntu硬盘空间越来越大
Platform: RK3399OS: Android 7.1Kernel: v4.4.83背景:Vmware里的Ubuntu系统随着使用会越来越大,比如编译了Android系统,即使编译后删除了也是占虚拟硬盘空间,最终会吃掉物理硬盘空间。解决方法:使用Vmware自带的vdiskmanager工具(在安装目录下)压缩虚拟机硬盘空间。命令:vmware-vdiskmanager...
2018-11-10 13:40:02 861
原创 [RK3399][Android7.1] 调试笔记 --- OTA diff升级输入法异常
Platform: RK3399OS: Android 7.1Kernel: v4.4.83现象:之前因为版权的原因替换了输入法。请参考:[RK3399][Android7.1] 调试笔记 —谷歌拼音替换搜狗输入法但是再做OTA升级的时候发现输入法升级异常。原因:做OTA diff包升级不会清除data分区,而默认的输入法配置是放在/data分区的,导致系统起来找不到而使用默认的...
2018-11-09 22:43:27 1768 1
原创 [RK3399][Android7.1] 调试笔记 --- 解决开关按键时产生的Pop声
Platform: RK3399OS: Android 7.1Kernel: v4.4.83背景:按键音在打开和关闭的时候,会有pop声。原因:audio codec后面有个功放,功放一直打开着,当codec打开和关闭的时候,会有噪声带进到功放中。解决方法:注:GPIO4_D4是用来控制功放的开关。diff --git a/arch/arm64/boot/dts/rockch...
2018-11-01 14:17:12 4535 7
原创 [Tools][Vmware] 如何直接使用vmdk而不是ISO
背景:以前使用虚拟机安装Ubuntu的时候,都是通过下载ISO安装系统的方式。现在发现可以直接使用vmdk(虚拟机安装操作系统后生成的文件类型),这样就免去安装的麻烦了。下载:网上有提供了对应各种ubuntu版本的vmdk下载。下载地址:osboxes组织我下载了Ubuntu 16.04版本系统信息和安装要求:安装:下载vmdk解压后,Vmware工具是不支持直接打开vm...
2018-10-29 09:44:09 34616 3
原创 [RK3399][Android7.1] 调试笔记 --- JNI层输出带TAG的Log
Platform: RK3399OS: Android 7.1Kernel: v4.4.83JNI层使用C/C++需要输出Log.如果不要TAG,那么只要如下使用就可以:#include <utils/Log.h>fun(){ ALOGE("debug log");}如果需要带LOG TAG, 那么就要按如下方式添加:#define LOG_TAG "JNI...
2018-10-26 18:02:03 864
原创 [RK3399][Android7.1] 调试笔记 ---谷歌拼音替换搜狗输入法
Platform: RK3399OS: Android 7.1Kernel: v4.4.83由于搜狗输入法存在版权原因,换成了谷歌拼音,虽然apk已经下架,但还是可以使用的。改动:diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/def...
2018-10-25 14:02:48 2400
原创 [RK3399][Android7.1] Android各个层次的版权协议
题外话:谷歌开始对欧盟用的应用收费了,不知道国内会怎么样。最近项目产品也需要关注下此信息,避免不必要的版权纠纷。Android平台,由不同模块组成,每个模块的license不一定相同。由于Android是基于Linux内核的,所以内核的license是和Linux一样基于GPLv2的。而在内核上层的Framework层,使用的是Apache2.0协议。此协议允许商用公司开发出的产品不...
2018-10-25 13:42:32 1418
原创 [RK3399][Android7.1] 调试笔记 --- Type-C USB改成Micro USB2.0 OTG
Platform: RK3399OS: Android 7.1Kernel: v4.4.83diff --git a/arch/arm64/boot/dts/rockchip/rk3399-eco.dts b/arch/arm64/boot/dts/rockchip/rk3399-eco.dtsindex 1e5e921..cacfc7b 100644--- a/arch/arm64/b...
2018-10-25 10:16:05 6115 12
原创 [RK3399][Android7.1] 调试笔记 --- JNI中的char*和byte[]数据转换
Platform: RK3399OS: Android 7.1Kernel: v4.4.83*char 转换成 byte[]byte[]在JNI层的类型是jbyteArray.void audio_callback(char *buffer, int len) { jbyteArray array = (*env)-&gt;NewByteArray(env, len); (*e...
2018-10-24 14:01:10 1580
原创 [RK3399][Android7.1] Audio中的MCLK时钟小结
Platform: RK3399OS: Android 7.1Kernel: v4.4.83Power Domain:audio codec的clk被关联到power domains中管理。rk3399.dtsi:i2s0: i2s@ff880000 { //...... clock-names = &amp;amp;amp;amp;quot;i2s_clk&amp;amp;amp;amp;quot;, &amp;a
2018-10-23 17:34:15 7400 8
原创 [RK3399][Android7.1] 调试笔记 --- 预编译调用第三方库
Platform: RK3399OS: Android 7.1Kernel: v4.4.83背景:现在在Framework层及以下经常会调用到第三方的C++算法库,比如语音识别,人脸识别等等。例如我这里是JNI调用一个语音处理库,这些库厂商会以非开源的so库文件形式提供。JNI在编译时需要依赖它,所以需要先预编译安装第三方库。解决方法:在同一个Android.mk中编写就行:L...
2018-10-18 15:01:26 1197
原创 [RK3399][Android7.1] 调试笔记 --- 系统音量无法调节
Platform: RK3399OS: Android 7.1Kernel: v4.4.83背景:刚开始配置完音频codec后声音是正常,后来改着改着发现音量无法调节了。调试:测试修改了下codec的输出gain值是可以调节声音的,说明问题出在软件调节声音模块。HAL层dump不同音量级别的data,发现没有变化。根据音量调节的过程,在各个层添加log查看volume的值,发现...
2018-09-27 15:58:05 3551
原创 [RK3399][Android7.1] 调试笔记 --- Codec播放音乐会有底噪
Platform: RK3399OS: Android 7.1Kernel: v4.4.83背景:移植完Codec RT5640之后,发现播放声音的时候底部有噪声。用示波器测量到的左右声道波形如下:左声道波形:右声道波形:左右声道波形:原因:一般波形上有这种有规律的毛刺基本上都是clock的问题。经后面分析查证,发现i2s1的master clock在主rk3399....
2018-09-27 15:35:57 3543 5
原创 [RK3399][Android7.1] 调试笔记 --- JNI无法访问so提示not accessible
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83背景: 之前在rk3288平台上测试的串口程序,到rk3399无法使用了,提示 "/system/lib64/libnativeloader.so" is not accessible for the namespace "classloader-namespace"具体Log:...
2018-09-10 18:58:52 7047 5
原创 [RK3399][Android7.1] 调试笔记 --- 串口JNI测试用例
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83Android并没有包含串口的JNI, 需要我们自己实现。(Android Thing已经有实现) 串口JNI的参考范例见: https://github.com/cepr/android-serialport-api。有将它修改做了实现,也分享给大家做参考。JNI部分: Ser...
2018-08-31 13:28:05 2131
原创 [RK3288][Android6.0] 调试笔记 --- tinyplay无法播放
Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92现象:执行tinyplay播放wave文件一点反应都没有,卡在那边不动。分析:系统开机之后会开打audio codec,然后过了三秒如果没有操作之后,那么就会关闭device。 从log上看,device并未关闭。08-29 13:39:55.524 215 2...
2018-08-29 18:28:58 4018 4
原创 [RK3399][Android7.1] 调试笔记 --- JNI头文件生成方法
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83先生成.class文件kris@eco:~/AndroidStudioProjects/helper/app/src/main/java$ javac com/interview/helper/NativeHelper.java对应class文件:kris@eco:~/Andro...
2018-08-24 08:57:50 619 5
原创 [Tools] [cmake] 调试笔记 --- cmake交叉编译环境配置
背景:默认cmake编译的出来的so是x86 64位(PC硬件环境),现在需要改成交叉编译适用到Android平台上。解决方法:编写一个文件名字叫: android.toolchain.cmakeset(CMAKE_SYSTEM_NAME Android)set(CMAKE_SYSTEM_VERSION 23)set(CMAKE_ANDROID_NDK_TOOLCHAIN_...
2018-08-23 16:32:59 2027
原创 [Tools] [cmake] 调试笔记 --- cmake缓存引起的一个错误
背景:修改cmake交叉编译环境的时候本来想配置CMAKE_TOOLCHAIN_FILE来改变编译工具和环境,但是编译器报了句warning Manually-specified variables were not used by the project, 然后交叉环境没配置成功。原因:我有修改了对应的CMakeLists.txt,但是缓存没变化导致再次配置的时候出现错误。...
2018-08-23 16:23:20 27344 1
原创 [Tools] [cmake] 调试笔记 --- 如何彻底清除cmake产生的缓存
背景:cmake并没有提供类似于 cmake clean 这样的方式来让我们清除产生的缓存,但是它编译的缓存(*.cmake, Makefile,CmakeCache.txt, CMakeFiles目录)会遍布各个目录。解决方法:在根部目录下建立一个build目录,然后在build目录中编译即可。#mkdir build#cd build#${path}/cmak...
2018-08-23 15:59:06 77743 8
原创 [RK3399][Android7.1] 调试笔记 --- WiFi扫描周期规则
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83亮屏情况: 1. 在WiFi Settings界面,无论WiFi是否有连接,固定扫描时间间隔为10s。 2. 在非WiFi Settings界面,无论WiFi是否有连接,以2的倍数慢慢拉大扫描周期,最小为20s,最大为160s灭屏情况: 1. 当开启了PNO并且WiFi已经连接时,...
2018-08-09 17:50:30 3230
原创 [RK3399][Android7.1] 调试笔记 --- 三路以上Camera同时预览支持
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83系统默认只支持两路Camera,只要将CameraHal中的数量限制改掉就可以了。 另外,有些地方直接用0和1表示Camera通道,也要做相应修改。注意:因为Android只定义了Front和Back两种Camera属性,所以不能使用默认的APK测试。Patch:diff --...
2018-08-08 14:59:15 7300 26
原创 [RK3399][Android7.1] 调试笔记 --- Camera动态热插拔支持
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83RK3288平台修改请参考 [RK3288][Android6.0] 调试笔记 — Camera动态热插拔支持改动如下: CameraHal部分: /* */diff --git a/CameraHal/CameraHal_Module.cpp b/CameraHal/Came...
2018-08-08 14:51:56 4701
原创 [RK3399][Android7.1] 调试笔记 --- 查看开机上一次kernel log
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83rk3288平台,rk自己实现了一套机制获取上一次的kernel log. rk3399平台,使用了内核框架中的ramoops机制。查看方法:#cat /sys/fs/pstore/console-ramoops-0要开启此功能,需要做以下几点配置(rk3399默认都开...
2018-07-26 11:08:11 4301 11
原创 [RK3399][Android7.1] 调试笔记 --- 添加重启命令恢复出厂设置
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83改动:diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsiindex 1759a91..5bf6cb9 100644--- a/arch/arm...
2018-07-26 11:03:19 2099
原创 [RK3399][Android7.1] 调试笔记 --- VFS:Can't find ext4 filesystem
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83现象: 移植rk3399时重新抓了一份code编译,发现download system.img之后无法开机。Log如下: 分析: 此问题之前在imx6平台上遇到过的,是因为系统不支持sparse image导致。 但是奇怪的是之前一直在使用,说明rk3399平台是支持spar...
2018-07-26 10:59:42 6554
原创 [RK3399][Android7.1] 系统reboot mode机制小结
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83背景:到kernel 4.4上面,发现内核把重启参数通用驱动也实现了。 rk3288 android6.0 kernel3.10上rk是自己实现的。文档说明:针对通用reboot mode驱动,内核有文档解释:Generic reboot mode core m...
2018-07-25 20:45:08 3750
原创 [RK3399][Android7.1] 系统重启调用过程(PSCI)
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83系统重启调用和rk3288基本类似,只是rk3399平台对应的arm_pm_restart不同了。rk3288的可参考 [RK3288][Android6.0] 系统重启调用过程小结调用流程:KEYWORD(powerctl, COMMAND, 1, do_powerctl)...
2018-07-25 17:41:54 2935 5
原创 [RK3399][Android7.1] 调试笔记 --- 开机动画播放视频功能
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83rk3399上默认已经添加了开机播放视频的功能,只要按照如下改动就可成功播放。kris@eco:~/rk3399/device/rockchip/rk3399$ g dfdiff --git a/device.mk b/device.mkindex 2a730bc..6645072 ...
2018-07-24 18:18:14 5034 31
原创 [RK3399][Android7.1] 调试笔记 --- LOCAL_PROPRIETARY_MODULE作用
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83调试Audio HAL层发现在out/target/product/rk3399_mid/system/lib/hw 目录下没看到 audio.primary.rk30board.so, 而是放在了out/target/product/rk3399_mid/system/vendor/l...
2018-07-24 14:46:47 16516 3
原创 [RK3399][Android7.1] 调试笔记 --- 开机后台抓取kmsg log
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83此功能在rk3288上有实现过,rk3399上脚本稍微有点差异。记录文件生成时间,因为可能会遇到异常重启的情况,而文件的生成时间会随着Log的写入而更新。dmesg先保存前面的Log每次开机会启动一次脚本,默认保留5次开机Log,kmsg_5.log为最新改动如下: sys...
2018-07-24 14:40:57 2884
原创 [RK3399][Android7.1] 调试笔记 --- 设置里打开返回按键
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83原因: 在没有物理按键和导航栏的情况下没法退出设置界面,不过app里有自带此功能, 只是默认关闭的。方法:diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/...
2018-07-24 14:35:35 1970 12
原创 [RK3288][Android6.0] 调试笔记 --- 原生人脸检测功能无法使用
Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92说明:Google原生自带人脸检测功能,并且分两种。是通过传递Bitmap检测图中人脸,这里不做讨论。实时从Camera获取数据检测。至于这两种用法,可参考如下文章: Android 人脸检测 非人脸识别流程:第二种方法是在HAL层实现检测,start的流...
2018-07-19 14:18:08 1609 1
原创 [RK3399][Android7.1] 调试笔记 --- WiFi吞吐量测试
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83说明:WiFi芯片使用的是AP6356S测试是在普通环境,并没有在屏蔽房路由器WiFi最大速率1200Mbps2.4G WiFi LinkSpeed是130Mbps左右5G WiFi LinkSpeed是600Mbps左右PC测试环境是Windows10LinkSpe...
2018-07-19 10:49:34 5146 12
原创 [RK3399][Android7.1] 调试笔记 --- 2.4G WiFi吞吐量测试速率很低
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83说明:WiFi芯片使用的是AP6356S测试是在普通环境,并没有在屏蔽房中现象:测试2.4G的传输速率的时候,发现很低,如下图 上传速率: 下载速率: 原因:SDK中对应的WiFi driver有问题,需要更新。 版本可从Kernel l...
2018-07-19 09:14:37 3120 10
原创 [RK3399][Android7.1] 调试笔记 --- 设置搜狗为开机默认输入法
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83除了Android 6.0上的改动之外还需要修改如下部分:diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/...
2018-07-18 15:54:07 2784 4
okHttpClient test sample
2018-05-11
WebSocketServer test sample
2018-05-11
WebSocketClient test sample
2018-05-11
apktool_and_dex2jar(ubuntu)
2018-04-26
ION基本概念.docx
2013-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人