自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 android studio 2022打开了v1 签名但是生成的apk没有v1签名问题

我使用了Android Studio Flamingo | 2022.2.1 Patch 2版本的IDE编译了一个apk,但是apksigner查看apk的签名信息时,发现只有v2签名,没有v1签名。试着改小一下minSdkVersion 为23重新编译apk,再检测一下签名版本v1居然打开了!参考网上搜索到的方法,手动在build.gradle里面添加。但是编译出来的apk还是只有v2的签名。里面提到了v1签名还和。

2025-04-10 19:16:58 99

原创 Android14 SystemUI中添加第三方AIDL

1.将AIDL文件拷贝到frameworks/base/packages/SystemUI/src/下,我要添加的AIDL文件是com/test/myctr/IDevicectr.aidl,添加后的路径是frameworks/base/packages/SystemUI/src/com/test/myctr/IDevicectr.aidl。2.修改frameworks/base/packages/SystemUI/Android.bp,将AIDL编译到apk里面。现在记录一下AIDL添加的过程。

2025-03-29 09:26:00 339

原创 AndroidRuntime: java.lang.RuntimeException: Canvas: trying to draw too large解决办法

最后更正log发现是frameworks\base\graphics\java\android\graphics\RecordingCanvas.java中的throwIfCannotDraw函数里面判断bitmap参数超过最大值就抛出异常。最近客户一个apk在android14上面运行出现报错闪退。默认为100M,解决报错办法就是将这个值改大。

2025-03-27 21:15:53 229

原创 Android14 原生PackageInstaller安装某些apk报错问题

推荐方案 1:压缩Bitmap并使用传输。如果必须用:限制Bitmap大小(方案 2)。如果Bitmap来源于资源:传递资源 ID 而不是Bitmap(方案 3)。

2025-03-25 19:22:44 989

原创 android13修改系统Launcher不跟随重力感应旋转

通过代码查找发现packages/apps/Launcher3/src/com/android/launcher3/states/RotationHelper.java中存在一个函数getAllowRotationDefaultValue,用于获取是否允许旋转的默认值。这个函数主要根据屏幕dpi和尺寸来决定是否允许Luancher允许旋转。如果要禁止旋转直接返回false即可。android13系统中需要修改系统原生Launcher不跟随重力感应旋转。

2025-02-21 14:35:50 353

原创 Android13工具修改wifi mac地址以后没有更新的问题

原因:android13 系统中packages\modules\Wifi\service\ServiceWifiResources\res\values\config.xml新增了"config_wifiSaveFactoryMacToWifiConfigStore"且默认值为true,系统第一次打开wifi时就会把wifi mac给保存起来,后面每次开机会一直使用该初始值。Android13系统在通过烧写工具更新修改wifi mac地址以后,在系统设置里面查看wifi mac地址还是之前的,没有更新。

2025-01-10 14:28:08 532 1

原创 Android13蓝牙接收文件不提示问题

最近在调试Android13系统,测试发现蓝牙连接手机等设备以后,手机通过蓝牙分享图片等文件时,Android13系统不会弹出接收的通知提示。这个log是由于蓝牙连接超过上层 SDP 规定的时间,SDP规定的超时时间是11秒。将 SDP 超时时间设置为 15 s即可解决这个问题。

2025-01-07 09:15:54 325

原创 RK3576 Android14编译OTA包提示java.lang.UnsupportedClassVersionError问题

后面下意识的查看了一下SDK里面的编译脚本build.sh。发现里面会去设置java的版本。查找网上的资料发现是java版本不对,编译使用的javac版本和运行的java版本不一直。命令查看当前系统的java版本是jdk8(刚好对应log里面的52版本).于是使用下面命令安装jdk11(jdk11对应log里面的55版本)然后重新编译OTA包,发现还是报一样的错误,真是百思不得其解。安装以后手动选择一下java版本和javac版本。这里设置了jdk8版本。

2024-12-24 16:58:05 373

原创 Launcher添加hotseat图标布局

launcher:uri= 后面填应用的intent信息,数据库里面复制出来就可以了。打开Tables下的表格就可以看到图标信息了。launcher:screen="0"表示第一格,下一个图标递增。Launcher的hotseat客户要求添加一些指定应用图标。首先打开机器将要布局的图标手动移动到hotseat位置上面。launcher:y="0"表示y坐标,后续的y坐标也是0。launcher:x="0"表示x坐标,其他的图标递增。添加上面xml后,重新编译升级就可以看到默认的布局了。

2024-12-12 19:27:44 370

原创 解决编译报错:“unrecognized character‘ at token ‘”

可能是文件在windows下编辑修改了,导致文件编码不对。在服务器上使用dos2unix工具对所有报错文件进行转码。

2024-12-02 17:16:20 323

原创 Android14 添加动态广播报错问题

Android14 系统中按照之前的方式给应用添加动态广播时,app会报错提示:Caused by: java.lang.SecurityException: com.android.xxx: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts。

2024-11-18 15:22:52 704

原创 Rockchip平台Android系统添加LCD背光开关接口

因此我们可以在这个节点中添加一个节点,来进行背光开关控制,以及状态查询。添加上面代码以后,编译重新升级,系统/sys/class/backlight/backlight/下就会存在lcd0_bl_enable节点,在init.xxx.rc文件中默认节点权限,上层应用就可以进行读写控制操作了。在drivers\video\backlight\pwm_bl.c中添加自定义函数调用pwm_backlight_power_on和pwm_backlight_power_off函数,声明外部方法给上面调用。

2024-11-16 16:17:04 325

原创 android14修改默认锁屏方式为无

我们还看到disabledByDefault,顾名思义就是默认值了,这个值由com.android.internal.R.bool.config_disableLockscreenByDefault决定,这个值位于frameworks\base\core\res\res\values\config.xml中的config_disableLockscreenByDefault。android14修改默认休眠时间为永不休眠后,依然会很快就会息屏进入休眠。解锁后或者设置系统锁屏方式为无以后,就不会再休眠了。

2024-11-04 17:15:53 1412 1

原创 修改系统默认允许打开app监听系统通知的权限

通过跟踪上面设置界面的代码发现。打开开关的操作会执行packages/apps/Settings/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java中的protected void enable(ComponentName cn)函数。这个权限一般需要手动去设置--应用--特殊应用权限--设备和应用通知里面,找到对应的app,然后手动点击开关打开。

2024-10-22 13:15:14 494

原创 apk打包到android系统后不会安装的问题

在android studio中Build---Generate Signed Bundle/APK...生成release版本apk的时候,在弹出的对话框中勾选V2签名。apk打包到android系统固件后,升级开机,发现apk没有被安装,很是奇怪。上面报错提示apk没有进行v2版本的签名。在新的android版本系统中(android11以上),apk需要进行v2版本签名。如果是下载jar包编译报错,可以参考下面链接,修改下载使用阿里云的资源链接。生成过程中如果是代码报错,就修改代码解决报错。

2024-10-15 18:07:39 204

原创 android13 系统默认设置静态IP

后面只能通过另外一种方式去设置,即开机启动的时候去设置一次静态IP。android11系统的时候,默认静态IP设置很简单,修改frameworks\base\core\res\res\values\config.xml中的config_ethernet_interfaces字符数组,在里面添加静态IP的参数就可以了。每次开机的时候可以在系统应用中接收开机广播。然后调用initEthIp函数,去检测是否已经设置过静态IP,如果设置过了就用一个系统属性保存标志位,下次再开机的时候判断标志位是否再设置静态IP。

2024-09-24 14:56:33 1112

原创 v4l2loopback虚拟摄像头打开提示:configureV4l2StreamLocked: VIDIOC_REQBUFS expected 4 buffers, got 2 instead

一切都配置好了以后,在linux下使用命令ffmpeg -i test.mp4 -vcodec rawvideo -an -pix_fmt nv12 -s 640x480 -y test_video.yuv制作了yuv视频,push到机器,然后再使用下载的v4l2loopback-main里面的yuv420_infiniteloop.c编译了写摄像头节点的工具yuv420_infiniteloop。作为工程师,遇到问题最重要的是要分析log,于是抓了log分析。于是找驱动,看看驱动哪里只给了2个buf。

2024-09-14 17:39:27 247

原创 android sdk替换app代码以后提示without required default value问题

android sdk替换了package/app下的一个应用的代码。应用的res下面的相关资源文件也一并被替换了。但是编译后提示:warn: removing resource com.android.xxx.xxx:string/err_permission without required default value.然后整个编译就停下来了。提示找不到对应的字符串,替换的代码命名都是可以正常编译通过的。相关的字符串明明是包含在strings.xml里面的。但是还是编译报错。这个真是百思不得其解。

2024-08-28 18:10:53 298

原创 Android studio项目移走重新导入后出现两个Project Files问题

Android studio项目拷贝到另外一个文件夹下面以后,重新导入,发现界面的Project Files下有两个文件夹,一个是原来的,一个现有的。后面找到一个方法,找到File-->Invalidate Caches/Restart,点击重启,重新加载完毕就没有了。想要把上面那个之前的项目文件夹去掉,虽然现在可以正常编辑现有的代码,但是看着旧的项目文件夹老是有点不爽。

2024-07-23 11:05:24 350

原创 截图后使用图库编辑打开图片报错问题

此问题是由于图库在系统没有触摸屏的时候不会加载actionBar,导致空指针出现。解决方法就是针对报错进行规避即可。Android系统截图后,点击截图后出现的编辑按钮,会调用图库打开,这个时候会出现闪退报错的现象。

2024-07-04 11:29:10 419 1

原创 Android13 竖屏时日历点显示控件报错问题

Android13 点800x1280分辨率竖屏时,原生的系统日历点击右上角的“显示控件”,日历会直接崩溃闪退。

2024-07-03 16:26:29 358

原创 Android11以上系统实现app霸屏的一种设置

具体方式就是开机以后去启动要设置的app,然后通过ActivityTaskManager.getService().startSystemLockTaskMode(taskId)去设置app为固定app。然后,打开要设置的应用,在点击导航栏的recent按键(方形的那个按键),然后 长按顶上的图标就会出来一个菜单,里面有一个固定的选项。app这个时候就退出不了。Android11以上系统有一种设置普通app实现霸屏的功能,即让系统一直停留在当前app界面,只有特殊的组合操作才能退出到其他app的界面。

2024-06-27 19:15:58 1704

原创 android系统中如何禁止访问某个IP或网址

iptables工具是Linux系统的IP信息包过滤工具。使用这个工具禁止机器访问IP或者网址。只要在adb中执行命令:iptables -I INPUT -s IP或网址 -j DROP。如:要禁止机器访问www.baidu.com,执行命令为“iptables -I INPUT -s www.baidu.com -j DROP”。向文件中添加“127.0.0.1 +空格+IP或网址”,如要屏蔽www.qq.com,这添加“127.0.0.1 www.qq.com”到文件中去。使用iptables工具。

2024-06-27 14:18:50 2831

原创 获取以太网mac地址的一种方法(支持Android13及以下系统)

介绍一种获取以太网mac地址的一种方法,该方法支持支持Android13以下系统,该方法是通过读取/sys/class/net/eth0/address节点进行mac地址获取。

2024-06-27 11:06:47 374

原创 android系统同步时间不了问题

android系统都有一个固定的同步系统时间的ntp服务器地址。有时候可能会出现这个地址突然不能够同步时间的情况。为了解决这个问题,需要给系统预设其他的ntp服务器地址。当系统使用当前的ntp服务器地址同步时间失败后,使用预设的其他地址。

2024-06-26 10:43:41 581

原创 Allwinner全志平台点9365芯片mipi屏点不亮问题

9365芯片要求的时钟频率是240Mhz。这样Dclk按正常的计算是要达到80Mhz(即lcd_dclk_freq要为80),实际测试点不亮的时候设置lcd_dclk_freq为80也是可以点亮的。但是这样fps就超过了60帧。Allwinner全志平台有个通病,就是点9365芯片的mipi屏,需要特殊处理,直接拿其他平台的初始化参数来点,是不能够正常点亮的。这可能和全志的dsi时钟频率有关。处理方式就是在屏的初始化参数中添加0x37寄存器的设置。

2024-06-26 10:38:10 447

原创 全志平台开机停在内核阶段问题

从log上面看没有什么报错的提示。非常的摸不着头脑,不知道如何是好。想到之前的代码版本是可以的,于是想到应该是最近的修改引起的。最近修改dts配置以及驱动。把修改的文件还原到之前,重新编译系统又可以了。最后定位到时dts中的gpio写法问题引起的。最近调试全志平台的机器,遇到了机器开机只亮第一张logo就停止的问题,查看串口log,发现只跑到内核开始的地方就停止了。

2024-06-26 10:36:57 269

原创 修改内核驱动加载顺序的一种方法

同样驱动B的初始化函数也是通过module_init(B_driver_init)来调用。这个时候我们要修改某个驱动的加载顺序,可以通过替换module_init来实现。因此如果我们要修改驱动A优先驱动B加载,那么就可以将驱动B加载靠后,即可以将module_init(B_driver_init)替换为late_initcall(B_driver_init);在内核驱动中,有两个驱动,驱动A和驱动B,当前系统启动的时候驱动B先加载,驱动A后加载。而我们希望驱动A能够优先驱动B加载。

2024-06-26 10:34:11 587

原创 make file拷贝后缀相同的文件到指定目录下

需要将当前目录下的所有so文件拷贝到/system/lib目录下,应该怎么写命令呢。命令如下:PRODUCT_COPY_FILES += \$(call find-copy-subdir-files,*.so,$(LOCAL_PATH)/lib_VScreen,system/lib)

2024-06-26 10:31:31 446

原创 记一次uboot崩溃“Exception from SError interrupt”

已知添加的驱动在其他cpu主板上面是可以正常运行的,但是在这个主板上面就出现了此问题。最开始怀疑是本组i2c的原因,换了一组问题依旧。最好加log打印,最终追踪到是驱动中的一句代码引起的,而这句代码是可以不需要去调用的,屏蔽之后问题就解决了。

2024-06-26 10:26:07 727

原创 android13修改默认usb tp支持触摸唤醒

android13系统中修改usb tp触摸唤醒需要修改两个地方,一个是修改设备为可唤醒系统设备,一个是修改触摸设备在系统休眠之后,usb tp设备不被关闭掉。

2024-06-25 15:54:28 771

原创 Android app WebView htm5页面一些问题的解决方法

【代码】Android app WebView htm5页面一些问题的解决方法。

2024-06-24 14:52:29 387

原创 Android系统如何获取系统SettingsProvider的默认参数

SettingsProvider中的global参数存放在settings_global.xml,secure参数存放在settings_secure.xml,system参数存放在settings_system.xml。在android12之后的系统中,data/system/users/0目录下的settings_global.xml,settings_secure.xml,settings_system.xml这些文件打开查看到的是乱码。下面介绍获取SettingsProvider的默认参数的方法。

2024-06-24 12:10:03 713

原创 Android设备断电开机后系统设置的选项状态不保存问题

跟踪状态值保存的文件,data/system/users/0目录下的文件settings_global.xml,settings_secure.xml,settings_system.xml这些文件里面的值都是有更改到的。查看了当前data分区的格式为f2fs,这种格式的文件系统写入后不会立马同步,这可能是导致断电设置状态不保存的原因。不带电池的Android设备,设置系统选项以后,断电开机,关机前设置的状态不会保存,又变成了设置前的状态。如果不断电关机,而是软重启,则重启前设置的状态是可以保存的。

2024-06-24 12:06:38 699 1

原创 Rockchip平台Android12 去掉rk相关app修改

2.找到device/rockchip/common/modules/rockchip_apps.mk,这个文件就是控制vendor/rockchip/common/apps所有app是否编译的总makefile。修改这个文件,将需要去掉的app名称删掉即可。在rockchip android12以前的版本中如果要去掉rockchip相关的一些app,修改vendor/rockchip/common/apps下面的apps.mk,将对应app名称去掉即可。对于这个问题需要怎么解决呢?

2024-06-24 12:03:52 541

原创 Android13替换壁纸后系统图标控件的颜色发生变化问题

如果需要修改系统关闭这个特性,只需要找到系统源码frameworks/base/packages/SystemUI/res/values/flags.xml中的flag_monet,将值改成false即可。这个时候系统的有些图标,比如系统设置图标也会变成暖色调图标,另外还有一些开关控件的颜色也发生了变化。这个是Android12系统版本以后添加的新特性,这个特性叫monet(莫耐)的功能。可以从壁纸中获取颜色,并根据获取的颜色调整整个系统的主题颜色,包括快捷设置、通知,还有设置菜单中的按钮和滑条等。

2024-06-24 11:59:46 984

原创 Android12修改蓝牙打开后状态栏显示蓝牙图标

Android12系统以后,打开蓝牙的时候,状态栏上面是没有蓝牙图标显示的,只有当蓝牙连接到了设备,状态栏才会显示蓝牙已连接的图标。如果要让状态在蓝牙打开后也有图标,我们需要修改一下frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java中的private final void updateBluetooth()函数,具体修改如下:上面代码中当mBluetoot

2024-06-24 11:56:49 1036

原创 i2c tp做双屏异触问题

如果使用相同触摸i2c的触摸屏,则需要拷贝一份驱动,然后把相应的驱动名称以及驱动的相关函数改一下即可,如是gt9xx,可以在驱动名称以及驱动函数中将gt9xx改为gt9xx_2。edp对应的触摸分辨率却是不对的。android主板带两个i2c tp接口,现在需要点两个不一样分辨率的屏,一个1920x1080 lvds(主屏),一个1366x768 edp(副屏),每个屏都是带有i2c触摸屏的,而且以及按对应的分辨率调好了。如下面代码为将触摸名称gt9xx的触摸配置为主触摸,其他的为副触摸。

2024-06-22 11:47:29 343

原创 android12修改系统强制应用跟着屏幕显示方向显示

android系统中,当系统默认为横屏的时候,打开一些竖屏应用,系统会跟着变成竖屏显示。如果要强制应用跟随屏幕显示方向显示,需要做什么修改呢?

2024-06-21 19:58:11 622

原创 gpio模拟pwm用于控制led灯亮度

使用cpu普通gpio口模拟pwm信号,控制led灯开关和调节亮度

2024-06-21 19:54:03 812

谷歌tts中文语音数据包适用android13系统

适用android13系统的谷歌tts中文语音数据包

2024-08-20

android13 4G ddr修改显示8G容量大小

4G ddr android12 的板子作假显示显示8G容量大小

2024-08-20

rk android12以上平台串口gps库文件

rockchip android12以上平台串口gps库文件

2024-08-19

64位tinycap,tinymix,tinypcminfo,tinyplay工具文件 用于android linux音频调试

64位tinycap,tinymix,tinypcminfo,tinyplay工具文件。 用于android linux音频调试

2024-06-25

空空如也

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

TA关注的人

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