自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hanly Jiang的专栏

躺平,然后做自己想做的事情

  • 博客(32)
  • 收藏
  • 关注

原创 USB模块分析(四)- 设备列表&权限申请

USB模块分析- 设备列表&权限申请

2022-08-06 09:30:00 1176 1

原创 安卓USB模块源码分析(三)- 设备连接断开广播

我们将针对USB模块API的使用流程,分析设备连接及断开广播的触发发送;UsbService启动时,启动一个线程,对USB相关设备文件目录进行循环监听;当有设备插拔(即文件添加、移除)时,回调UsbHostManager对应的deviceAdded方法或者deviceRemoved方法进行通知;在UsbHostManager 的deviceAdded或者deviceRemoved回调方法中发送对应的设备ATTACHED或DETACHED 广播;...

2022-08-05 10:30:00 1817

原创 安卓USB模块分析(二)- API使用

Android USB 支持两种模式:1. 主机模式;2. 配件模式;这里我们主要梳理HOST模式的使用;

2022-08-04 22:53:31 1239

原创 安卓USB模块源码分析(一)- 准备

介绍USB服务在Android服务体系中的位置,源码的位置及使用AndroidStudio 查看USB模块FWK的配置方式。

2022-08-04 22:51:26 1435

原创 Android APP 全局字体替换-思源黑体

Android全局替换APP字体,包括Activity,Dialog,Toast,及替换字体中间遇到的字体间距变大,行间距变化问题解决。

2022-08-02 19:30:00 3389

原创 Git 本地仓库origin分支全部推送到其他远程

本地clone了仓库,但是需要把仓库对应远程origin中所有分支上传到另外一个仓库中

2022-07-28 12:30:32 664

原创 Kotlin注解

Kotlin注解

2022-07-05 20:05:07 789

原创 Gerrit 代码合并冲突解决

gerrit 冲突解决

2022-07-05 19:15:00 1986

原创 Git rebase 用法说明

git rebase 的用法

2022-07-05 11:27:44 537

原创 Android 单元测试-运行

运行测试有多种方式:其中 1 和 2 实际上最终都是通过adb命令运行的,下面分别进行说明。使用IDE运行时,可以单个测试函数运行,也可以单个类运行,也可以按包运行或者按模块运行。不过本地单元测试和AndroidTest的运行略有区别。按方法:按测试类:按包:按模块Gradle 运行时,只能运行所有测试。通过运行 任务即可启动测试运行完成后的报告位于 目录。通过运行 任务即可启动测试运行完成后的报告位于 目录。通过adb命令可以运行 androidTest,实际上前面Gradle任务及Android

2022-06-14 19:00:00 2124 1

原创 Android 单元测试-简介

简单介绍Android单元测试类型,测试框架,对Android单元测试有一个基本的整体认识

2022-06-01 11:23:57 416

原创 编写一个Android Gradle插件

gradle有三种编写插件的方式,我们这里使用在项目中的buildSrc模块中编写插件的方式,自定义了一个应用于Android项目的根据flavor过滤so库的gradle插件;概述自定义gradle插件有如下三种方式(🔗链接):在buildscript中直接编写;在buildSrc项目中编写插件代码;在独立的项目中编写插件代码;这里我们将使用buildSrc方式实现一个gradle插件。新建 buildSrc modulegradle会在项目中寻找名称为buildSrc模块,将其加

2022-05-26 22:59:38 473

原创 搭建Android AOSP源码编译工作环境

简单介绍系统架构、编译环境的搭建简单介绍利用 AndroidStudio 调试 system_process 进程的方法及编译更新部分系统模块的方式

2022-05-26 22:37:29 4562

原创 AAR Java8 接口 NoSuchMethodError 错误解决记录

AAR Java8 接口 NoSuchMethodError 错误解决记录

2022-05-26 22:29:33 1284

原创 Gitlab升级记录(12.10.0-13.0.6)

gitlab(Docker方式运行)从12.10.0升级到13.0.6 的过程记录。

2022-05-26 22:22:37 608

原创 Gitlab-Runner安装并注册

本文介绍Gitlab-Runner的安装运行(包括docker方式安装运行及二进制直接运行),并介绍如何将Gitlab注册到Gitlab。同时还介绍了gitlab-runner的一些常用操作命令。

2022-05-26 22:19:33 3643

原创 Android 库Maven上传 Gradle 配置模板

使用 maven-publish 插件发布库模块时的 gradle 配置模板。包括本地仓库及maven 中心仓库,支持发布javadoc及source.maven-publish 插件简要说明配置及任务生成规则maven-publish 可以帮助我们把 publication 发布到 repository 中。配置时的主体结构如下:publishing { publications { testSdk(MavenPublication){ } // 可以添加

2022-05-26 21:10:18 362

原创 【Android编译错误解决】jetified-objenesis D8 MethodHandle.invokeExact only supported starting with Android O

编译错误解决报错信息jetified-objenesis-3.0.1.jar: D8: com.android.tools.r8.internal.n1: MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26)Failed to transform objenesis-3.0.1.jar (org.objenesis:objenesis:3.0

2022-05-23 11:56:37 2375

原创 Android-Gradle 运行单元测试时抓取 logcat 日志

运行android测试的时候抓取系统日志,遇到的主要问题包括:adb logcat 指定起始时间( not in time format 错误 );如何保存单元测试开始时间;gradle中执行 adb 命令;

2022-05-19 13:37:44 1582

原创 Android Jacoco覆盖率统计配置

Android Jacoco 覆盖率统计Gradle配置,包括生成本地单元测试报告,仪器单元测试报告,合并两种测试的报告,合并两种测试的执行数据并在AndroidStudio的编辑器中查看每一行的覆盖率情况。

2022-03-19 23:19:08 4376 6

原创 Dagger 在Android库(SDK)模块中的使用实践

本文主要描述如何使用Dagger解决实际项目中遇到的问题,这两个问题是:1. 如何在库(SDK)模块中使用Dagger依赖注入?2. MVP中的Dagger依赖注入如何实现无感注入?本文不会介绍如何使用Dagger,只专注于描述如上两个问题的解决的前因后果及解决方案。

2022-03-06 22:48:59 2236

原创 如何发布Android库到Maven中心仓库

本文用于记录如何将自己的库上传到maven中心仓库,包括sonatype账号建立,密钥上传及gradle配置及任务执行

2022-02-24 23:05:32 4699

原创 使用Kotlin编写gradle脚本

Kotlin DSL 编写Gradle脚本,迁移步骤及实例

2022-02-24 23:02:41 2375

原创 简化Android库上传到Maven仓库的gradle配置

配置 android 上传到 maven 中心仓库,发现配置的代码有点多,而且如果有多个库模块需要上传,则需要复制粘贴不少重复的配置代码,于是编写了一个 gradle 插件用于简化提取这个配置过程;插件用途及效果本插件用于简化Android库上传到Maven中心仓库的配置,避免每个project的gradle中都放置一份重复较多的配置;插件有如下功能:简化 maven-publish 插件的配置流程;添加上传到Maven中心仓库的 publish 任务;支持配置上传时是否包含 javadoc

2021-05-31 17:54:58 1148 3

原创 Gitlab持续集成与持续部署-多服务持续自动构建与自动部署更新

前言我们需要实现整套服务的自动构建后的自动更新部署,注意这里我们只需要能做到更新部署的服务即可,服务的初次部署属于低频操作,且和服务器环境相关,需要手动来完成;我们这里假定机器上已经部署好了服务;单一项目的自动部署的示例这里我们首先以一个springboot的服务作为示例,实现了整个自动打包及部署更新的流程;效果提交之后,自动构建jar,并打包docker镜像构建完成后,通过gitlab界面,可以触发部署,完成后可以访问对应的环境(详见下方说明)触发部署步骤的方式触发部署有多个

2021-05-28 11:33:22 2879 1

原创 Docker数据目录(/var/lib/docker)迁移

本文介绍Linux上如何安全的迁移Docker的数据目录/var/lib/docker为什么要迁移虚拟机创建时,一般分配一个比较小的系统盘,然后挂载一个大容量的数据盘,docker默认情况下数据存储在系统盘(/var/lib/docker)目录,时间一久,会占满系统盘。迁移步骤首先需要停止docker服务systemctl stop docker通过命令df -h 先去看下磁盘大概的情况,找一个大的空间创建docker的新目录,我这边找了data, 所以我这边的新目录地址是 /d

2021-04-21 17:08:13 1828

原创 ARM架构Docker镜像构建-基础知识

介绍ARM版本的Docker镜像的构建,包括ARM机器上Docker的安装,在ARM机器上构建镜像,及在amd64机器上使用buildx交叉构建arm版本镜像。前言现在很多地方都对服务的国产化适配有所要求,一般的国产化平台都提供arm版本的linux云环境供我们进行服务部署,因此需要构建arm版本的镜像。测试机信息CPUFT-1500A 4核 arm64内存8GOS麒麟V10包管理器aptARM机器上安装DockerDocker官方文档Docke

2021-04-21 14:08:22 17211

翻译 IDEA代码文件导航-Navigate使用技巧

插入符导航后退:⌘[前进:⌘]最后编辑点: ⇧⌘⌫定位到当前的结束括号: Ctrl+M 或者 ↑ , ↓查看光标所在位置所属的元素:⌃⇧Q (注意看下图的左上角显示了当前的类)移动到当前开始括号对应的闭合括号: Ctrl + M在代码块之间导航: ⌥⇧⌘[ ⌥⇧⌘]移动插入符移动到下一个或者上一个单词: ⌥→,⌥←移动到下个段落:(下个方法)使用 Shift+Command+A 调出Action搜索弹框;搜索 Move Caret Forward a Par

2021-04-20 11:51:33 4530

翻译 Android开发所需要的矩阵知识

[译]Android开发所需要的矩阵知识原文链接:https://i-rant.arnaudbos.com/matrices-for-developers/#technical-challenge几周前,我在一个android-user-group频道上,有人问一个关于Android的Matrix.postScale(sx,sy,px,py)方法及其工作原理的问题,因为它“难以掌握”。在2016年初,我在一个Android应用程序上完成了一个自由项目,在其中我必须实现一个令人兴奋的功能:用户在购

2021-03-09 23:29:45 405

原创 Gitlab安装及配置

Gitlab安装及配置安装我们使用docker来安装Gitlab,执行如下命令即可安装运行,完成后使用export GITLAB_DATA=/data/gitlab# 设置主机的ip域名export HOST_IP=192.168.43.62mkdir $GITLAB_DATA/config $GITLAB_DATA/logs $GITLAB_DATA/datadocker run --detach \ --hostname $HOST_IP \ --publi

2021-03-04 14:11:22 3259 1

翻译 理解Android矩阵变换

原文链接:Understanding Android Matrix transformations之前在学校学习矩阵,现在已经忘得差不多了,不过我记得当时一直有个疑问:这个东西到底可以做什么呢?工作以后,从事Android开发,使用ImageView的scaleType时,发现其中有一种类型是matrix-矩阵。不过之前我一直都使用的其他scaleType类型,没有使用matrix缩放类型(因为不了解matrix);不过几周前,我要实现一个功能,组件的背景图像应与视图的左上角对齐,但是不需执行任何.

2021-03-01 23:12:43 394

原创 使用SublimeText 编辑Markdown 文件并预览

使用SublimeText 编辑Markdown 文件并预览Author: [email protected] Date: 2015/04/25 使用Sublime安装相应插件方便的写markdown,并预览

2015-04-26 10:36:06 6460

空空如也

空空如也

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

TA关注的人

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