探索安卓
深度探索安卓相关的知识,其中包括:安卓应用、安卓系统以及安卓移植等,以旁观者的角度描述探索过程中遇到的问题以及感触。
坤昱
这个作者很懒,什么都没留下…
展开
-
安卓系统分屏相关修改思路
安卓系统应用在一些特殊设备时,屏幕显示也会有一些特殊要求;分屏(一面屏幕内显示两个相同的画面),画面分割等,这里讲述一些基本修改思路和简单实例。OpenGLES相关修改首先说下比较简单的修改方式,在frameworks层,通过修改"OpenGLES"相关调用部分,实现渲染合成的画面显示调整(AOSP6.0.1_r1以左右分屏为示例):找到"frameworks/base/lib/hwui...原创 2019-03-12 00:29:14 · 1141 阅读 · 0 评论 -
安卓系统通过"陀螺仪"计算当前坐标(焦点位置)
当我们使用安卓设备 “上下或左右倾斜” 的时候,设备屏幕的 “焦点位置” 会有不同的变化。首先举个例子描述这种情况: 玩过"越野摩托车游戏"的朋友应该都会知道,当手机向左或向右倾斜, 摩托车也会向左或向右偏移一定的角度; 当手机向上倾斜时,摩托车前轮胎抬起一定的角度, 手机向下倾斜时,摩托车后轮胎也会抬起一定的角度。 游戏的方向设定原理就是通过"陀螺仪感应器"提供的数据...原创 2019-02-02 01:27:39 · 3773 阅读 · 0 评论 -
AOSP6.0.1 系统中增加新的category类型与app绑定,并在hotseat容器中加载app
在launcher3(桌面程序)的hotseat中,可以通过修改dw_phone_hotseat.xml在指定位置加载指定app(仅限于已经指定category类型为APP_xxxx的app或者是系统APP(这里不描述关于系统APP事件定义方式))。如果想在hotseat中加载自己编写app,比较省事的一种方式是在系统中增加新的category类型,类型可以任意命名(这里以APP_SETTINGS...原创 2018-10-20 02:50:16 · 874 阅读 · 4 评论 -
AOSP6.0.1 launcher3入门篇—hotseat相关实现
在安卓桌面程序的主界面我们可以看到是由QsbSearchBar(上方搜索框)、Workspace(页视图空间)、pageIndicator(页指示器)、hotseat(底部视图空间)四个部分组成,它们是基于DragLayer层的基础上进行显示(注释掉 res/ 横屏模式layout-land 或 竖屏模式layout-port/launcher.xml中 android:id="@+id/dra...原创 2018-10-13 16:01:29 · 1265 阅读 · 0 评论 -
AOSP6.0.1 launcher3入门篇-解析DeviceProject.java及相关文件
上一篇文章(AOSP6.0.1 launcher3入门篇—解析launcher.java文件)描述了launcher3的加载过程,本篇文章记录hotseat停靠方向和位置、隐藏页指示器、Folder大小、隐藏allapps内上方搜索框等。首先介绍构造函数:找到public DeviceProfile(Context context, InvariantDeviceProfile inv, ...原创 2018-10-04 19:55:25 · 575 阅读 · 0 评论 -
AOSP6.0.1 launcher3入门篇—解析launcher.java文件
安卓系统是市场占用率最高、用户使用率最多的手机系统。大部分安卓手机厂商在AOSP(Android Open Source Project)的基础上进行二次开发,定制符合自家设备使用的安卓系统。本篇文章记录6.0.1版本launcher3(home程序)的加载过程及launcher.java部分函数分析。安卓6.0.1版本指定launcher3为默认home程序,作为系统第一个app(由Activ...原创 2018-10-03 02:13:24 · 1475 阅读 · 0 评论 -
从零开始编译安卓系统源码(生成.img文件)以及安卓系统内核
最近开始接触安卓设备,了解到安卓系统开机界面以及定制桌面需要修改系统源码,这种情况下就需要重新编译系统源码得到.img镜像文件,本篇文章记录从零开始编译安卓系统源码以及安卓系统内核的一种方式。1.配置系统编译环境: 我选择使用虚拟机内安装linux 64位ubuntu系统作为系统编译环境...原创 2018-07-01 23:16:47 · 9706 阅读 · 3 评论