- 博客(95)
- 资源 (9)
- 收藏
- 关注
原创 Vim 配置高亮
建议对 vi 配置如下设置项,编辑 ~/.vimrc 添加,如果没有 ~/.vimrc,须手动创建。自带VIM看着代码生涩,做如下配置之后看代码和查找都比较方便。
2023-06-02 10:03:50
1140
原创 (Ubuntu 18.04) Android framework R版本S版本环境配置及使用 ninja 快速编译
Android R 和S版本的编译,首先是环境配置,配置好环境之后,需要的不仅仅是push framework.jar 这么简单,需要push的还有其生成的附属文件。如果是make framework 后面只能编译一个寂寞,需要 make framework-minus-apex services,才能生成对应的jar包。1.环境配置(Ubuntu 18.04)安装openjdk8-jdksudo apt-get install openjdk-8-jdk安装fastbootsudo
2021-12-15 13:15:10
3128
原创 Android Studio 导入源码
目前做framework开发,仅仅导入framework源码进行查看,发现很多跳转并不能跳转,得益于公司配备的电脑性能超好,查看的时候导入源码进行查看比较方便。1.拷贝android.iml 和android.ipr 放到源码根目下面如下路径development/tools/idegen/templates/android.imldevelopment/tools/idegen/templates/android.ipr2.打开 根目录下拷贝的android.iml 文件 用如下.
2021-12-15 11:22:56
2800
原创 开发中常用命令汇总
1.APP编译相关1.1 应用编辑$ ./gradlew makeJar 编译Jar包$ ./gradlew -v 版本号,首次运行,没有gradle的要下载的哦。$ ./gradlew clean 删除HelloWord/app目录下的build文件夹$ ./gradlew build 检查依赖并编译打包$ ./gradlew assembleDebug 编译并打Debug包$ ./gradlew assembleRelease 编译并打...
2021-11-17 09:50:47
349
原创 Ubuntu18.04 安装libesd0-dev
sudoapt-getinstall libesd0-dev 安装报错说无法安装解决办法:在行尾添加如下一行的内容~$ sudo vim /etc/apt/sources.list 如下镜像源~$ deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse然后更新软件源并重新安装:~$ sudo apt-get update && sudo apt-...
2021-10-13 09:21:31
789
原创 ubuntu 18.04 增加或删除swap分区扩展
全编译Android R 系统的时候内存只有16G,编译过程一直报错,查看系统发现交换内存只有2G,每次编译都是处于满的状态,而且电脑比较卡顿,于是将交换内存调整为32G,终于编译通过了。一、增加Swap空间1. 查看当前内存和swap分区在终端输入free~$ free终端输出 总计 已用 空闲 共享 缓冲/缓存 可用内存: 15658948 6803860 88420
2021-10-13 09:15:03
1490
原创 Android R 系统设置导航模式NavigationBar的流程分析
系统设置中会设置手势导航模式 在Setting中可以进行设置查看原生代码发现系统导航类设置为SystemNavigationGestureSettings 其中SystemNavigationGestureSettings是Preference定义在accessibility_settings.xml中在XML中对应的控制类是SystemNavigationPreferenceController通过代码查看到SystemNavigationGestureSettings.java继承之RadioButt.
2021-09-21 11:41:46
3055
原创 Android R Navigationbar的创建,图标更新,加载流程
本文是基于R代码分支编写,S暂时未涉。手机导航栏是手机系统的一个重要功能,导航栏随着系统功能的不同会有不同状态,熟悉他们的创建和状态改变有助于我们遇到类似问题的总结。Navigationbar 绘制流程涉及代码路径:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.javaframeworks/base/packages/SystemUI/src/com/android
2021-09-21 09:24:52
2203
1
原创 Android系统Activity的显示原理
本文查看的源码是Android 7.1所有方法中的代码只保留了本文关注的代码。抽空研究了一下Activity的显示过程,主要是熟悉Android中的Activiy从设置布局到绘制显示的整个流程。按照老惯例先上时序图涉及的文件路径:frameworks/base/core/java/android/app/Activity.javaframeworks/base/core/java/android/view/ViewRootImpl.javaframeworks/base/.
2021-07-07 18:00:56
874
3
原创 Repo下载以及Repo init报错解决
1, repo 下载在工作目录下创建bin文件夹(默认Home下面存在bin文件夹直接放到bin文件夹即可)1.1如果不存在bin文件夹$ mkdir ./bin将bin目录添加到系统环境变量PATH=./bin:$PATH下载repo脚本(清华源)curlhttps://mirrors.tuna.tsinghua.edu.cn/git/git-repo-o repochmod +x repo更新repo的运行过程中会尝试访问官方的git源更新自己,可以使用tuna的镜像...
2021-07-06 21:02:08
11436
原创 系统添加自定义路径属性到系统属性中
在init.c文件main函数中会调用start_property_service(),而它分别调用load_properties_from_file函数读取PROP_PATH_SYSTEM_BUILD(/system/build.prop)、PROP_PATH_SYSTEM_DEFAULT(/system/default.prop)和PROP_PATH_LOCAL_OVERRIDE(/data/local.prop)存放系统属性的文件并设置到系统属性。编译时由build/tool/buildin.
2021-06-16 10:01:19
457
原创 Java ⼆叉树操作
根据任务需求,车机系统应该支持U盘升级功能,具体的逻辑是插上优盘APP选择好U盘文件,之后进行进入Recovery进行升级,但是Android升级的时候挂载U盘的时机非常的晚,这就需要修改源码,能够shi...
2021-06-15 18:01:30
574
4
原创 Windows 10 安装Ubuntu系统(无法全屏问题)
使用工具VMware Workstation Proubuntu-20.04.2.0-desktop-amd64
2021-06-14 19:15:55
589
1
原创 Android 11 锁屏调用相机android.permission.SYSTEM_CAMERA报错
遇到一个问题,在锁屏状态下调用相机被杀掉,查看了一下日志在调用相机的时候报了一句权限拒绝的语句为android.permission.SYSTEM_CAMERA 当时看到这个权限之后感觉mei
2021-06-12 10:02:01
5130
3
原创 Java 单向列表的几种操作方式(删除,查找环,环入口)
package com.ccl.demo;import java.util.HashSet;import java.util.Stack;public class StackUtils { class Node{ int data; Node next; public Node(int data,Node next) { this.data = data; this.next = next;.
2021-06-11 22:58:28
630
1
原创 Android Hook动态替换目标Activity(免AndroidManifest注册 )
Android 7.1 APP 启动流程分析里面
2021-06-07 17:33:38
1590
3
原创 使用FFMPEG 模仿微信拍视频
难得有点空闲,就想到了微信经常用的聊天是用什么做的,因为之前自己是做系统Camera的所以就看了一眼,就能发现,微信聊天使用的不是原生相机,那么问题来了,微信使用的是什么相机?仔细一想,不同的手机平台原生相机相同的时间录制视频大小,码率大小,帧率大小都不可控,为了统一视频格式微信自己对视频进行自己生成,倒不如自己去进行视频的合成,想到了之前学习的FFMPEG,FFMPEG其功能非常强大(图片和昌视频,视频进行抽帧等等功能)可以对输入的视频流进行独立的合成,不用受用于系统厂家原生相机的限制。原理其实非
2021-04-27 20:17:44
307
原创 Android通过adb shell am broadcast发送广播 参数说明
通过命令行执行adb shell am broadcast发送广播通知。adb shell am broadcast 后面的参数有:<INTENT> specifications include these flags and arguments:[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>][-c <CATEGORY> [-c <CATEGORY>] ...][-e|--e
2021-03-24 10:53:53
8435
1
翻译 AndroidStudio 配置 性能优化埋点AOP-AspectJ
AOP-AspectJ在buildscript的dependencies中添加如下代码 classpath 'org.aspectj:aspectjtools:1.9.2' classpath 'org.aspectj:aspectjweaver:1.9.2'在library/module中添加依赖implementation 'org.aspectj:aspectjrt:1.9.2'添加gradle任务import org.aspectj.bridge.IMessa...
2021-01-30 14:56:14
400
原创 UbUntu 下反编译APK
反编译需要将apk反编译成jar包,然后使用jadx工具进行查看源码。最好是配合AndroidStudio的 Profile or Debug APk 这样的话可以查看到很多的资源文件名和AndroidManifest.XML的类名代码。总体分为如下几个步骤。1.下载enjarify 反编译apk$ git clonehttps://github.com/google/enjarify.git$ chmod 777 -Renjarify2,下载jadx 并且进行 g...
2021-01-19 17:51:54
1036
原创 Android 7.1 高德导航和蓝牙音乐卡顿问题 & 蓝牙电话和高德语音播报混音问题
此文章主要解决三个问题1.高德导航的时候打电话会出现混音问题。2.蓝牙音乐在播放的时候导航界面语音播报蓝牙音乐会暂停,播报结束会恢复播放不能同时输出问题。3.蓝牙音乐在播放的时候和导航界面的语音播报混音输出的时候会有蓝牙音乐非常频繁且非常短暂卡顿的问题。涉及的路径:packages/apps/Bluetooth/src/com/android/bluetooth/hfpclient/HeadsetClientStateMachine.javapackages/apps/Blueto.
2021-01-19 17:15:40
3242
原创 Android车载蓝牙文件传输自动接受和弹窗接收 (Android5.1 & Android 7.1)
车机蓝牙作为从端的存在,限制了不少的功能,目前公司需要做车载蓝牙文件传输操作,但是车机系统修改的时候把原生的systemUI进行了定制,导致传输的时候不能进行弹窗确认,那么系统蓝牙也要做对应的修改才能进行文件的传输.如果不知道如何进主从设置的可以看看Android 7.1 系统 部分功能修改 汇总这篇文章进行修改 .接收的文件都在/sdcard/bluetooth/目录之下首先将packages/apps/Bluetooth/res/values/config.xml 文件中的profile_s..
2020-11-19 16:36:27
4688
原创 Android 源码本地编译脚本 & 编译Android系统
编译系统的方法有很多种,使用Docker 或者是使用jenkins编译,方法千万种.网上有很多的方法,这里就不再说了篇文章主要是针对本地编译.最近学习了脚本,也尝试写了一个Android系统编译的脚本,重点分析一下脚本,算是对之前学习脚本的一个小小的总结.1.一套Android源码2.Ubuntu环境 以及JDK环境正常本地编译步骤1.source build/envsetu...
2020-09-24 11:32:36
1358
原创 android源代码在线查看
国内网络在线查看:http://androidxref.com/https://www.androidos.net.cn/sourcecodehttps://github.com/aosp-mirrorAndroid 官方的网址:https://source.android.com/sourcehttps://android-review.googlesource.com/q/status:open
2020-09-09 09:59:45
345
原创 Android 蓝牙启动流程(以及设置蓝牙为作为sink模式 & 接收端模式)
本文以Android 7.1为基础最近在做蓝牙开发,研究了一下蓝牙的启动流程,总结一下Google在Android源码中推出了它和博通公司一起开发的BlueDroid以替代BlueZ。BlueZ的创始者,高通公司也将在基于其芯片的Android参考设计中去除BlueZ,支持BlueDroid。相比BlueZ,BlueDroid最值得称道的地方就是其框架结构变得更为简洁和清晰。对我们工程师来说这也是个不错的福利,清晰、简洁的架构使我们在debug过程中思路更清晰;蓝牙的总体流程图从流程图我们可
2020-08-29 13:20:30
9147
翻译 FFMPEG AAC编码
gcc AAC.c -L /usr/local/ffmpeg/lib -lavutil -lavcodec -o AAC./AAC#include <stdint.h>#include <stdio.h>#include <stdlib.h>#include <libavcodec/avcodec.h>#include <libavutil/channel_layout.h>#include <lib..
2020-06-22 15:11:07
514
翻译 FFMPEG 视频转图片
gcc decode.c -L /usr/local/ffmpeg/lib -lavutil -lavformat -lavcodec -lswscale -o decode./decode front/CH0_00000000000000_20200507174044.MP4 ./#include <stdio.h>#include <stdlib.h>#include <string.h>#include <libavform..
2020-06-22 14:41:51
437
翻译 FFMPEG H264 编码
使用H264 编码 gcc encode_video.c -L /usr/local/ffmpeg/lib -lavutil -lavformat -lavcodec -o encode_video./encode_video 1.h264 libx264#include <stdio.h>#include <stdlib.h>#include <string.h>#include <libavcodec/avcodec.h&..
2020-06-22 14:20:23
663
原创 Android 7.1 系统 部分功能修改 汇总
1.修改蓝牙为从端device/qcom/msmxxx/system.prop//设置成从模式persist.service.bt.a2dp.sink=truepersist.service.bt.hfp.client=truedevice/qcom/msmxxx/overlay/packages/apps/Bluetooth/res/values/config.xml<?xml version="1.0" encoding="utf-8"?> <resour.
2020-06-18 10:47:43
1673
原创 Android 7.1 APP 启动流程分析
本文是基于 Android 7.1 系统进行探讨的.我们都知道Launcher 其实也是一个APP ,安装好的应用的快捷方式都被放在了Launcher中.很多的厂家或者厂商都在定制自己的Launcher,目前我们知道Android现在使用的是Launcher3的版本,下图是 Java应用层创建Activity的过程我们可以在如下路径找到Launcher.javapackages/apps/Launcher3/src/com/android/launcher3/Launcher.j.
2020-06-17 10:02:24
1139
1
原创 Android Studio 生成含第三方jar包 以及引入指定的jar
对于一些要使用修改了系统的API的应用 ,使用AndroidStudio不能编译APK,导入自己编译的framework.jar 进行编译APK整体编译系统后找到classes.jar包classes.jar包就是 framework.jar 如下:fclasses.jar 路径out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jarbuild.gradle 添加dependencies {..
2020-05-27 17:57:10
1285
翻译 FFMPEG 对视频转格式,裁剪,抽取音频视频,打印视频信息,重命名等操作笔记
使用FFMPEG的log信息 gcc ffmpeg_log.c -L /usr/local/ffmpeg/lib -lavutil -o ffmpeg_log#include<stdio.h>#include<libavutil/log.h>int main(int argc,char * argv[]) { av_log_set_level(AV_LOG_DEBUG); av_log(NULL,AV_LOG_INFO," Hello worl.
2020-05-21 09:56:57
673
翻译 FFMPEG 命令大全
前言FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供的工具,如 ffmpeg, ffplay, ffprobe,来编辑你的音视频文件。本文将简要介绍一下 FFMPEG 库的基本目录结构及其功能,然后详细介绍一下我们在日常工作中,如何使用 ffmpeg 提供的工具来处理音视频文件。FFMPEG 目录及作用libavcodec: 提供了一系列编码器的实现。 libavformat: 实现在流协议,容器格式及其本IO访问。 libav
2020-05-15 19:51:01
1116
原创 Ubuntu16.04 FFMPEG 编译与安装
FFMPEG下载安装依赖库$ sudo apt-get install pkg-config$ sudo apt-get install yasm$ sudo aptitude install libx264-dev$ sudo aptitude install libfaac-dev$ sudo aptitude install libmp3lame-dev$ sudo aptitude install libtheora-dev$ sudo aptitude in
2020-05-15 13:24:44
1037
1
signapk.zip
2020-04-29
keytool-importkeypair.zip
2020-04-29
shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) student.sql文件
2020-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人