- 博客(59)
- 收藏
- 关注
原创 AOSP编译(项目整编、模块编译、其他补充)
本文详细介绍了Android开源项目(AOSP)的编译方法,包括整编和模块编译两种方式。整编部分讲解了标准AOSP编译系统(make命令)和厂商自定义编译系统(如./mk项目名)。模块编译方面重点阐述了基本原理、判断方法和具体操作步骤(mm/mmm命令),并以Settings和SystemUI为例进行说明。文章还详细介绍了adb install/push的使用场景和区别,分析了Android.mk和Android.bp文件的编写要点,以及设备解锁的必要性和具体操作流程。最后补充了MTK平台和特定项目的模块编
2025-06-30 14:51:40
2055
原创 Android Preference浅析(设置Setting)
文章围绕 Android 中的 Preference 展开。先谈及作者接触经历,随后介绍其概念,是管理应用设置的框架组件。接着阐述其用途,如简化开发、确保代码清晰、数据持久化等。还列举常见类型及相关属性。在布局与样式定制方面,可自定义布局、修改样式。数据存储读取依靠 SharedPreferences,要注意异常处理。Preference 与用户交互逻辑涉及值改变监听、点击事件处理等,最后分享了工作中遇到的 Preference 相关问题及解决办法。
2024-10-30 14:19:21
3507
原创 AOSP编译LineageOS家族(Glimpse图库为例)
本文介绍了将GitHub上的第三方APK项目集成到AOSP源码中的完整流程。主要内容包括:1)将APK项目克隆至AOSP应用目录;2)创建Android.mk或Android.bp构建文件,详细说明了两种构建系统的配置方法;3)重点解决了Glimpse项目在集成过程中遇到的问题:修复Android.bp文件中的manifest路径错误,以及实现Parcelable接口的完整方法;4)提供了完整的编译环境配置流程,从源码初始化到产品选择,再到最终编译命令。文章特别强调了在AndroidManifest.xml
2025-07-29 00:53:38
1257
原创 Android Studio安装,SDK、Gradle、模拟器、AS路径改为非C盘(Windows为例)
Android开发环境安装路径优化指南,配置Gradle SDK AVD到非C盘路径上
2025-07-29 00:51:53
3352
1
原创 Android (AOSP)连接实体键盘关闭“使用屏幕键盘”调用键盘处依然显示屏幕键盘
本文介绍了Android系统中控制虚拟键盘显示的修改方案。通过在InputMethodManager.java中添加物理键盘检测逻辑,当检测到物理键盘连接且系统设置为不显示虚拟键盘时,直接拦截showSoftInput()方法调用。方案还解释了调用链关系,并指出后续测试发现该方案仅适用于点击输入框的情况,而谷歌输入法(Gboard)可能覆盖系统设置。最后提到Pixel7已经移除了系统设置中的虚拟键盘开关,暗示Google可能已意识到该问题的复杂性。
2025-07-18 16:13:51
1337
原创 Android开发工程师:Linux一条find grep命令通关搜索内容与文件
该Linux命令组合使用find和grep实现高效代码搜索:支持多格式(.java/.xml)文件搜索,可通过正则表达式同时匹配多个关键词(如activity|class)。通过-not-path排除指定目录(如./out),-typef确保只搜索文件。grep提供-i(不区分大小写)、-n(显示行号)和-E(扩展正则)等参数。典型用法包括:1)多关键词搜索,2)单格式文件搜索,3)多目录排除(如./out和./build)。示例展示了如何搜索特定类名或布局,同时灵活控制搜索范围和文件类型。
2025-07-18 16:08:15
544
原创 Android Studio 向模拟器手机添加照片、视频、音乐
本文介绍了三种向Android模拟器添加媒体文件的方法:1)雷电/夜神等三方模拟器可直接拖拽文件;2)高版本(API26+)原生模拟器同样支持拖拽;3)低版本原生模拟器需通过Device Explorer操作:找到对应媒体类型文件夹(Pictures/Movies/Music),右键添加文件后重启模拟器。特别提醒某些情况需在设置中重新挂载SD卡才能显示文件夹内容。操作完成后必须重启模拟器才能生效。
2025-06-03 00:10:05
1312
原创 An error occurred while preparing SDK package Android SDK XXX: Request failed with status code 429.
解决Android Studio报错:An error occurred while preparing SDK package Android SDK platform 33: Request failed with status code429.
2025-05-20 10:45:11
1791
原创 关于AOSP Settings模块客制化(一)客制化Prefence菜单
例如上述代码就规定了普通的Preference、开关Preference、PreferenceCategory的样式,那么我们在对应的样式中添加需要的即可,例如按照我们的需求我们需要去除图标、显示箭头,那么我们就单独写了一个xml,使用android:layout指向该xml即可(需要包含一些必要的控件,否则会报错,例如android.id.title、summary、widget_frame等,建议就是去framework中复制原生的preference的xml来改)
2025-04-29 16:47:15
1208
原创 Android系统开发快速寻找代码(如何在文件夹中寻找代码)
很多时候对于Android系统开发小白而言,例如预置APK,知道了APK包名不知道具体代码位置需要去寻找代码,但是Android系统代码十分庞大,如何快速准确查询代码是个问题。本人目前只探索到了一些方法,如有更有效的办法可以补充。
2023-11-12 14:22:03
2024
原创 远程设备常用工具:向日葵、Todesk
其实按理说远程工具例如向日葵、Todesk如果是计算机专业、计算机从业者是必须知道的一个东西,但是在大学期间身边知道的人是少之又少的。验证码的作用就是 如果有正确验证码可以直接远程无需对方电脑同意,反之没有验证码对方需要在电脑上点击一下同意。如果你找人帮人看BUG、调试等一般就是用这两个软件(2023年了,没人会用QQ远程)以上两个软件具体使用没什么区别,但是Todesk感觉更简约,感觉上可能更快一些。向日葵、Todesk工具的优势:方便、快捷、速度快等等我就不过多阐述了。
2023-11-03 21:30:41
1164
1
原创 Android底层摸索改BUG(二):Android系统移除预置APP
我们需要宏控制,即:在Android.mk文件中添加条件判断,A、C项目包含了这个宏且为yes值,则保留这个APK(预置这个APK),而其余的BDE不设置这个宏或者设置为no值,则不会预置这个APK(宏在项目的var.mk进行编写)其实就是上面的链接3,但是这个方法有局限性,比较适用于单个Android系统项目,直接对Android.mk中的相关APK代码进行删除,(下图来源链接3)检查out目录(编译以后,Android源码中的out目录一开始是不存在的,是在我们执行编译操作之后才由系统自动生成)
2023-10-28 15:24:05
1204
原创 Android底层摸索改BUG(一):Android系统状态栏显示不下Wifi图标
我思考了一下一直以为就是优先级问题,是不是Android底层状态栏有各个图标优先级,图标过多的时候优先级高的就不会被隐藏,而其实最后参考了公司以前相关BUG的修改,BUG意思就是:当前安卓系统状态栏图标有显示尺寸的测量,如果比如需要显示8个图标,已经在状态栏绘制不下,则显示一个点表示省略,而不希望wifi被省略。值得一提的是上面的逻辑:超出的图标隐藏、绘制、测量相关的Java类是:StatusIconContainer.Java。这是我入职的第一个BUG,头疼,隔壁实习生一周解决了,我多花了几天。
2023-10-25 20:08:00
1437
3
原创 Android期末考考前盘点(八):各类控件事件--使用内部类的更合适懵逼的考试学生方式
所以这里需要告诉大家解法,而且是我认为最方便的解法,由于本人英语也不是非常好,所以这个解法你也无需记下英文单词。TextView的点击事件(最常见考试的还是Button以及ListView点击子项item的点击事件)这个系列----Android的期末应急方案。:(其实页面中如果有很多点击事件才会使用)EditView文本框的监听事件、
2023-10-25 19:49:27
384
原创 Android Studio初学者实例:RecyclerView学习--模仿今日头条--续
这就是一个可以通俗理解为:在一个XML布局中引用、引入另一个XML的方法,例如用的APP你会发现都有头部的显示返回、显示标题、显示抽屉功能的标题栏,那么每个页面都写一次标题栏是不是太重复了,那么我们就可以把标题单独写一个XML,例如:title_bar,在需要用的界面引入即可。适配器的主要作用是根据数据源的内容,创建每个列表项或视图项,并将其显示在相应的容器中。是的,差不多,style.xml是存放在value文件夹中的,一般用于放样式,更多的用存放经常用的样式,例如一个XML中有几十行。
2023-10-21 23:08:21
2141
原创 Android Studio 直接获取Spinner的值
使用Spinner下拉框来让用户选择地区、周数(第1-12周)然后在Java文件中设置监听,用户变更选择的时候就会监听到。具体可以看上面这个博主的博文。然后参考了一下别人的文章。最近做一个小demo。
2023-10-21 22:15:43
2093
原创 Android LitePal byte[]类型字段不被创建
implementation 'org.litepal.android:3.0.0'这样好像不会被识别,会报错。如果你使用kotlin可能需要将java改成kotlin。所以看官方文档还是非常重要的,此bug我解决了2-3小时。开始运行与创建 结果发现 各个表都创建成功 唯独。在ltepal.xml中也创建了对应的实体。
2023-10-05 08:12:41
505
原创 继续给大家更新Android学习
当然比如前面的ListView 等等知识 需要补充或者不够详细需要录视频讲解 都可以评论或者私信我 有稍微空闲就补上。关于面试以及找工作后面有很空的时间再说,反正一定要在大学期间多做项目,最好是90%以上纯自己开发的项目。目前正在学习复习 Android Jetpack这块内容 以及查漏补缺。所以大家可以继续提问或者点点关注看看我的博文。已经拿到中大厂Android Offer。UP主已经是个大四生。
2023-10-05 08:01:55
274
原创 Android上架商城 隐私政策需要网页 没有怎么办
Android开发的项目上架商城的时候会需要你填写url,但其实并不需要真的去发布一个网站。下面我找到的一个隐私政策文档供大家参考。XXXXXX公司一键替换为公司。
2023-08-15 14:22:13
2152
原创 Android Sutdio 导入libs文件夹下的jar包没反应
libs文件夹下的jar包到新项目,在build.gradle文件下 使用语句并应用也没反应(jar包没有出现箭头且代码报错,找不到)然后我就直接右箭jar包想使用 Add As Library功能导入,还是一样的问题。其次 如果你也是直接在Android Studio两个项目中直接复制粘贴jar包,如果已经有了导入jar包的代码 可以注释了重新试试,或者用其他大佬的办法。请你打开两个项目的文件夹,使用复制粘贴jar包。首先发现问题:转移项目的时候 直接。有点离谱,笨笨的脑子才犯的错误。
2023-08-14 18:00:17
1377
原创 Android Studio build\build-attribution\androidGradlePluginAttributionData:该进程无法访问该文件,因为该文件正在被另一个进程使用
build\build-attribution\androidGradlePluginAttributionData:该进程无法访问该文件,因为该文件正在被另一个进程使用。附上Android Studio 安装包以及一些工具的链接 不需要翻墙下载比较快。结果发现是4.0.(某一个)版本的Android Studio 一个BUG。后面官方修复了这个BUG。
2023-08-12 00:11:15
606
原创 Android期末考考前盘点(七):SQLite(下)
这篇的话就不多说给大家直接写一段登陆注册SQLite代码,因为在考试中这个其实是最好考的,注册就是像数据表新增数据,登录就是向数据表查询数据。UsersHelper 继承SQLiteOpenHelper的自定义类。登录注册的XML文件。
2023-06-26 21:09:14
245
1
原创 Android期末考考前盘点(七):SQLite(上)
方法、onUpgrade方法,构造方法中使用super关键字,传递参数:上下文、数据库文件名、工厂(忽略它,填null)、版本(忽略它,随便填个1);SQLite也是一个非常重要的考点,但是为什么放最后面讲,事实就是难度较高,而且一般会和登陆注册、ListView结合在一起。SQLiteOpenHelper,并重写方法,快速重写的快捷键为Alt+回车,选择重写。SQLiteDatabase对象,执行增删改查,例如如下注册按钮点击操作事件。3.在需要数据操作的地方,new上面的数据类,使用。
2023-06-21 22:53:41
272
原创 Android期末考考前盘点(六):1000%用到的Intent意图
Intent意图,是个非常基础的东西,因为贯穿应用始终,例如跳转Activity、打开Service、向Activity跳转并传递数据、回传数据等等......上面的代码就是从Lindd这个Activity跳转到Zhuzhendonghua这个Actiyity。首先要知道这个Intent,是一个系统类,所以你使用时,第一件事必然是new对象。对于法一,在跳转的Activity中如何获取?对于法二,在跳转的Activity中如何获取?这里,在课堂中教过使用Bundel。
2023-06-21 22:25:23
275
原创 Android期末考考前盘点(五):100%会考的SharedPreferences存储
要论期末考试必须考的存储方式,我SQLite大哥只能排第二,而SharedPreferences必须排第一,用最少的代码量做到最基础最必要的功能----SharedPreferences(以下简称SP)只需要记住两段代码,读取数据与保存数据。Editor这个东东,而进入界面读取数据的则是使用的SP读取数据代码,不需要这个东东。显而易见在登录代码中,使用的就是SP的保存数据代码,需要用到。接下来可以看一个简单的实例,界面使用的是之前实验的界面。打开看看吧:可以看到键值对存储的形式。
2023-06-21 16:29:30
355
原创 Android期末考考前盘点(二):期末必须会的基础控件
本期主要是面对期末考的同学,因为如果是大作业形式,可以看书、翻看资料、在网上查看资料复制代码,所以本期带来的是------期末必须会的基础控件,而从标题可以看出,本期带来的基础控件,一些稍微复杂控件例如:ListView这类必考考点会在后面的文章进行发布。
2023-06-14 11:47:52
297
原创 Android期末考考前盘点(三):学会一种布局方案应对期末(下)
首先要明白布局排列方式包括了横向(水平)与竖向(垂直),例如下图,而且该图片中很明显用到了5个控件,都是竖向(垂直)排列的所以我们用。那么我需要设置控件的属性,可以在代码中修改也可以在右侧属性中更改:例如以下我修改text文本等属性。布局,在期末中可以应对95%的界面布局情况,适合新手,且代码量不多,实现效果好。以下我快速的演示一下 做一个简单的登陆界面。
2023-06-14 09:38:53
298
原创 Android期末考考前盘点(三):学会一种布局方案应对期末(上)
在期末中,因为android需要对界面进行按设计、编写,所以必然的会需要用到布局以及组件,对于布局而言,有很多种例如:线性布局、约束布局、表格布局、帧布局等,但对于期末而言,一般并不会对布局进行要求,只需要你做出题目给出的效果或你大作业的想要效果即可。那么对于新手而言,我推荐两种布局第一种是ConstraintLayout布局(适合于非常新手,只需要拖动控件就可以达到想要的效果,但是随着手机尺寸变化等会变得很丑,且缺点也很多)新建Activity,你的默认父布局就是ConstraintLayout,无需更改
2023-06-14 09:20:20
239
原创 Android Studio初学者实例:仿网易音乐播放器
注意:检查AndroidManifest.xml文件中是否注册了Service。在res下新建raw文件夹,并在文件夹中添加喜爱的mp3音乐。本期带来的是以Service为主要的知识点的网易音乐播放器。编写主界面代码activity_main.xml。编写主界面逻辑代码MainActivity。编写MusicService。
2023-06-11 11:36:41
7255
7
原创 Android Studio初学者实例:音乐播放器与Service学习
startService与它的调用者无必然的联系,就是说当调用者结束了自己的生命周期, 但是只要不调用stopService,那么Service还是会继续运行。由于Service是Android的四大组件之一,Activity、Service等等一个重要知识点就是生命周期的问题,以下图片借鉴于W3Cschool。handler(实现音乐播放的进度条更新与图片旋转)以及用于播放音频的。用到的知识点最主要的几点是:Service、本次一个案例实现的一个简单的音乐播放器。然后就是最重要的Service组件。
2023-06-08 10:34:10
3930
2
原创 Android Studio 迁移、使用新项目遇到BUG总结(持续更新)
本篇为总结在迁移别人项目或新项目时候遇到的bug,希望能帮助到大家如有侵权 联系删除部分BUG目录。
2023-05-30 15:46:48
755
原创 Android Studio初学者实例:仿拼多多砍价页面
在D:\Tomcat\apache-tomcat-8.5.89\bin目录下找到startup.bat双击,即运行tomcat,出现一个弹窗,请勿关闭,否则访问不到,为了测试tomcat是否正确开启,可以本地访问。,可以看到页面很明显的有一个两列的列表,所以肯定是无法使用ListView的(难道你要和我杠,用两个ListView横向排列~~~),所以我们肯定采用能横向显示、能竖向显示、能瀑布流、能多行等等的。在build.gradle文件中添加第三方库(app下的build.gradle)
2023-05-25 21:09:59
9767
23
原创 Android Studio初学者实例:WebView
紧跟上期网络访问中,获取到了页面的html文件内容,那么需要显示web网页详情该如何做,使用WebView控件。在res文件夹下创建xml文件夹,并新建文件network_config.xml。在AndroidManifest.xml文件中添加语句:声明网络权限。并还需要返回到AndroidManifest.xml,添加一句话。此外高版本的android还需要完成网络安全访问配置。此外你还需要进行一下一些网络配置。在Java逻辑代码中。
2023-05-23 15:44:43
1433
原创 Android期末考考前盘点:初学者请必须学会的快捷键
Alt+insert 快速构造、生成代码 例如构造get、set方法,构造方法等等(一般用在实体类)Ctrl+/ 注释当前行(Ctrl+Shift+/文档注释)跳转Activity对应的xml文件。Ctrl+Alt+L 格式化代码。Ctrl+P 方法参数提示。Ctrl+R 替换文本。Ctrl+F 查找文本。Ctrl+X 删除行。Ctrl+D 复制行。
2023-05-23 15:12:53
194
1
原创 Android期末考考前盘点(四):必考的ListView
要知道使用ListView起码需要两个xml文件,一个是LsitView一个是其item的布局。,编写一个最简单的适配器,继承于BaseAdapter,并重写方法。显示列表数据,无论是期末考试还是期末大作业都必然的会考到、使用到ListView。alt+Enter(回车),点击Implement methods。,可以是简单的数组、List对象、数据库获取的对象等等。例如:通讯录列表、学生列表、新闻列表、资讯列表等等。其次需要知道使用ListView需要写哪些代码?,会快速重写需要重写的方法。
2023-05-23 13:21:09
407
原创 Android Studio初学者实例:网络访问
在res文件夹下创建xml文件夹,并新建文件network_config.xml。在AndroidManifest.xml文件中添加语句:声明网络权限。并还需要返回到AndroidManifest.xml,添加一句话。此外高版本的android还需要完成网络安全访问配置。此外你还需要进行一下一些网络配置。
2023-05-21 15:02:02
920
1
原创 Android Studio初学者实例:广播
本章先不进行详细讲解,后续补充,如有问题请在评论区打出来~~~共有两个实例:饭堂开饭与数鸭子。对应的逻辑java代码。对应的逻辑Java代码。
2023-05-17 08:10:57
3932
原创 Android Studio 实例:向SQLite存取BLOB图片数据 探究
先贴出代码,后面进行探究:参考W3cSchool。保存ImageView的图片,但需要指定格式。
2023-05-13 17:28:00
878
Android Studio 仿U租号APP
2023-06-20
Android Studio 单独的购物车(练习逻辑)
2023-04-29
Android Studio 星座APP
2023-04-29
Android Studio 本地音乐播放器
2023-04-16
Android studio节假日日历
2023-04-16
Android Studio学生信息管理(课设)
2023-04-14
Android Studio简单课设 模仿(过于简单可以应付,需要上难度可以看主页)
2023-04-13
Android Studio简单课设 庆祝团100周年
2023-04-13
Android Studio简单课设 wy游戏(过于简单可以应付,需要上难度可以看主页)
2023-04-13
Android Studio简单课设 NBA主题(过于简单可以应付,需要上难度可以看主页)
2023-04-13
Android Studio简单课设 宠物小店(过于简单可以应付,需要上难度可以看主页)
2023-04-13
Android Studio简单课设 二手交易(过于简单可以应付,需要上难度可以看主页)
2023-04-13
Android Studio简单课设 及格点餐超简单(过于简单可以应付,需要上难度可以看主页)
2023-04-13
Android Studio简单课设 淘票票(过于简单可以应付,需要上难度可以看主页)
2023-04-13
Android Studio简单课设 招聘(过于简单可以应付,需要上难度可以看主页)
2023-04-13
Andorid Studio二手车系统课设
2023-04-13
Android studio SQLite商品管理
2023-04-13
Android Studio (简单课设) 新闻主题
2023-04-13
Android Studio开发 鞋子商铺(简单的课设)
2023-04-13
Android Studio 银行管家课设
2023-04-13
Android Studio简单课设 酒店管理(过于简单可以应付,需要上难度可以看主页)
2023-04-13
Android Studio简单课设 学生管理超简单及格(过于简单可以应付,需要上难度可以看主页)
2023-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅