自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [问题记录] Android裁剪Provision应用后无法打开开发者选项

最近在做RK平台的内置应用裁剪,按照需求最终决定了裁剪列表,大概减少了系统img包100M的体积。在后面几天的测试开发中,发现了一个问题:从原生设置中打开关于,点击版本号,无法打开开发者模式了。

2024-11-27 12:00:14 600

原创 [实战笔记]修改Android系统默认语言配置及源码解析

和语言相关的环境变量主要包括 PRODUCT_LOCALES 和 CUSTOM_LOCALES。这里我们只做 PRODUCT_LOCALES 的分析。系统语言相关的配置主要在于 PRODUCT_LOCALES 这个环境变量。基于手上的代码,简单追踪了一下定义和引用链如下(不是实际的赋值顺序):full_base.mk:定义 PRODUCT_LOCALSE := en_US。languages_full.mk:在PRODUCT_LOCALES 后追加 en_XC。

2024-11-21 11:56:30 2462 2

原创 [实战笔记]使用TeeSink进行音频调试

teesink使用

2024-02-26 14:54:47 1062

原创 函数调用栈打印

通过extern “C”,C语言调用C++方法,利用CallStack完成。

2023-11-06 18:01:57 697

原创 Android ErrorCode 记录

路径:bionic/libc/kernel/uapi/asm-generic/errno-base.h。路径:system/core/libutils/include/utils/Errors.h。路径:bionic/libc/kernel/uapi/asm-generic/errno.h。

2023-04-06 15:04:16 510

原创 [实战笔记]系统编译——新增客制化overlay资源包

[实战笔记]系统编译——新增客制化overlay资源包

2022-10-08 10:58:55 408

原创 [随手记]activity生命周期

[随手记]activity生命周期

2022-09-20 11:41:54 920

原创 [实战笔记]系统编译——新增客制化资源包

系统res下新增客制化资源包8.09.0别的地方新增8.0/软链接9.0+软链接10.0

2021-08-24 11:51:54 2423

原创 [实战笔记] 获取应用的pid、uid、packageName、进程名

目录pid1.通过api调用获取:[需要在应用内调用]uid1. 通过api调用获取:[需要在应用内调用]2.通过反射调用:Process.getUidForPid(int pid);进程名(/包名)1. 通过api调用获取:Application.getProcessName(); [需要在应用内调用]2.通过反射调用:ActivityThread.currentProcessName(); [需要在应用内调用]3. 通过AMS获取4.根据pid通过反射调用:P..

2021-08-02 12:28:37 7755

原创 [java_base]线程基础

如何停止一个线程:外部调用interrupt,内部判断isinterrupted不要用自己的标志位,因为自己的标志位会受sleep,wait,take等的影响,只有结束了才会再次被判断调用。比如sleep(2000)的时候,正在sleep中,无论怎么调用set标志位都是没有效果的,因为没有跑完sleep,就不可能跑到while(标志位)。另一方面定义变量会占用资源。使用内部标志位,在sleep wait take也可以正常检测到,也就是sleep的时候,也可以检测到interrupt,从而抛出i

2021-03-09 16:03:04 58

原创 [design_patterns]小白讲设计模式之六大设计原则

设计模式六大设计原则(SOLID):单一职责原则 Single Responsibility Principle 开闭原则Open Closed Principle 里氏替换原则Liskov Substitution Principle 迪米特法则Law of Demeter 接口隔离原则Interface Segregation Principle 依赖倒置原则Dependence Inversion Principle这么记忆...

2020-12-28 15:02:32 192 2

原创 [bug_fix][framework_base] RuntimeException: Failed to set system property——关于SystemProperty设置失败的问题

今天遇到了一个很有意思的问题。5.1的系统遇到了应用闪退、

2020-12-17 11:51:07 4391 1

原创 常规bug记录_long相除结果不对,四舍五入无效

做progress的时候使用CountDownTimer做倒计时刷新绘制,new CountDownTimer传入总时长long类型,onTick回调剩余时长long类型,progress定义int类型用于刷新进度条绘制,如下:// CountDownTimer机制,启动时间会被算入,所以加入100ms的默认时间mTimer = new CountDownTimer(mTimeMillis + 100, 1000) { @Override public void onTick(lon

2020-11-09 11:42:42 769

原创 [实战笔记]系统编译——Android.mk / Android.bp 条件编译实现指南

目录前言 —— 需求提出Android 8.0- —— Android.mk实现条件编译Android 9.0+ —— Android.bp实现条件编译扩展:Android 9.0+ —— Android.bp实现自定义条件编译前言 —— 需求提出最近在协助完成模块优化的时候,有个需求如下:依赖结构:A B C……等多个平台共用一个自定义系统模块随后优化此模块...

2020-04-13 20:29:53 10734 9

原创 chmod和umask

指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] mode file... 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。 参数 : mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中 u us...

2018-11-07 16:55:03 814

原创 Tmux常用快捷键

tmux :当前目录下进入tmux一切组合键要先按ctrl+b;c:多开一个windown(next):下一个windowp(previous):上一个window&:关闭window(会出现是否关闭的询问)s:列出当前所有tmuxctrl+d:关闭——————切分窗口——————%:切分左右两个panel“:切分上下两个panelo:按顺序切换...

2018-11-06 13:20:46 966

原创 AS/Sublime常用快捷键记录

AS:shift*2 / ctrl+shift+n:查找文件ctrl+F12:打开类方法大纲ctrl+alt+l:格式对齐Sublime:ctrl+g:定位到某一行ctrl+P:打开搜索面板 搜索文件名:直接输入ctrl+r / ctrl+p,+@ :搜索类方法:...

2018-10-29 17:54:12 224

原创 [Svn学习]CRT下连接编译服务器并操作

【CRT连接远程编译服务器】1.打开CRT, 新建Session2.Session 协议SSH2,HostName为服务器地址,并输入UserName,下一步3.安全协议默认,SFTP,下一步。完成。【远程服务器映射到本地】HostName\Home【CRT设置】1.Options-->SessionOptions2.Terminal-->E...

2018-09-13 10:45:37 1621 1

原创 [实战笔记]Android文本编辑的一些实用技巧

有一段时间忙碌了,今天就好好总结记录一下这阵子学到的一些小技巧好了。这一篇先记录一下关于文本编辑的小事儿,Here we go!************************************************一、插入符号现在做的项目由于是多语言的,加上刚好遇到需要安卓和ios统一字段的噩梦,因此会特别注意到符号的使用。刚开始在跟做项目的时候,我的工作就是把大佬们之前赶项...

2017-12-10 22:44:39 1713 1

原创 [Android基础]Intent用法的二三事(下)——Data、Type、Extra、Flag的属性详解

上一篇详细讲解了Intent用于启动三个属性:Component、Action和Category。那么这一篇将会把剩下的4个属性:Date、Type、Extra和Flag详细讲解一遍,用来加深自己对Intent的了解和记忆。*******************************************二、Intent传递数据我们可以通过Intent的Data、Type、

2017-09-21 09:59:57 3185

原创 [Android基础]Intent用法的二三事(上)——Componet、Action、Category的属性详解

Intent在英语中的意思是意图,android中的日常使用就是通过intent语句去表达不同的操作意图,让系统知道我们的意图之后完成一系列的操作,例如启动Activity、Service、广播等等。Intent中包含7大属性,分别是ComponentName、Action、Category、Data、Type、Extra以及Flag,每个属性都有其不同的作用。按照分类可以归为以下三种

2017-09-18 15:48:45 3039 1

原创 [Android Exercise]Fragment新闻客户端例子拆解PART.3—带你记忆Fragment的使用

上一篇把左侧碎片的RecyclerView的部分完成啦,这一部分就是使用限定符兼容手机平板的重头戏啦。*********************************************************继续来看图示:

2017-09-15 16:38:04 376

原创 [AS尝龟]导入RecyclerView后错误解决方法:Error:Execution failed for task ':app:processDebugManifest'. > Manifest

※这个解决方案只适用于在导入RecyclerView依赖库后出现的错误。错误如下:Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.

2017-09-15 14:55:06 744

原创 [Android Exercise]Fragment新闻客户端例子拆解PART.2—带你记忆Fragment的使用

上一部分已经完成了 将标题和详情页布局的绑定。现在进入到下一阶段。*********************************************************继续看看我们的图示:从图上看,我们已经完成了左右两侧的布局绑定Fragment了,感觉离完成好像不远的样子了呢!别高兴太早,检查一下我们注意到其实有一个地方没有细化完成,就是左侧标题碎

2017-09-15 10:49:13 326

原创 [Android Exercise]Fragment新闻客户端例子拆解PART.1—带你记忆Fragment的使用

把郭大大的新闻客户端例子从头到尾写一遍之后,理清了其中的思路。现在写下一篇例子的拆解,以供进一步理解和记忆。********************************************************来看一下整个页面架构的图示:总体而言,左侧就是显示标题的Fragment,右侧就是显示具体内容的Fragment。通过限定符判断两个ac

2017-09-14 14:44:17 420 1

原创 [Android UI]Fragment的管理:getFragmentManager和getSupportFragmentManager的使用区别

对Fragment进行操控:使用FragmentManager。如何获取FragmentManager:Fragment是有两个包的,一个是v4包,一个是app包。v4包用来兼容低版本也可正常显示Fragment,app包在4.2系统之前的设备运行Fragment,程序会崩溃。一般导入v4包确保低版本系统运行正常。但我们在Activity中和Fragment中获取Fragment的语句不一

2017-09-13 20:05:50 9857

转载 [AS尝龟]Recyclerview的OnCreatViewHolder报错:java.lang.IllegalStateException

今天在对着例子练习Fragment和Recyclerview做兼容平板和手机的新闻客户端时,运行时一直报错,查看日志,发现这个错误:FATAL EXCEPTION: main Process: com.example.tahlia.newsclient, PID: 4410 java.lang.IllegalStateException: The specified child

2017-09-12 22:44:18 2322 1

原创 [Android Exercise]仿微信游戏界面PART.2—自定义样式shape和selector的应用

来看看上一PART做好的效果图和目标图的对比:这里能发现有几个地方不太一样1.图片和按钮部分都是圆角矩形样式,但目前做出来都是直角样式。2.按住item以及按钮时没有动态变化。为了完善这点,使用到自定义样式shape和selector进行处理。******************************************shape:设定

2017-09-07 19:25:31 229

原创 [Android Exercise]仿微信游戏界面PART.1—ConstraintLayout和RecyclerView的应用

1、分析模块将每一个部分都做成一个

2017-09-06 17:12:53 893

原创 [AS尝龟]Unable to inflate view tag without class attribute

今天在学习使用constraintLayout的时候,试着用constraintLayout去实现微信游戏的一个item。在编写完xml文件后,转到design界面看看效果和蓝图的时候,出现了这个错误:Render errors:Unable to inflate view tag without class attribute一开始没放在心上,直接进行运行,开始报错:

2017-08-30 13:52:38 3095 5

原创 [Android UI]ConstraintLayout-约束性布局的使用和注意点

前两天在继续熟悉和记忆RecyclerView的时候,练习完Vertical和Horizontal后,新开了一个工程继续练习瀑布流。正常来说我想要得到的效果图是:然而我得到了效果图是:检查了一边xml文件,发现我放置RecyclerView的activity_main中使用了默认的constraintLayout,没有改成LinearLayout,虽然我检查

2017-08-29 23:54:03 9268 1

原创 [Android UI]RecyclerView使用的记忆方法

之前一直都是对RecyclerView死记硬背,然后用完没多久就忘记了,只记得要添加Adapter,但是会忘记具体内容。于是昨天晚上想了很久理了很久,大概想出了一个记忆的方法,希望自己不要再忘记了嗷。***************************************情景:剧场需要一群学生完成一场表演,然而不能直接和学校联系,需要一个第三方的联系人去进行安排。剧场、学

2017-08-24 10:57:28 445 1

原创 [AS尝龟]XML tag/导入recyclerview库/drawable和mipmap|||*自定义shape?*

emmm,今天干完活儿了,把今天AS低级尝龟操作记录一下,给我的脑洞补一补。****************1.XML tag has empty body.这个神奇的错误是我今天练习fragment的时候遇到的,当时不是很了解是怎么回事。查过之后发现这个简直是一个低级尝龟,大概就是写标签的时候右括号自动匹配,让两个标签拼在了一起(>解决办法:在>换行。2.导入recy

2017-08-22 20:44:02 495

空空如也

空空如也

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

TA关注的人

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