- 博客(288)
- 资源 (18)
- 收藏
- 关注
原创 Android GLSurfaceView 覆盖其它控件问题 (RK平台)
使用GLSurfaceView播放视频的过程中, 增加了一个播放控制面板, 覆盖在视频上方. 默认隐藏`setVisibility(View.INVISIBLE);`点击屏幕再显示出来. 然而, 在**RK3566**上这个简单的功能却无法正常工作.
2025-01-23 16:53:59 392 1
原创 Android 调用系统服务接口获取屏幕投影(需要android.uid.system)
借助 Android 5(API 级别 21)中引入的 android.media.projectionAPI,您可以将设备屏幕中的内容截取为可播放、录制或投屏到其他设备(如电视)的媒体流。Android 14(API 级别 34)引入了应用屏幕共享功能,让用户能够分享单个应用窗口(而非整个设备屏幕),无论窗口模式如何。应用屏幕共享功能会将状态栏、导航栏、通知和其他系统界面元素从共享显示屏中排除,即使应用屏幕共享功能用于全屏截取应用也是如此。系统只会分享所选应用的内容。
2025-01-14 17:20:07 811
原创 Android 蓝牙开发-传输数据
传统蓝牙是通过建立来进行通信的,类似于socket通信,一台设备需要开放服务器套接字并处于listen状态,而另一台设备使用服务器的MAC地址发起连接。连接建立后,服务器和客户端就都通过对BluetoothSocket进行读写操作来进行通信。
2024-12-23 11:46:39 687
原创 Android 开发者选项-模拟辅助显示设备
在Android开发中,模拟辅助显示设备通常指的是通过Android开发者选项来设置的一种虚拟显示设备,它允许开发者在一个设备上模拟另一个设备的显示特性。这种功能对于测试应用程序在不同屏幕尺寸、分辨率和DPI(每英寸点数)下的表现非常有用。另一个作用是, 它可以通过特定的开发技巧和功能来充当副屏,实现多屏显示的效果。这种功能在开发测试、多任务处理以及特定应用场景(如车载系统)中非常有用。
2024-12-11 14:36:36 1327
原创 Android 使用OpenGLES + MediaPlayer 获取视频截图
获取视频缩略图的方法: ContentResolver, MediaMetadataRetriever, ThumbnailUtils:几种方法存在一定的局限性, 比如, ContentResolver需要视频文件已经通过mediascanner 添加到系统数据库中, 使用MediaMetadataRetriever不支持某些格式等等. 常规的格式比如MP4, MKV, 这些接口还是很实用的. 为了丰富接口本文尝试使用MediaPlayer + OpenGLES来获取视频缩略图
2024-11-30 17:16:32 1474
原创 android:taskAffinity 对Activity退出时跳转的影响
在 Android 开发中,任务栈(Task)是一个核心概念。它决定了应用程序的 Activity 如何相互交互以及在后台运行时的行为。是 Activity 的一个属性,它直接影响 Activity 在任务栈中的组织方式。通常,是AndroidManifest.xml 中的一个属性,用于定义 Activity 所属的任务栈的“亲和性”。每个应用程序默认有一个任务栈,且应用内所有的 Activity 默认共享同一个。通过为不同的 Activity 定义不同的,可以控制它们被分配到不同的任务栈中。
2024-11-18 16:09:52 1027
原创 Steam deck 倒腾日记 - 安装Windows软件,玩上黑神话悟空
Steam Deck以其强大的性能、丰富的游戏库和出色的操作体验,满足了大多数游戏玩家的需求。尽管续航能力有待提升,但考虑到它能带来的PC级游戏体验,这个缺点也是可以接受的. 关键他还能玩上黑神话.悟空(正版)
2024-10-30 19:48:40 1186
原创 Android 图片相识度比较(pHash)
在 Android 中,要比对两张Bitmap图片的相似度,常见的方法有基于像素差异直方图比较、或者使用一些更高级的算法如SSIM(结构相似性)和感知哈希(pHash)。
2024-10-20 23:54:57 1025
原创 嘉楠科技AI芯片K230-初探
K230芯片是嘉楠科技 Kendryte®系列AIoT芯片中的最新一代SoC产品。该芯片采用全新的多异构单元加速计算架构,集成了2个RISC-V高能效计算核心,内置新一代KPU(Knowledge Process Unit)智能计算单元,具备多精度AI算力,广泛支持通用的AI计算框架,部分典型网络的利用率超过了70%。
2024-09-30 20:56:50 2365
原创 Android MediaPlayer + GLSurfaceView 播放视频
在Android开发中,使用OpenGL ES来渲染视频是一种常见的需求,尤其是在需要实现自定义的视频播放界面或者视频特效时。结合MediaPlayer,我们可以实现一个功能强大的视频播放器。以下是一个简单的示例,展示如何在Android应用中使用OpenGL ES和MediaPlayer播放本地视频。
2024-09-16 19:09:48 2459 1
原创 RK3568 Android 11 蓝牙BluetoothA2dpSink 获取用于生成频谱的PCM
音乐频谱是声音频率的分布图。声音是由不同频率的声波组成的,这些声波的振幅(强度)不同,就形成了不同的音色。频谱图就是将这些频率和振幅的关系用图形表示出来。RK3568 Android 11 中, 如何在A2dpSink中获取用于生成音频频谱的PCM数据
2024-08-28 16:26:10 1344 1
原创 Android TableLayout中TextView文本不居中问题
使用TableLayout布局电话的拨号按键界面, 开发过程的某次修改后, TextView在垂直方向的居中失效了, 即使设置了gravity 为center属性也不行
2024-08-21 15:03:30 844
原创 CMake 使用 OpenCV:从库中查找包含头文件
在开发使用 OpenCV 的项目时,正确配置 CMake 是确保项目顺利构建和运行的关键。开发过程经常存在各种各样的意外和偶然, 是困难也是收获! 记录一次找不到头文件的经历
2024-07-25 17:40:46 1255 1
原创 RK3588 linux RGA初探
RGA(Raster Graphic Acceleration Unit)是一个独立的2D硬件加速器,可用于加速点/线绘制,执行图像缩放、旋转、bitBlt、alpha混合等常见的2D图形操作。
2024-07-08 18:16:51 3384
原创 Android AOSP 编译并烧录到Google Pixel4XL
AOSP(Android Open Source Project)是Android系统的开源版本,任何人都可以下载、编译和修改。手头上有一台Pixel 4XL,尝试编译AOSP并将其烧录到的设备上。
2024-06-24 23:14:21 1121
原创 Android 11 低电量自动关机失效
基于RK3568 Android 11 系统开发过程中, 移植了电源和电池相关的驱动后, 测试发现低电自动关机的功能失效了, 基于源码SDK排查问题过程记录
2024-06-08 21:27:47 1115
原创 Android ListView鼠标模式下ListView回滚问题
在 Android 应用程序中,ListView 是一种常用的控件,用于显示可滚动列表数据。然而,当在鼠标操作模式下使用 ListView 时,可能会遇到一个问题:点击列表项时,列表会回滚到指定位置,这可能会导致用户体验不佳。
2024-05-26 17:32:16 387
原创 Android 的 Timer 和 TimerTask
Timer 是 Java 中用于创建定时任务的类。它位于 `java.util` 包中。可以使用 Timer 来安排一次性或定期执行的任务。每个 Timer 对象都对应一个后台线程。此线程负责从任务队列中检索任务并按计划执行它们。
2024-05-09 20:58:44 1910
原创 Android 11 裁剪系统显示区域(适配异形屏)
在显示技术中,"OverScan"(超扫描)是一种调整显示图像边界的技术。通常情况下,OverScan 会在显示屏的边缘周围裁剪一小部分图像。这种裁剪是为了确保显示内容在屏幕上的完整可见性,尤其是在老式电视或投影仪等设备上,可能存在图像边缘出现失真或过多噪点的问题。OverScan 通过裁剪图像边缘,可以隐藏显示器边缘的任何不完美之处,例如边缘上的噪点、失真或黑边。这有助于确保图像在屏幕上的边缘部分看起来整洁且不受干扰,提供更好的观看体验。
2024-04-27 11:23:57 2327 2
原创 RK3588 linux 修改ulimit 配置
ulimit内核文件的大小限制进程数据块的大小限制Shell进程创建文件大小限制可加锁内存大小限制常驻内存集的大小限制打开文件句柄数限制分配堆栈的最大大小限制CPU占用时间限制用户最大可用的进程数限制Shell进程所能使用的最大虚拟内存限源于一次粗心大意, 编写的程序忘记了关闭打开的文件, 导致文件打开失败, 失败的原因是打开的文件太多
2024-04-17 19:05:35 1109 1
原创 Linux repo基本用法: 搭建自己的repo仓库[服务端]
Repo 是在 Git 之上构建的工具,用于大规模分布式开发环境中的多仓库协同管理。特别是那些包含了大量相互依赖的子模块或者子项目的工程,如 Android 开源项目 (AOSP)。Repo 可以简化对这些子仓库的初始化、同步、分支管理、提交以及推送等操作。它通过 manifest 文件来描述所有子项目的配置和依赖关系,从而提供了一种在顶层统一管理多个 Git 仓库的方法。
2024-03-28 11:20:49 2123
原创 RK3588 Buildroot 增加本地模块(单独编译/加入系统配置)
在RK3588开发板环境下,开发者通常利用Buildroot来定制适合RK3588芯片特性的嵌入式Linux系统。通过Buildroot,开发者能够根据实际需求裁剪系统组件、添加特定驱动、配置内核特性,并集成用户应用程序,最终生成最小化且高效的Bootloader、Linux内核镜像、根文件系统镜像(例如rootfs.ext2或 squashfs格式)以及其他必要的启动和系统配置文件。本文的小目标: 增加本地自定义软件模块!
2024-03-18 20:26:44 2625 1
原创 Android 7.1 允许应用访问该USB设备弹窗
Android的USB开发, 经常碰到权限的问题, 比如, 本文所提及的一类弹窗: 允许应用”XXX应用”访问该USB设备吗?在RK3128 android 7.1的平台上, 碰到的问题是, 勾选了: 默认情况下使用该USB设备 后, 每次拔插USB 设备, 弹窗还是会出现
2024-02-28 09:40:25 2526
原创 Android使用ScrollView导致鼠标点击事件无效
Android中, 添加到ScrollView中的控件, 在使用鼠标作为输入设备时, 某些特定的条件下, 子控件的点击事件无效
2024-02-01 16:11:45 1356
原创 系统随身带:将Ubuntu20.04装进移动硬盘
通过将Ubuntu安装到移动硬盘上,可以摆脱对特定计算机的依赖,无论何时何地,只需携带移动硬盘,即可享受完整的Ubuntu体验。这提供了更大的灵活性,无论是在工作、学习还是娱乐方面。办公室一台旧的台式机, 使用的是机械硬盘, 运行速度受限于读写性能, 于是决定购买一个固态移动硬盘, 把系统安装到固态硬盘中来提升运行速度.
2024-01-24 16:30:26 2776
原创 Ubuntu使用QtCreator + CMake 开发C/C++程序
记录QtCreate + CMake 开发 C/C++ 程序过程的一些问题:1. undefined reference to `xxx'2. linker input file unused because linking not done
2024-01-17 09:44:27 1840
原创 制作RK3568 ubuntu20.04桌面版镜像
RK3568 是一款强大的处理器,适用于多种应用场景。它支持 Ubuntu 操作系统,为开发人员提供了更大的灵活性和选择空间。通过下载官方的基础镜像包制作适用于RK3568的ubuntu系统镜像包.
2023-12-18 15:42:12 3597 7
原创 Android12 WIFI 无法提供互联网连接
ConnectivityService是Android系统中负责处理网络连接的服务之一。它负责管理设备的网络连接状态,包括Wi-Fi、移动数据、蓝牙等。Android12 中的Wifi连接, 单无法提供互联网连接修改记录
2023-12-05 16:29:03 2026 1
原创 Android 12 打开网络ADB并禁用USB连接ADB
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作,例如安装和调试应用。adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。尝试修改adb显示名称, 单独打开网络调试.
2023-11-27 13:49:55 2105
原创 Android 12 客制化修改初探-Launcher/Settings/Bootanimation
Android12 使用 Material You 打造的全新系统界面,富有表现力、活力和个性。使用重新设计的微件、AppSearch、游戏模式和新的编解码器扩展您的应用。支持隐私信息中心和大致位置等新的保护功能。使用富媒体内容插入功能、更简便的模糊处理功能、经过改进的原生调试功能等提高工作效率.本文用于记录一些基于RK3588 Android12 的客制化修改内容
2023-11-15 18:41:36 1324
原创 Android Gradle 命令打包AAR
Android Archive (AAR) 文件是一种特定于Android的存档文件格式,用于将Android库和资源打包成单个可重用的单元。生成的AAR文件将位于your-library-project/build/outputs/aar/目录中,其中your-library-project是你的库项目的目录名。首先,创建一个Android库项目,该项目将包含你的库代码和资源。你可以使用Android Studio创建项目,或者手动创建一个包含build.gradle文件的项目目录。
2023-10-13 17:06:03 2185
原创 Ubuntu Qt 5.15.2 支持 aarch64
AArch64是ARMv8 架构的一种执行状态。为了更广泛地向企业领域推进,需要引入64 位构架。同时也需要在ARMv8 架构中引入新的AArch64 执行状态。AArch64 不是一个单纯的32 位ARM 构架扩展,而是ARMv8 内全新的构架,完全使用全新的A64 指令集。QT不需要过多的介绍,跨平台的开发框架,支持各种桌面程序开发,LINUX、Windows、Android、IOS…在前面尝试过让buildroot支持QT, 在Ubuntu上安装Qt并开发Android程序。
2023-09-26 15:35:25 1465 1
原创 Android EditText setTranslationY导致输入法覆盖问题
输入框使用了setTranslationY() 位置偏移后, 输入法无法正确获取焦点的位置。
2023-09-09 15:47:35 647
原创 ubuntu 如何命令行打开系统设置(Wifi,网络,应用程序...)
GNOME 它是 GNU 项目的一部分,旨在为 Linux 操作系统提供一个现代化、易于使用的用户界面。GNOME 桌面环境包括许多应用程序,例如文件管理器、文本编辑器、终端模拟器、图形图像处理程序、网络浏览器等。GNOME 以其简单、易于使用和灵活的界面而闻名,使得用户能够快速轻松地完成各种任务。除此之外,GNOME 还提供了一些高级功能,例如桌面搜索、桌面效果、通知系统、桌面小部件和面板等。总的来说,GNOME 是一款功能强大、易于使用和灵活的桌面环境,让用户能够以自己的方式管理和使用计算机。
2023-08-09 10:55:08 3854 1
原创 Android 从LibVLC-android到自编译ijkplayer播放H265 RTSP
从LibVLC-android 到 使用ijkplayer 替换的过程。ijkplayer官方的描述就简单的一句话,但丝毫都不影响它的强大。可以用来替换系统的播放组件,支持RTSP等在线格式
2023-08-01 22:07:14 2358 1
原创 Android TvSettings Bug: 密码框无法点击唤起输入法
Android 10 的Box方案, 默认使用的是TvSettings作为系统设置,输入操作的习惯上是使用鼠标,键盘,遥控,日常的场景是没有问题,也不会出现本文中提及的问题。当外接的USB触摸屏后,出现无法点击WIFI密码框换出输入法进行输入密码操作。从图1开始添加WIFI,并准备输入密码时,外接的USB触摸屏没有办法点击唤起输入法。
2023-07-14 15:23:02 1446
原创 Ubuntu 编译 OpenCV SDK for Android + Linux
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。OpenCV 还提供了机器学习模块,你可以使用正态贝叶斯、K最近邻、支持向量机、决策树、随机森林、人工神经网络等机器学习算法。通过源码编译可供LINUX、Android使用的SDK
2023-07-03 17:39:40 1084 1
原创 Android 全局黑白化-模拟颜色空间
在一些特殊的日子,如默哀日、灾难日,纪念日,哀悼日等,许多的APP、网页、海报等都开始使用黑白色主题。Android 的全局黑白实现方案,可以考虑使用模拟颜色空间的方法。借助硬件加速渲染选项,您可以利用基于硬件的选项(如 GPU、硬件层和多重采样抗锯齿 (MSAA)针对目标硬件平台优化应用。点按模拟颜色空间可以更改整个设备界面的配色方案。此设置下面的选项是指色盲类型。已停用(无模拟配色方案)全色盲(配色方案限于黑色、白色和灰色)
2023-06-17 21:26:20 1451
原创 Ubuntu 20.04 Apache2 增加不同端口站点
(简称Apache)是Apache软件基金会的一个开放源码的网页服务器软件,可以在大多数电脑操作系统中运行。由于其跨平台和安全性[注 1],被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。装好apache2后,默认会有一个80端口的默认站点,可以通过浏览器访问localhost, 在此基础上,如何增加一个9501端口的站点?
2023-06-08 16:15:38 1356
RK3568 Android 11 蓝牙A2DP SINK 补丁
2024-08-29
Android WebRTC 的一些资料
2022-12-01
libamrwb_decoder.zip
2021-04-09
Android TensorFlow Lite 初探 数字分类器
2020-11-09
live.2018.01.29.tar.gz|live.2018.01.29.tar.gz
2020-10-29
Launcher3_removeSearchBar.tar.gz
2020-09-03
usb_camera_no_sound.tar.gz
2020-07-23
no_sound_usb_camera_boot.tar.gz
2020-07-21
linker_patch.tar.gz
2020-06-23
rk3288 android 9.0 linker
2020-06-23
frameworks_rotateExternalScreen.tar.gz
2020-06-17
debug_wm_freeform_display_error.tar.gz
2020-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人