- 博客(78)
- 收藏
- 关注
原创 QT5.12环境搭建与源码编译
QT版本:QT5.12.10Qt网址:http://download.qt.io/archive/qt/编译平台 ubuntu18.04。
2024-07-04 09:52:13
514
原创 Android NITZ NTP 时区 时间
NTP:Network Time Protocol(网络时间协议),用来同步网络中各个计算机的时间的协议。在手机中,NTP更新时间的方式是通过GPRS或wifi向特定服务器获取时间信息(不包含时区信息)NITZ:Network Identity and Time Zone(网络标识和时区),是一种用于自动配置本地的时间和日期的机制,需要运营商支持,可从运营商获取时间和时区具体信息。NITZ可同步时区、日期和时间,但必须插入SIM卡,NTP方式只能同步日期和时间,不能更新时区。
2024-05-06 15:50:33
209
原创 Ubuntu 16.04版本上安装make 3.8.1
下载的版本 make-3.81.tar.gz ,解压 tar zxvf make-3.81.tar.gz 获得文件夹make-3.81。找到解压的文件make-3.8.1/glob/glob.c,添加一行代码 #define __alloca alloc。使用which make 查看当前make安装的路径,ubuntu 16.04默认安装路径为/usr/bin/mak。从网址下载一个ftp://ftp.gnu.org/gnu/make。进入到make-3.81执行以下指令。
2024-04-08 13:15:41
488
原创 RK3288将某个文件移到系统下的某个位置
比如将PHY_REG_PG.txt移到system/etc/firmware/下。配置external/wlan_loader/wifi-firmware.mk。将文件放到external/wlan_loader/firmware下。
2024-02-01 14:03:11
420
原创 修改开发板的bootanimation(开机动画)
2.U盘会在板子上自动挂载到storage目录(如果不能,需要手动挂载),进到storage目录,找到自己U盘文件夹。3.进到你的U盘目录里面,复制bootanimation文件到板子上的/system/media/目录替换原始文件。1.将板子和串口连接,将制作好的bootanimation.zip放进U盘,然后将U盘插到板子上。6.重启板子即可,前提是你的bootanimaton.zip是对的!5.copy过去之后给你的bootanimation文件添加权限。
2023-12-22 09:38:45
477
原创 Android AIDL实现开放系统级API 提供三方app调用
当上层app需要调用一些系统底层的资源以及属性操作(比如Settings.system 属性的读写),甚至驱动节点的读写操作,上层app毫无疑问是没有权限的,所以就需要我们在framework 系统层做一个中转和代理,也就是做一个远程服务(AIDL实现,开放远程调用接口)。framework里实现一个系统级服务,开机自启,注册到系统服务的启动流程里,这种思路,针对像对写敏感,加了系统级进程用户组的检查的话,比如Settings.system的写操作,还是会被拦下,故不再赘述。action为自定义。
2023-12-05 10:06:53
819
2
原创 RK3288升级WebView版本,替换webview app
升级高版本的WebView Apk;客户端播放网页,显示不正常;安装高版本的谷歌浏览器手动打开网页,显示正常;Android5.1开始,WebView具体实现从框架层剥离出来,通过一个包名来控制加载真正的WebView实现;开发应用打开网页端调用就是系统的webview,我们要做的将系统WebView Apk升级到高版本;Android5.0之后webview以apk的方式含在sdk中,这样可以独立于Android做update.可以查看当前使用的版本。
2023-12-05 09:54:51
534
原创 rk3288 android以太网和wifi共存
使用以太网做内网访问,wifi做外网访问,也就是说wifi的优先级应该比以太网高,当wifi内网无法访问时,才发切换到以太网使用首先是准备1、以下四个变量代表着安卓平台不同网络的评分,这些评分用于网络选择仲裁,评分越高就会优先选择。NETWORK_SCORE,WIFI_BASE_SCORE,NETWORK_SCORE,TELEPHONY_NETWORK_SCORE2、这四个变量分别出自如下安卓SDK文件:NETWORK_SCORE 有两个网络都用这个定义,一个是以太网,另一个是蓝
2023-12-05 09:43:44
336
原创 c文件如何编译为ko的MAKEFILE文件编写
首先需要知道:上面两者的区别在于,前者才会生成ko文件,后者只是代码编译进内核,并不生成ko文件。生成KO文件,分两种情况:单个.c文件和多个.c文件kernel配置文件中定义注意上面的m,表示作为一个模块进行编译,最后在MAKEFILE中需要用到的编译开关。
2023-10-27 09:16:32
597
原创 PX30 android8.1添加RTL8723DU
添加对应的RTL8723DU_DRIVER_MODULE_NAME,RTL8723DU_DRIVER_MODULE_PATH。将8723du复制到kernel/drivers/net/wireless/rockchip_wlan/rtl8723du。并修改makefile。
2023-10-25 17:15:59
362
原创 Android AT命令
命令查询 SIM 是否已经注网成功,若返回以下信息则表明注网成功: [2020-03-10_15:48:52:852]AT+CGATT?命令查询网络是否接通,返回 0,5 代表网络处于已注网,漫游中状态,表示 APN 设置成功。命令查询 SIM 是否已经注网成功,若返回以下信息则表明注网成功: [2019-12-06_16:24:10:713]AT+CGATT?1)使用 AT+QICSGP=1,"orange.m2m.spec","","" 命令配置 APN 信息,返回 OK 代表配置成功。
2023-09-13 10:19:00
796
原创 Android8.1 hal 加载wifi ko模块流程
Android启动的时候会去加载wifi模块,这时候这部分代码在frameworks\opt\net\wifi\libwifi_hal\,这部分的代码主要的功能为,大概内容为通过读取uevnt的获取到系统下的wifi模块的vip和pid,从而从代码的列表中查找到是那个一个wifi模块,然后又从列表中获取wifi模块的驱动代码在那里,从而调用insmod xxxx.ko加载wifi模块。wifi启动驱动加载fw流程现在的wifi模块启动的时候都要加载一个fw固件,这个固件是做什么用的呢?
2023-09-13 10:07:08
1060
原创 Android中如何不编译源生模块
来看下这里统一管理的方案,在Android中的makefile中有个变量PRODUCT_PACKAGES,这个变量是控制模块是否参与编译,我们在device目录下看到很多这样的设定,这时候如果为了项目或者板卡维护,直接修改device下的PRODUCT_PACKAGES变量就可以了。有了这样的顾虑,为了以后项目维护性,想了一个办法,那就是用一个变量统一管理,以后不管是什么项目不需要源生的或者device下面已经设定好的PRODUCT_PACKAGES,只需要设定这个变量就可以了。但是,这样修改有个缺点。
2023-08-15 10:18:00
1297
原创 commit_id.xml:1: parser error : Document is empty
将BOARD_RECORD_COMMIT_ID 改为false。
2023-08-11 16:00:35
197
原创 删除Android正在启动提示框
修改packages/apps/Settings/res/layout/fallback_home_finishing_boot.xml,将。和ProgressBar设置为不可见。
2023-07-24 10:23:52
266
原创 RK集成SIS触摸屏
SIS文档上说要修改 但我没改 也正常运行的ueventd.rc。主要是集成SIS触摸屏的sis.i2c.c文件。修改dts,添加sis_touchscreen。拿到厂商提供的文件,导入对应目录。修改对应kconfig。修改makefile。
2023-07-03 09:11:27
222
原创 rk3288 Android8.1添加EC20
修改device/rockchip/rk3288/overlay/frameworks/base/core/res/res/values/config.xml。修改device/rockchip/common/overlay/frameworks/base/core/res/res/values/config.xml。修改device/rockchip/common/sepolicy/file_contexts。修改device/rockchip/common/sepolicy/rild.te。
2023-06-21 14:50:55
398
原创 RK3128 Android 7.1 默认竖屏
frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java里面修改WindowManagerService。但是这样会有个问题,就是如果机器默认是横屏,你强制进入桌面是竖屏的话,会在进入桌面前,自动旋转,而这个旋转会导致开机动画旋转错乱。首先强制进入桌面后竖屏。
2023-06-16 17:17:33
405
原创 RK开机logo和开机动画
至于开机动画,如果系统在frameworks\base\cmds\bootanimation下找到bootanimation.zip,就是用这个zip,如果没有,就直接使用Android最原始的默认开机动画(一个Android动画)在之前的3128平台上是只有一个logo的,也就是logo.bmp,但是新的3288 Android7 平台开机logo有两个,一个是。显示的logo,文件名是logo.bmp;另一个是kernel显示的logo,文件名是logo_kernel.bmp。
2023-06-16 14:16:48
1231
原创 RK3128 Android7.1 usb和speak同时播放媒体
主要是Engine.cpp里的getDeviceForStrategyInt方法。
2023-06-16 10:37:58
255
原创 Android 音频策略(音频优先级,音频输入输入,声音优先级)
Android音频策略主要是在 frameworks/av/services/audiopolicy/enginedefault/src/Engine.cpp中,接下来我们看一下如何根据自己的需求在这个文件中调整自己的 音频输入输出策略。这里做了后插优先,就是那个设备最后插入声音就从哪个设备走,包括输入和输出,主要就是通过获取最后插入的设备类型来动态的调整声音优先级即可。音频输出策略是在Engine::getDeviceForStrategyInt这个函数里面:我们主要捡重要的讲。2.1、音频输出策略。
2023-06-16 10:36:53
2747
原创 RK3288 Android8.1添加lvds以及gt9触摸屏(二)-
6.配置defconfig,注意这里的TOUCHSCREEN_GTX911_MST和前面touchscreen配置的是一一对应的。注:可以自己定义最后把gt9xx.h以及gt9xx.c文件放在哪,放在哪就在makefile里指定对应位置。1.touchscreen文件夹下的Kconfig配置,主要是最后一句,应用到对应文件夹下的Kconfig。2.touchscreen文件夹下makefile配置,指向对应文件夹下。3.gtxx文件夹下的Kconfig配置。4.gtxx文件夹下的Kconfig配置。
2023-06-13 17:57:57
1039
原创 RK3288 Android8.1添加lvds以及gt9触摸屏(一)
知道vback-porch + vfront-porch + vsync-len=垂直总周期 - Vactive=38。根据公式水平总周期 = hback-porch + hfront-porch + hsync-len+Hactive。知道hback-porch + hfront-porch + hsync-len=水平总周期-Hactive=320。根据公式垂直总周期 = vback-porch + vfront-porch + vsync-len+Vactive。1.lvds负责屏幕亮起,显示UI。
2023-06-13 17:45:04
1561
原创 android 修改默认屏幕亮度 占空比
如上def_screen_brightness值,而系统屏幕最大亮度值为255,如果要修改默认为80%;def_screen_brightness_automatic_mode修改为true,软件将无法手动调整屏幕亮度。调试显示屏时,android系统起来后,显示屏亮度很暗,需要调整亮度,使其默认的亮度足够。文件路径:frameworks/base/core/res/res/values/config.xml。系统屏幕最大亮度值为255,如果要修改默认为80%;2.修改屏幕亮度最大值,最小值,默认值。
2023-06-13 17:37:52
854
原创 RK GPIO计算方式
例如 GPIO4 c0,那么对应的 dts 里面应该是“gpio4 16”。因为 GPIOA 有 8 个 pin,GPIOB 也有 8 个 pin,A B C D(0 1 2 3)(注:最前面和 32 相乘的数字因为是 gpio7,所以是 732。这里因为是 C5,所以用 C-A,如果是 B3,就是 B-A;最后的+5 是因为是 GPIO7_C5,括号里面的 A、B、C、D 分别代表数值 0、1、2、3,在计算时候分别对应去减即可。GPIO4 c0 口就是 2*8+0=16 即为“gpio4 16”
2023-06-08 15:50:45
913
原创 Ubuntu FAILED: classes.dex.rsp
重启完jack-admin服务后,此时再重新执行编译命令就能编译通过了。当编译Android系统时,出现以下错误,优先考虑是cpu和内存不足。1.make -j12 可以降低编译核数,比如-j8。
2023-06-08 12:03:42
58
原创 Ubuntu Jack-server报错解决方案
aosp/prebuilts/sdk/tools/ 目录下执行。启用TLSv1, TLSv1.1。
2023-06-08 09:14:19
544
1
原创 RK3128 uboot编译报错:needed by ‘include/config/auto.conf‘. Stop.
后再次执行如下操作即可。
2023-06-08 09:09:58
203
原创 正则表达式替换字符串
例如,删除含有"hello"的行, 替换: ^.*hello.*$ 为空。替换: ^.*(指定字符串).*$ 为空。删除含有指定字符串的行。
2023-06-07 16:10:56
244
原创 Android 源码修改,使第三方应用可以直接使用su命令
2.拷贝SuperSU.apk到 system/app/SuperSU/SuperSU.apk 给与权限 chmod 0644 /system/app/SuperSU/SuperSU.apk。6.拷贝新的libsupol.so文件到 /system/lib64/libsupol.so ,chmod 0755 /system/lib64/libsupol.so 给与权限。3.拷贝新的su文件到 /system/xbin/su ,chmod 0755 /system/xbin/su 给与权限。
2023-06-07 15:17:56
1535
原创 RK3288 Android5.1添加WiFi&BT模块AP6212
如果器件升级,比如器件为AP6212A,供应商给的文件问 nvram_ap6212a.txt,则需要修改下面文件。编译后,系统会将模块固件拷贝到 out/target/product/rk3288/system/etc//firmware/ 目录下。如果只是调试,可以通过 adb 将固件 push 到 /system/etc//firmware/ 目录下,然后重启。wifi 驱动路径:kernel/net/rfkill/rfkill-wlan.c。将模块供应商提供的固件文件拷贝到此目录下,然后编译烧录。
2023-06-05 16:13:36
1293
原创 压缩文件
package com.gofirst.scenecollection.evidence.utils;import android.util.Log;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import...
2018-10-18 13:41:19
141
转载 Android Gradle配置Debug和release参数的方法
方法一:使用BuildConfig类修改参数值Gradle Android自带BuildConfig配置类,在build工程的时候,可以在build/generated/source/buildConfig下的debug和release路径下找到。BuildConfig.java类可以在工程中引用;BuildConfig.java自带DEBUG参数,在打包debug版本的时候,DEBU...
2018-10-18 13:38:16
6498
原创 Android Fragment Activity 广播常见错误
1.Fragment使用startActivityForResult时,不要加上getActivity,且onActivityResult里应该使用super 2.Fragment中使用getActivity时要注意,Fragment对应的Activity有可能被销毁,或者getActivity是在第三方使用,而导致getActivity为null。所以有两个方案:A:使用on...
2018-10-18 13:35:43
605
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人