android
文章平均质量分 86
ansondroider
不积跬步,无以至千里;不积小流,无以成江海。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AI: Android 运行ONNX模型
本文介绍了在Android平台上运行ONNX模型的五种实现方案,包括ONNX Runtime、TensorFlow Lite、PyTorch Mobile、MNN和NCNN框架。重点阐述了ONNX Runtime的集成方法,包括依赖引入、模型加载、数据预处理、推理执行和结果解析等关键步骤。以YOLOv8模型为例,演示了多输入/输出节点的处理方式,并提供了硬件加速优化建议。本文为移动端AI部署提供了实用的技术选型参考和实现.原创 2025-09-16 23:35:45 · 1905 阅读 · 0 评论 -
vlc-android: 编译自己的libvlc
本文介绍了VLC媒体播放器Android版的编译与使用。VLC支持多种多媒体格式和流媒体协议,兼容Android 4.2及以上版本及多种硬件架构。编译环境需配置Ubuntu 22.04、NDK 27等工具,编译过程中可能遇到CMake版本过旧、文件缺失等问题,文中提供了相应解决方案。最终生成aar文件后,可通过简单代码实现H264视频播放功能,示例包含XML布局和Java播放器实现代码。原创 2025-08-21 22:34:53 · 1152 阅读 · 0 评论 -
OpenCV 4.10.0 移植 - Android
本文介绍了如何在Ubuntu环境下为Android平台编译OpenCV 4.10.0 SDK,并集成到Android Studio项目中。文章提供了两种编译方法:使用Python脚本或传统Make工具,详细说明了环境配置和编译参数设置,包括NDK路径、ABI类型选择等关键配置。编译完成后,SDK目录将包含native库和Java绑定文件。最后讲解了如何将编译好的OpenCV模块导入Android Studio项目,通过在settings.gradle中添加模块路径并在app模块中添加依赖来实现。原创 2025-07-10 11:36:55 · 811 阅读 · 0 评论 -
Android OpenGLES 360全景图片渲染(球体内部)
360度全景图是一种虚拟现实技术,它通过对现实场景进行多角度拍摄后,利用计算机软件将这些照片拼接成一个完整的全景图像。这种技术能够让观看者在虚拟环境中以交互的方式查看整个周围环境,就好像他们真的站在那个位置一样。在Android设备上查看360度全景图片,可以使用一些专门的app, 不如Google相册, Google 街景, 第三方的全景图片查看应用。这些应用程序能够识别并以交互方式展示360度全景图像,让用户可以旋转、缩放和平移来探索整个场景。360全景图片渲染可以使用openGLES来轻松实现.原创 2025-03-31 17:31:33 · 693 阅读 · 0 评论 -
Android GLSurfaceView 覆盖其它控件问题 (RK平台)
使用GLSurfaceView播放视频的过程中, 增加了一个播放控制面板, 覆盖在视频上方. 默认隐藏`setVisibility(View.INVISIBLE);`点击屏幕再显示出来. 然而, 在**RK3566**上这个简单的功能却无法正常工作.原创 2025-01-23 16:53:59 · 995 阅读 · 0 评论 -
Android 调用系统服务接口获取屏幕投影(需要android.uid.system)
借助 Android 5(API 级别 21)中引入的 android.media.projectionAPI,您可以将设备屏幕中的内容截取为可播放、录制或投屏到其他设备(如电视)的媒体流。Android 14(API 级别 34)引入了应用屏幕共享功能,让用户能够分享单个应用窗口(而非整个设备屏幕),无论窗口模式如何。应用屏幕共享功能会将状态栏、导航栏、通知和其他系统界面元素从共享显示屏中排除,即使应用屏幕共享功能用于全屏截取应用也是如此。系统只会分享所选应用的内容。原创 2025-01-14 17:20:07 · 1130 阅读 · 0 评论 -
Android 蓝牙开发-传输数据
传统蓝牙是通过建立来进行通信的,类似于socket通信,一台设备需要开放服务器套接字并处于listen状态,而另一台设备使用服务器的MAC地址发起连接。连接建立后,服务器和客户端就都通过对BluetoothSocket进行读写操作来进行通信。原创 2024-12-23 11:46:39 · 1099 阅读 · 0 评论 -
Android 开发者选项-模拟辅助显示设备
在Android开发中,模拟辅助显示设备通常指的是通过Android开发者选项来设置的一种虚拟显示设备,它允许开发者在一个设备上模拟另一个设备的显示特性。这种功能对于测试应用程序在不同屏幕尺寸、分辨率和DPI(每英寸点数)下的表现非常有用。另一个作用是, 它可以通过特定的开发技巧和功能来充当副屏,实现多屏显示的效果。这种功能在开发测试、多任务处理以及特定应用场景(如车载系统)中非常有用。原创 2024-12-11 14:36:36 · 3446 阅读 · 0 评论 -
Android 使用OpenGLES + MediaPlayer 获取视频截图
获取视频缩略图的方法: ContentResolver, MediaMetadataRetriever, ThumbnailUtils:几种方法存在一定的局限性, 比如, ContentResolver需要视频文件已经通过mediascanner 添加到系统数据库中, 使用MediaMetadataRetriever不支持某些格式等等. 常规的格式比如MP4, MKV, 这些接口还是很实用的. 为了丰富接口本文尝试使用MediaPlayer + OpenGLES来获取视频缩略图原创 2024-11-30 17:16:32 · 1862 阅读 · 0 评论 -
android:taskAffinity 对Activity退出时跳转的影响
在 Android 开发中,任务栈(Task)是一个核心概念。它决定了应用程序的 Activity 如何相互交互以及在后台运行时的行为。是 Activity 的一个属性,它直接影响 Activity 在任务栈中的组织方式。通常,是AndroidManifest.xml 中的一个属性,用于定义 Activity 所属的任务栈的“亲和性”。每个应用程序默认有一个任务栈,且应用内所有的 Activity 默认共享同一个。通过为不同的 Activity 定义不同的,可以控制它们被分配到不同的任务栈中。原创 2024-11-18 16:09:52 · 1164 阅读 · 0 评论 -
Android 图片相识度比较(pHash)
在 Android 中,要比对两张Bitmap图片的相似度,常见的方法有基于像素差异直方图比较、或者使用一些更高级的算法如SSIM(结构相似性)和感知哈希(pHash)。原创 2024-10-20 23:54:57 · 1611 阅读 · 0 评论 -
Android MediaPlayer + GLSurfaceView 播放视频
在Android开发中,使用OpenGL ES来渲染视频是一种常见的需求,尤其是在需要实现自定义的视频播放界面或者视频特效时。结合MediaPlayer,我们可以实现一个功能强大的视频播放器。以下是一个简单的示例,展示如何在Android应用中使用OpenGL ES和MediaPlayer播放本地视频。原创 2024-09-16 19:09:48 · 3010 阅读 · 1 评论 -
RK3568 Android 11 蓝牙BluetoothA2dpSink 获取用于生成频谱的PCM
音乐频谱是声音频率的分布图。声音是由不同频率的声波组成的,这些声波的振幅(强度)不同,就形成了不同的音色。频谱图就是将这些频率和振幅的关系用图形表示出来。RK3568 Android 11 中, 如何在A2dpSink中获取用于生成音频频谱的PCM数据原创 2024-08-28 16:26:10 · 2123 阅读 · 1 评论 -
Android TableLayout中TextView文本不居中问题
使用TableLayout布局电话的拨号按键界面, 开发过程的某次修改后, TextView在垂直方向的居中失效了, 即使设置了gravity 为center属性也不行原创 2024-08-21 15:03:30 · 1127 阅读 · 0 评论 -
Android AOSP 编译并烧录到Google Pixel4XL
AOSP(Android Open Source Project)是Android系统的开源版本,任何人都可以下载、编译和修改。手头上有一台Pixel 4XL,尝试编译AOSP并将其烧录到的设备上。原创 2024-06-24 23:14:21 · 1676 阅读 · 0 评论 -
Android ListView鼠标模式下ListView回滚问题
在 Android 应用程序中,ListView 是一种常用的控件,用于显示可滚动列表数据。然而,当在鼠标操作模式下使用 ListView 时,可能会遇到一个问题:点击列表项时,列表会回滚到指定位置,这可能会导致用户体验不佳。原创 2024-05-26 17:32:16 · 449 阅读 · 0 评论 -
Android 11 裁剪系统显示区域(适配异形屏)
在显示技术中,"OverScan"(超扫描)是一种调整显示图像边界的技术。通常情况下,OverScan 会在显示屏的边缘周围裁剪一小部分图像。这种裁剪是为了确保显示内容在屏幕上的完整可见性,尤其是在老式电视或投影仪等设备上,可能存在图像边缘出现失真或过多噪点的问题。OverScan 通过裁剪图像边缘,可以隐藏显示器边缘的任何不完美之处,例如边缘上的噪点、失真或黑边。这有助于确保图像在屏幕上的边缘部分看起来整洁且不受干扰,提供更好的观看体验。原创 2024-04-27 11:23:57 · 3840 阅读 · 2 评论 -
Android 7.1 允许应用访问该USB设备弹窗
Android的USB开发, 经常碰到权限的问题, 比如, 本文所提及的一类弹窗: 允许应用”XXX应用”访问该USB设备吗?在RK3128 android 7.1的平台上, 碰到的问题是, 勾选了: 默认情况下使用该USB设备 后, 每次拔插USB 设备, 弹窗还是会出现原创 2024-02-28 09:40:25 · 3455 阅读 · 0 评论 -
Android使用ScrollView导致鼠标点击事件无效
Android中, 添加到ScrollView中的控件, 在使用鼠标作为输入设备时, 某些特定的条件下, 子控件的点击事件无效原创 2024-02-01 16:11:45 · 1602 阅读 · 0 评论 -
Android12 WIFI 无法提供互联网连接
ConnectivityService是Android系统中负责处理网络连接的服务之一。它负责管理设备的网络连接状态,包括Wi-Fi、移动数据、蓝牙等。Android12 中的Wifi连接, 单无法提供互联网连接修改记录原创 2023-12-05 16:29:03 · 2806 阅读 · 1 评论 -
Android 12 打开网络ADB并禁用USB连接ADB
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作,例如安装和调试应用。adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。尝试修改adb显示名称, 单独打开网络调试.原创 2023-11-27 13:49:55 · 3284 阅读 · 0 评论 -
Android 12 客制化修改初探-Launcher/Settings/Bootanimation
Android12 使用 Material You 打造的全新系统界面,富有表现力、活力和个性。使用重新设计的微件、AppSearch、游戏模式和新的编解码器扩展您的应用。支持隐私信息中心和大致位置等新的保护功能。使用富媒体内容插入功能、更简便的模糊处理功能、经过改进的原生调试功能等提高工作效率.本文用于记录一些基于RK3588 Android12 的客制化修改内容原创 2023-11-15 18:41:36 · 1776 阅读 · 0 评论 -
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 · 2910 阅读 · 0 评论 -
Android EditText setTranslationY导致输入法覆盖问题
输入框使用了setTranslationY() 位置偏移后, 输入法无法正确获取焦点的位置。原创 2023-09-09 15:47:35 · 776 阅读 · 0 评论 -
Android 从LibVLC-android到自编译ijkplayer播放H265 RTSP
从LibVLC-android 到 使用ijkplayer 替换的过程。ijkplayer官方的描述就简单的一句话,但丝毫都不影响它的强大。可以用来替换系统的播放组件,支持RTSP等在线格式原创 2023-08-01 22:07:14 · 2940 阅读 · 0 评论 -
Android TvSettings Bug: 密码框无法点击唤起输入法
Android 10 的Box方案, 默认使用的是TvSettings作为系统设置,输入操作的习惯上是使用鼠标,键盘,遥控,日常的场景是没有问题,也不会出现本文中提及的问题。当外接的USB触摸屏后,出现无法点击WIFI密码框换出输入法进行输入密码操作。从图1开始添加WIFI,并准备输入密码时,外接的USB触摸屏没有办法点击唤起输入法。原创 2023-07-14 15:23:02 · 1664 阅读 · 0 评论 -
Ubuntu 编译 OpenCV SDK for Android + Linux
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。OpenCV 还提供了机器学习模块,你可以使用正态贝叶斯、K最近邻、支持向量机、决策树、随机森林、人工神经网络等机器学习算法。通过源码编译可供LINUX、Android使用的SDK原创 2023-07-03 17:39:40 · 1223 阅读 · 1 评论 -
Android 全局黑白化-模拟颜色空间
在一些特殊的日子,如默哀日、灾难日,纪念日,哀悼日等,许多的APP、网页、海报等都开始使用黑白色主题。Android 的全局黑白实现方案,可以考虑使用模拟颜色空间的方法。借助硬件加速渲染选项,您可以利用基于硬件的选项(如 GPU、硬件层和多重采样抗锯齿 (MSAA)针对目标硬件平台优化应用。点按模拟颜色空间可以更改整个设备界面的配色方案。此设置下面的选项是指色盲类型。已停用(无模拟配色方案)全色盲(配色方案限于黑色、白色和灰色)原创 2023-06-17 21:26:20 · 2089 阅读 · 0 评论 -
AI-新手玩转RKNN
RKNN 是 Rockchip npu 平台使用的模型类型,以.rknn后缀结尾的模型文件。Rockchip 提供了完整了模型转换 Python 工具,方便用户将自主研发的算法模型转换成 RKNN 模型,同时 Rockchip 也提供了C/C++和Python API 接口。原创 2023-05-27 15:34:32 · 9307 阅读 · 0 评论 -
Android RenderScript 浅谈
RenderScript是一个Google出品的,在Android平台上的并行计算框架,官方的简介是说RenderScript运行时可在设备上提供的多个处理器(如多核 CPU 和 GPU)间并行调度工作。在日常Android开发中,RenderScript主要用于图像处理。比如对图片做高斯模糊等,都可以用RenderScript处理。原创 2023-04-02 19:46:43 · 2012 阅读 · 0 评论 -
Android Activity中捕获KEYCODE_DPAD_CENTER按键
Activity可以正捕获到按键的down和up事件, 当输入DPAD_CENTER按键是后,只接收到了一次ACTION_UP, 且Activity后续onKeyDown、onKeyUp都没有监听到按键进来。原创 2023-03-13 12:33:32 · 1711 阅读 · 1 评论 -
Android 11 旧版本兼容修改:TelephonyManager的getDeviceId和getSubscriberId; WifiManager.setWifiEnabled
随着Android的更新,越新的版本收紧的权限越来越多,伴随着很多曾经可用的接口慢慢地出现了问题。原创 2023-02-15 09:49:31 · 3846 阅读 · 0 评论 -
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
Android 11 SystemUI1. 状态栏下拉时图标的隐藏2. 通知面板的半透黑色背景原创 2023-02-01 21:06:38 · 3536 阅读 · 0 评论 -
Android 11 SystemUI(状态/导航栏)-图标按键的深浅色
自 Android 5.0 版本,Android 带来了沉浸式系统 bar(状态栏和导航栏),Android 的视觉效果进一步提高,各大 app 厂商也在大多数场景上使用沉浸式效果。6.0开始提供了View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR标志位,将状态栏设置为浅色模式, 清除掉这个标志, 可以恢复为深色模式.Android M如何设置状态栏图标黑白色。原创 2023-01-08 19:49:24 · 4790 阅读 · 0 评论 -
linphone android sdk 源码下载编译
前面的有写过Android 使用Linphone SDK开发SIP客户端相关的文章, 在后续的开发过程中, 为了更深入了解linphone, 便尝试下载SDK源码自行编译.关于linphone这里不作过多介绍, 可以参考前面的文章.是一个将 Liblinphone 及其依赖项捆绑为 git 子模块的项目,目的是简化整个 Liblinphone 套件的编译和打包,包括 Mediastreamer2、Belle-sip、oRTP 等。它的编译生成一个 SDK,适合创建在这些组件之上运行的应用程序。原创 2023-01-03 11:07:42 · 2530 阅读 · 0 评论 -
Android 11 的状态栏的隐藏
Android 11 的状态栏与导航栏较之前的版本有较大的差异, 在Android 7.0 SystemUI 状态/导航栏的隐藏与显示中所描述的部分内容已不再适用.比如, 自动隐藏的时间, 隐藏的动画, 较之前的版本已面目全非, 本文将对隐藏状态栏部分的内容进行一些补充.原创 2022-12-12 19:06:12 · 6782 阅读 · 4 评论 -
android WebRtc 视频通话(P2P)
android端使用WebRTC 实现P2P 语音和视频电话呼叫,无需帐户或访问互联网。 没有发现机制,没有网格化,也没有服务器。原创 2022-12-01 16:47:56 · 7344 阅读 · 5 评论 -
AndroidStudio 导入项目模块失败
导入几年前写的代码模块失败, 最后发现竟是build.gradle文件的问题原创 2022-11-18 16:42:23 · 1777 阅读 · 0 评论 -
Android 使用Linphone SDK开发SIP客户端
有了解过互联网电话服务或IM(即时消息)功能的.一般都会接触到VOIP和SIP, 实现即时通讯, 发文本消息也好话音通话也好, 甚至于视频通话.关于SIP(Session Initiation Protocol,会话初始协议)VoIP是一个广义术语,可用于描述任何互联网电话服务,从低成本的住宅服务到企业统一通信工具的复杂实现。VoIP是一个可以用来描述任何基于Internet的电话服务的术语,而SIP是一种用于大多数类型VoIP部署的通信协议.Android 使用Linphone SDK 开发SIP原创 2022-11-08 10:40:51 · 7085 阅读 · 4 评论 -
Android 离线文字转语音功能-TTS(Text To Speech)
在 Android 中,TTS全称叫做 Text to Speech,从字面就能理解它解决的问题是什么,把文本转为语音服务,意思就是你输入一段文本信息,然后Android 系统可以把这段文字播报出来。这种应用场景目前比较多是在各种语音助手APP上,很多手机系统集成商内部都有内置文本转语音服务,可以读当前页面上的文本信息。原创 2022-10-18 15:50:43 · 18756 阅读 · 1 评论
分享