
程序员日记
文章平均质量分 70
日常开发中的各种点点滴滴的积累和分享
阿迷创客
主要从事安卓设备,Soc的BSP开发相关工作,熟悉mtk(mstar)、amlogic、全志,其他还玩过rk、高通等平台,平时有空就专研专研技术,写写小作文……
展开
-
Android.mk(makefile)中几个符号的区别:=、 :=、 ?=、 +=
Andorid AOSP代码中,依旧还有大量地方在使用mk文件,今日遇上了几个常见符号=、+=、?=、:=,以免语法概念混淆,记录一下原创 2024-06-18 11:25:29 · 595 阅读 · 0 评论 -
使用Omnipeek进行Wifi/P2P抓包
工作中解决Wifi Mirracast投屏连接失败的问题时,遇到了需要抓取wifi数据包的情况,记录一下配置和使用过程。原创 2024-06-14 16:03:48 · 1310 阅读 · 1 评论 -
错误记录:调用原生TvSettings 的 com.android.tv.settings.device.storage.ResetActivity 无法启动
【代码】错误记录:第三方app调用原生TvSettings 的 com.android.tv.settings.device.storage.ResetActivity 发现无法启动,并有报错。演示AndroidManifest.xml中android:exported="true"属性的作用。原创 2024-06-13 10:33:24 · 438 阅读 · 0 评论 -
AS错误:Duplicate class kotlin.xxx.jdk8.DurationConversionsJDK8Kt found in modules kotlin-stdlib-1.8.22
解决android studio出现的错误:Duplicate class kotlin.text.jdk8.RegexExtensionsJDK8Kt found in modules kotlin-stdlib-1.8.22.jar -> kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and kotlin-stdlib-jdk8-1.6.21.jar -> kotlin-stdlib-jdk8-1.6.21 (org.j原创 2024-05-21 10:37:19 · 698 阅读 · 0 评论 -
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
JNI 技术,使得Java可以调用C/CPP编写的代码库,也是老技术了,对于不想花时间研究的同学,可以照抄本文的编译模板。AS编译C/CPP代码,有两种途径,其一是NDK配置编译,其二是cmake的配置编译,本文采用第二种,也是AS直接支持创建的方式。原创 2024-05-18 11:12:35 · 630 阅读 · 0 评论 -
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
在进行Android APP开发过程中,减少layout嵌套即可改善UI的绘制性能;而ConstraintLayout 布局的出现,直接将Layout扁平化,并且得到了UI绘制工具的很好支持,本文即介绍其用法和注意事项,看完这一篇,即可掌握使用Android的UI工具,绘制APP的方法。大家可以参考本文末尾的布局,自己练练,看看是不是一下子就掌握了呢?哈哈原创 2024-05-14 16:52:29 · 1063 阅读 · 0 评论 -
Androd SharedPreferences 存取key-value键值对的用法小结
最近在开发一个简单Launcher,点击APP按钮后,如无APP绑定,则弹出一个APP选择列表,选择后进行绑定,其中对用户所设定的APP,及可使用SharedPreferences 进行持久化存储。本文简单介绍 Androd SharedPreferences的持久化存储的简单用法,作为一个小结。原创 2024-04-27 20:40:38 · 424 阅读 · 0 评论 -
Android使用AlertDialog实现弹出菜单
最近又开始捣鼓APP,许多api , class都忘记怎么用了,楼下使用AlertDialog实现个弹出菜单,结果直接crash,查了半天,终于即将,记录一下……原创 2024-04-26 11:47:35 · 586 阅读 · 1 评论 -
C语言结构体赋值的四种方式
在阅读驱动源码中遇到了一些宏定义的结构体赋值,发现所赋值成员的个数与结构体成员个数不一致,于是乎就混乱了……这不就是总是改别人的代码,时间长了,连基础的语法也忘了,至此,就复习一下,这里总结了C语言结构体的四种赋值方式。原创 2024-02-02 11:09:52 · 5418 阅读 · 1 评论 -
【Amazon 面试题1】一个数组,里面得数出现的次数是偶数次,只有一个数出现的次数是奇数次,找出那个出现奇数次的数
【Amazon 面试题1】 一个数组,里面得数出现的次数是偶数次,只有一个数出现的次数是奇数次,找出那个出现奇数次的数原创 2022-07-14 09:36:29 · 460 阅读 · 0 评论 -
ubuntu启动emulator : /dev/kvm is not found: VT disabled in BIOS or KVM kernel module not loaded
微星B450M主板的BIOS默认居然未开启虚拟化技术,导致AOSP的emulator无法启动,本文记录错误的出现及解决办法。原创 2023-12-24 19:06:51 · 1163 阅读 · 0 评论 -
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
最近写文章,反复多次折腾AOSP代码,因通过网络repo sync aosp代码,能一次顺利下载的概率很低,以前就经常遇到,但从未总结,导致自己也要回头检索方法,所以觉得可以总结一下,涉及下载最新、各分支AOSP代码的方法,以及如何处理所遇到的同步错误及其解决方法,现分享给大家~原创 2023-12-24 01:38:01 · 4547 阅读 · 0 评论 -
使用keytool查看Android APK签名
在调试系统APP过程中,总会遇到APP无法安装的问题,很多时候,就是系统APP签名不一致,本文即介绍使用keytool查看Android APK签名的方法。原创 2023-12-23 23:55:49 · 2224 阅读 · 0 评论 -
Android Studio: 解决Gradle sync failed 错误
今天调试项目,发现新装的AS,在下载gradle的过程中,一直显示连接失败,Gradle sync failed, Connect time out,哪怕加上梯子也不行。后查了下,记录下来解决办法原创 2023-12-19 18:40:09 · 7520 阅读 · 6 评论 -
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
最近合AOSP蓝牙相关patch,涉及apps,framework等多个部分,出现了编译不过的问题,错误看得一头雾水,想起来,可以用Android Studio导入AOSP代码来进行排查,透过AS的语法提示,补全功能,问题很容易就解决了,于是记录一下,分享给大家。原创 2023-12-08 14:39:17 · 2089 阅读 · 0 评论 -
ubuntu 14.04的git 错误: gnutls_handshake() failed: Handshake failed
最近使用ubuntu14.04,搭配gitlab出现此gnutls_handshake() failed: Handshake failed问题,一直未能解决,直到找到本文的脚本,修正编译错误后,终于得以解决。记录一下,分享给大家。原创 2023-12-07 11:54:44 · 1194 阅读 · 0 评论 -
Android Selinux 问题处理笔记
对于Android的Selinux,处理Selinux问题,如果只是解决权限问题,不需要去理解那么多理论,按下面模板处理即可。但请注意,在enforce模式下,报错是不会有打印产生的,所以先要将selinux设置为Permissive才行。原创 2023-07-19 09:15:04 · 1779 阅读 · 0 评论 -
恢复消失的“Windows 照片查看器“
- 不知什么时候,“Windows 照片查看器”消失在右键菜单中……,想找个干净轻量级的图片浏览器还真不容易,所以还是想办法把它恢复吧!- 谁能告诉我,是哪个“流氓”AI最喜欢干这事……原创 2023-01-01 11:45:57 · 409 阅读 · 0 评论 -
Repo下载、编译AOSP源码:基于Ubuntu 21.04,android-12.1.0_r27
最近准备更新专栏文章,AOSP源码自然也需要进行更新了,但这次不是为最新的android 13, 而是取android 12的最新tag version: android-12.1.0_r27,这应该是市面上的主流版本。每次更新,自然也会遇到问题,所以就记录一下另外,这次我们将直接配置本地服务器,而不是通过docker,让每次执行更简单,o(@)o。原创 2022-12-31 23:11:41 · 2876 阅读 · 0 评论 -
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在编写Android 系统APP过程中,需要使用到一些SYSTEM API或Hiden API,而这些API在AS随机的SDK里面是不具备的,需要我们自己通过AOSP源码编译一份。但在AS配置引用过程中,进程遇到Build.gradle相同的配置,在一些项目中可以引用,在另外一些项目中缺又有问题,一直不明白是什么原因。但如果我们采用绝对路径的话,引用上就没有问题。但如果使用绝对路径,就意味着,每一个代码的用户,都得自己配置一次,非常麻烦,所以,本人就想到了下面的方法。原创 2022-12-30 20:56:10 · 1684 阅读 · 1 评论 -
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
Android Studio的APP开发即便使用VERSION_CODE来记录版本信息,依旧觉得麻烦,希望找到一种在编译时,自动将git commit 等版本信息无误的加入到APK中的方法,毫无疑问,这需要修改编译脚本来辅助实现,而在AS中,自然是通过gradle脚本来实现。本文及详细介绍实现的方法和步骤,以及最终的演示效果。原创 2022-11-18 10:03:48 · 1636 阅读 · 0 评论 -
给Git仓库添加.gitignore:清理、删除、排除被Git误添加的临时文件
最近维护代码过程中,发现某APP代码库里被提交了许多临时文件,而这些临时文件每次都会变化,所以导致每次修改提交时候,都会出行他们的身影,非常烦人。其原因,很明显是没有包含.gitignore文件,楼下,就介绍加上.gitignore的方法。原创 2022-11-17 12:03:19 · 2562 阅读 · 0 评论 -
Android 利用MediaPlayer实现音乐播放
本文介绍利用Android MediaPlayer实现音乐播放。原创 2022-10-27 15:03:27 · 1350 阅读 · 0 评论 -
读《趣学算法》:重开算法之门,神奇的兔子数列(斐波那契数列)
继续读《趣学算法》,这一节,读到了神奇的兔子数列,让我们将算法的改进,进行到底~。原创 2022-10-21 18:39:09 · 515 阅读 · 0 评论 -
Android P 性能优化:创建APP进程白名单,杀死白名单之外的进程
最近基于Android P的TV投影开发过程中,因系统内存相对比较紧张,在启动某些CPU、内存占用比较大的APP的时候,就需要清理一下,把能杀的都杀掉,给前台进程腾出系统资源,本文对此做个详细的介绍。原创 2022-10-19 16:53:53 · 1740 阅读 · 0 评论 -
给TV添加一个投屏热键:基于MTK9269 android 9.0
最近给TV投影仪添加了一个热键,不像之前通过HotkeyDispatcher来处理,而是直接通过PhoneWindowManager.java来发送intent,本文记录一下,同时简要描述下按键的处理流程。原创 2022-10-08 17:54:27 · 2874 阅读 · 0 评论 -
Android在rootdir根目录创建自定义目录和挂载点的方法
在制作ROM时,经常需要创建自己的根目录下的挂载点,比如本文,需要在Android的根文件系统,即ramdisk.img,系统运行时的根路径下,创建一个/factory/bin目录,如下详细介绍做法。原创 2022-09-07 18:03:18 · 3995 阅读 · 0 评论 -
安卓系统调试与优化:(一)bootchart 的配置和使用
bootchart 一般用于系统启动时间的分析,可为调试人员快速地提供一副体现CPU、IO、进程启动情况的,以时间序列展开的图表。Android 目前已将bootchart集成到源码中,只需要在系统运行时设定其标志位即可采集到启动信息,非常方便,本文即介绍其配置过程和使用方法。原创 2021-09-07 15:43:25 · 4419 阅读 · 4 评论 -
我的Android进阶修炼:安卓启动流程之init(1)
希望深入研究Android系统,却也一直找不到合适的方向,所以仿照大神做法,同样,也以1号init进程为主轴,开始修炼吧!关于init进程,将分两部分进行走读,即第一阶段和第二阶段。本文详解第一阶段源码。原创 2022-05-31 09:23:47 · 1790 阅读 · 0 评论 -
我的Android 进阶修炼(1): AOSP源码根目录结构
为了系统的学习Android,开启我的Android进阶之路,第一篇先分享下安卓AOSP源码的目录结构的概要说明。原创 2022-05-12 16:50:30 · 2548 阅读 · 0 评论 -
安装Windows Linux 子系统的方法:适用于windows 11 版本
无论是linux还是windows,从初中就开始学习安装操作系统了,WSL是windows下的Linux子系统,之前也安装过无数次了,今天重装系统,屡次安装失败,浪费不少时间,所以觉得需要记录一下。之前的印象,在添加删除程序里,把适用于Windows的Linux子系统以及虚拟化两个features手动点上就可以了,因为不久前刚刚在windows10上使用过(samba一直无法使用),这次换windows11,居然连WSL安装都无法完成,搞得郁闷,最后直奔官方文档,终于搞定,samba也正常了。...原创 2022-08-15 18:58:07 · 1824 阅读 · 1 评论 -
GitLab: Push operation timed out
建立新AOSP仓库之后,推送AOSP源码,始终提示 GitLab: Push operation timed out 错误,没法把源码推上去。原创 2022-07-21 10:33:52 · 1623 阅读 · 1 评论 -
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
AOSP 12的源码两月没有更新了,今日对其做repo sync动作,并切换到新的版本android-12.0.0_r34,结果遇到错误: fatal: 不能重置索引文件至版本 'v2.27^0'原创 2022-07-21 10:11:59 · 1489 阅读 · 0 评论 -
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
最近在做MTK Android 9.0 的投影项目,使用的是9269芯片,其中有一个功能是投影方位的设定,如正装正投、正装背投。但MTK目前软件架构上,数据耦合度还是很高,没有分离到数据分区,投影方位的设定耦合在/vendor/tvconfig/config/model/customer_1.ini文件中。而公版OTA又不支持差分升级,所以就想到了定制OTA包的方法,大致思路就是解压当前ZIP包,编辑,重新打包,签名。......原创 2022-06-23 14:27:46 · 4518 阅读 · 4 评论 -
Ubuntu22.04,AOSP编译报错: libncurses.so.5: cannot open shared object file: No such file
在更换Ubuntu22.04之后,按AOSP官方配置,依旧会出现一些编译问题,如下遇到常见的libncurses.so.5: No such file or directory问题.原创 2022-05-18 09:09:14 · 5478 阅读 · 5 评论 -
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
使用高版本Ubuntu配置了编译环境后,发现repo不可使用,Python出了一堆问题,左右尝试无果,最终通过遍历常用的Python版本,发现3.9可以用。本文即详细介绍本人在Ubuntu22.04上安装Python3.x各版本的方法,以及Repo下载AOSP源码的方法,错误处理。原创 2022-05-12 20:38:53 · 4038 阅读 · 6 评论 -
android基础:Intents 和 intent-filter 的匹配规则
好久没写APP了,关于Intent和`<intent-filter>`的匹配规则,忘了很多,索性好好读了下官方稳定,总结(翻译)如下,有相同需求的同学,看看这篇文章就差不多了。原创 2021-09-06 20:54:36 · 437 阅读 · 0 评论 -
码农之重学安卓:利用androidx.preference 快速创建一、二级设置菜单(demo)
目前android上的设置菜单,大多使用preference来构建,尤其是原生的settings,此处就依葫芦画瓢,利用 androidx.preference 做一个具有一、二级菜单的demo试试!原创 2021-06-25 15:07:16 · 1806 阅读 · 1 评论 -
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?请看本文案例,看一次,就记住了……原创 2021-09-06 13:01:08 · 1118 阅读 · 0 评论 -
基于Android P,自定义Android开机动画的方法
本文,以谷歌原文为基础,详细解释自定义安卓开机动画的方法,基于Android P原创 2021-08-11 11:46:39 · 2492 阅读 · 0 评论