自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欧阳鹏

一个人,如果你不逼自己一把,你根本不知道自己有多优秀!

原创 【神兵利器】你绝对想不到VSCode 也可以画流程图了!

一、描述 技术人员一般需要具备一定得画图能力,特别是架构师,需要画各种图:除了让架构更清晰,方便给别人讲解,也是装逼神器~ 1.1 ProcessOn 之前都是在 ProcessOn 上画流程图, 绘制流程图页面 但是免费版本 只能有9张文件保存,多了就得删掉旧的,或者升级为个人版或者团队版。...

2020-05-20 20:44:57 1662 1

原创 【git学习】GitLab如何创建Merge Request Templates?

一、需求描述 通常在GitLab中使用提交request或者加issue的过程中,都会遇到每次填写相似内容的情况,而且一般团队为了规范,发起Merge Request都需要写固定的格式。 如下所示,GitLab中有没有提供可以解决这一个问题的方案呢? 二、添加Merge Request Temp...

2020-04-29 21:08:01 252 0

原创 【我的Android进阶之旅】解决 Exported receiver/service does not require permission

一、问题描述 最近切换到一个新的项目中,查看代码的时候,发现AndroidManifest.xml清单文件有一堆的警告 Service警告 <service android:name=".oyp.CSDNService" ...

2020-04-22 11:10:15 280 0

转载 【转载】Android功耗改进

最近几年中,Google在一直极力的改进Android系统的续航能力。在本文中,我们将看到Andrdoi自5.0到8.0这几个版本中对于功耗方面的改进。 前言 移动设备的续航时间无疑是所有用户都非常在意的。我们都希望自己的手机一次充电可以使用更长的时间。但遗憾的是,近几年移动设备的电池元件...

2020-04-20 16:31:18 296 3

原创 解决Windows10系统,Android Studio中 按Ctrl + Alt + 方向键 与系统屏幕翻转快捷键冲突问题

一、问题描述 在Android Studio和PyCharm等软件中,都有类似的快捷键 Back 快捷键是 Ctrl + Alt + 向左按钮 Forward 来看看是 Ctrl + Alt + 向右按钮 有时候编辑代码过程中,想Back或者Forward来查看代码,发现快捷键居然和系...

2020-03-26 17:47:36 397 0

原创 【Python学习 】Python简单封装xlrd和xlwt模块进行Excel读写操作
原力计划

一、背景概述 最近要做一些数据解析的操作,有部分数据需要解析为Excel,顺便在网上学了一下Python的xlwt模块,并进行了简单的封装,可以完成读写操作,代码如下。 二、xlrt读取Excel封装 # -*- coding: utf-8 -*- import xlrd import xlwt ...

2020-03-25 20:35:36 242 0

原创 【我的Android进阶之旅】使用Android Studio 3.6 的 Android Profiler快速进行内存泄漏检查

一、概要 最近更新了Android Studio 3.6.1版本,发现一个新的功能: 在Memory Profiler中分析堆转储时,可以过滤Android Studio认为可能指示应用程序中Activity和Fragment实例的内存泄漏的概要分析数据。 要使用此功能,请先捕获堆转储或将堆转...

2020-03-24 09:33:52 1220 0

原创 【我的Android进阶之旅】解决编译报错:Cannot convert a null value to an object of type Dependency.

一、问题描述 今天在将一个内部SDK集成到一个新的apk时候,编译报错,如下所示: 下午 03:48 Gradle sync failed: Cannot convert a null value to an object of type Dependency. The followin...

2020-03-11 16:25:01 732 0

原创 【Python学习 】一篇文章教你PyCharm如何快速安装module

一、问题描述 今天运行一个提示发的python脚本的时候,出现了下面这样的很普遍的现象。提示某些module不存在,需要安装! C:\Python27\python.exe "C:/Code Python/MonitorParser/snm_excel_builder.py" ...

2020-03-06 17:34:39 231 0

原创 【Jenkins学习 】Jenkins安装 Build User Vars Plugin插件来获取jenkins用户相关信息

一、需求描述 最近在一台测试服务器上安装最新版本的Jenkins,然后学习Pipeline语法,一切都是正常的。最后编译完成,发送通知的时候,因为需要使用到${BUILD_NUMBER} 变量,如下所示是之前的语法: 【Jenkins学习 】如何编写Python脚本来调用企业微信的api通知企业微...

2019-11-07 11:08:57 788 0

原创 【我的Android进阶之旅】如何利用Android Studio查看外部log的堆栈信息

一、需求描述 通常我们 App 中会继承一下线上 bug 反馈的 SDK 比如 bugly,umeng,或者自己内部的日志平台等。这个时候我们就需要分析这些crash的堆栈信息,比如如下所示的堆栈信息画面。 我们得分析它啊,怎么样才能最快的定位到代码呢? 可以借助Android Studio...

2019-11-06 11:30:51 377 0

原创 【我的DOT语言学习之旅】 学习DOT语言并使用Graphviz软件来打开.dot文件

一、背景描述 最近在研究didi的booster框架,应用到项目中,然后通过执行 assemble task 来构建一个优化过的应用包,构建完成后,在 build/reports/ 目录下会生成相应的报告。 生成的报告文件中,包含了部分dot文件,如下所示 打开该x.dot文件,是一堆如下面的...

2019-09-17 15:47:03 1351 0

原创 【我的Android进阶之旅】解决错误:java.lang.IllegalArgumentException: Invalid Layer Save Flag - only ALL_SAVE_FLAG

一、问题描述 最近APP大改版,在启动页加入了一个很炫的动画功能介绍。但是当运行在Android Q机子上的时候,出现了奔溃,奔溃信息如下所示: 2019-09-10 15:33:05.825 21734-21734/com.xtc.watch E/AndroidRuntime: FATAL EX...

2019-09-10 16:51:34 1595 0

原创 【我的Android进阶之旅】Android Studio 使用 ASM Bytecode Outline 插件来研究Java字节码

一、需求描述 最近在研究滴滴公司开源的booster框架的源码,地址:https://github.com/didi/booster 但是会有些以为,里面的代码是怎么写出来的? 有些代码确实有点看不懂,比如下面的 https://github.com/didi/booster/blob/mast...

2019-09-05 21:07:05 2375 0

原创 【Git学习】GitLab如何禁用Gravatar头像?

一、问题描述 GitLab上的账户,有的人使用的是自动生成的头像,有点人使用的是自定义上传的头像,如下所示 如何我们点开两个不同类型的头像,查看链接发现有差异,如下所示: gitlab服务器自动生成的头像 自动生成的图片,地址在www.gravatar.com/ 网站上 如下面的图片地址是...

2019-08-31 16:19:18 1033 0

原创 【我的Android进阶之旅】解决一次由于LayoutInflater中inflate方法调用不当导致的item的宽高显示不正常的问题

一、问题描述 最近APP进行大改版,整体UI风格都改变了。因此全部包含Banner的界面都需要调整 UI。 在替换过程中,有一个界面的UI出现了问题。 交互要求的实现效果 实现出现问题的效果 绿色的背景完全显示不出来,导致界面及其难看。 二、分析问题 错误的 使用Layout Insp...

2019-08-31 09:55:44 490 3

原创 【我的Android进阶之旅】解决Android Studio 启动模拟器出现错误:AVD is already running , delete the *.lock and try again

一、问题描述 AVD 4_WVGA_Nexus_S_API_28 is already running. If that is not the case, delete the files at C:\Users\000\.android\avd/4_WVGA_Nexus_S_API_28...

2019-08-28 12:07:19 2575 4

原创 【我的Android进阶之旅】如何将Android项目进行AndroidX迁移

一、AndroidX概览 官网 https://developer.android.com/jetpack/androidx 中有介绍 AndroidX 是 Android 团队用于在 Jetpack 中开发、测试、打包和发布库以及对其进行版本控制的开源项目。 AndroidX 对原始 Andro...

2019-08-27 19:46:42 1772 0

原创 【Maven学习】如何上传gradle压缩zip包至Maven私服,让Android项目可以引用Maven库里面的gradle压缩包

一、需求描述 之前写了一篇 【Maven学习】如何上传jar包至Maven私服,让Android项目可以支持Maven库在线依赖的方式来使用jar包 后面我想是不是可以将 gradle也传到maven库呢? 答案是可以的。 二、之前的引用方式 一开始我们是直接使用官方的路径 如下所示: di...

2019-08-21 22:04:52 265 1

原创 【我的Android进阶之旅】如何高亮 .api 后缀的java文件?

一、需求背景 做组件化的过程中,参考了 微信的下面的博客链接,实现了接口暴露的形式——“.api化”。 https://mp.weixin.qq.com/s/6Q818XA5FaHd7jJMFBG60w 使用方式和思路都很简单。对于java文件,将工程里想要暴露出去的接口类后缀名从“.jav...

2019-08-20 14:30:30 194 0

原创 【我的Android进阶之旅】解决一次报错 AAPT: error: resource drawable/ (aka xxx) not found 导致的错误AAPT2 aapt2 Daemon #0

一、错误描述 今天添加一些新的UI修改功能之后,合并了develop分支的代码之后,编译出现了错误,如下所示: 具体的完整错误日志如下所示: FAILURE: Build failed with an exception. * What went wrong: Execution failed...

2019-07-31 17:15:31 5528 7

原创 【我的Android进阶之旅】使用resConfigs 去除无用语言资源,减少你的apk体积

resConfigs介绍 官网 https://developer.android.com/studio/build/shrink-code 在官网中有介绍,如下所示: Gradle 资源压缩器只会移除未被您的应用代码引用的资源,这意味着它不会移除用于不同设备配置的备用资源。必要时,您可以使...

2019-07-29 16:49:59 1590 0

原创 【我的Android进阶之旅】自定义一个Dialog, 设置setOnKeyListener方法监听返回键, 按下返回键的时候会执行两次的bug

一、问题描述 项目中有段代码被其他同事修改了,然后出现了一个bug,bug描述如下所示: 项目收到某个推送的时候,弹出一个对话框,让用户处理。只有两个选项“同意”或者是“拒绝”。 如果用户不想当即处理,可以点击返回键,然后这个时候再弹一个弹框出来,有两个选项“”取消“”和“暂不处理”。用户点击了...

2019-07-23 09:56:38 959 0

原创 【我的Android进阶之旅】使用TextAnalysisTool来快速提高你分析文本日志的效率

一、分析日志的需求 作为一个开发人员,肯定会有各种各样的问题需要日志来分析,这个时候就需要能有个好的工具来快速分析日志了。但是工具需要具备什么样的功能才能提高分析日志的效率呢?一般来说,满足以下两点即可: 过滤掉不相关的日志信息 能够高亮突出需要的日志信息 之前一直用的是NotePad++,一...

2019-07-06 12:06:54 940 3

原创 【我的Android进阶之旅】 Android Studio 使用小技巧:使用logt 这个live template(代码模板)快速生成日志TAG

一、需求描述 使用安卓的日志,无论打印哪种级别的日志,都需要TAG,如下所示: public class PhotoUtil { private static final String TAG = PhotoUtil.class.getSimpleName(); } 但是这样写的话,代...

2019-07-02 14:51:19 652 0

原创 【Maven学习】Nexus代理其他第三方的Maven仓库,出现Remote Automatically Blocked and Unavaliable的错误

一、错误描述 打开Nexus Repository Manager OSS 管理界面,看到代理的google和huawei仓库,出现了Remote Automatically Blocked and Unavaliable的错误,如下所示: 二、分析原因 2.1 huawei 代理的huawei...

2019-06-19 16:19:25 3752 3

原创 【我的Android进阶之旅】 Android Studio 使用小技巧:快速编辑以及验证正则表达式

一、如何快速验证正则表达式? 在项目中有很多的正则表达式,如下所示: 比如下面的,有一个正则表达式 表示判断是否是中文的 //是否是中文 private static String REGEX_CHINESE = "^[\u4e00-\u9fa5]+$"; 我们如何快...

2019-06-13 11:11:28 783 0

原创 【我的Android进阶之旅】 Android Studio 使用小技巧:快速Close Others其他的文件

一、效果 今天看到 【Tip of the Day】,有两种方式关闭掉其他的tabs,如下所示: There are two ways of closing all tabs in the editor, except the current one: First, right-click t...

2019-06-13 10:46:37 292 0

原创 【我的Android进阶之旅】解决错误:You have not accepted the license agreements of the following SDK components

一、错误描述 今天有个同事编译项目的时候,出现了如下所示的错误: Checking the license for package CMake 3.6.4111459 in /data/opt/android/sdk/licenses Warning: License for package CM...

2019-06-11 17:32:27 3211 0

原创 【我的Android进阶之旅】Linux环境下如何安装NDK?

一、需求描述 随着项目越来越大,需要越来越多的NDK开发,最近一个迭代需要Android NDK开发,在本地Window开发完毕之后,在jenkins服务器进行编译的时候出错了,如下所示,提示 NDK not configured. : 二、解决问题 2.1原因分析 从报错日志可以看到,原因是N...

2019-06-11 11:37:07 1165 0

原创 【我的Android进阶之旅】 Android Studio 使用小技巧:取消单行显示tabs的操作

一、效果 1.1 没有取消单行显示tabs的操作时候的效果 当打开多个文件的时候,没有取消单行显示tabs的操作的时候的效果,如下所示, 1.2 取消单行显示tabs的操作后的效果 那么去掉后有什么效果呢?打开多个文件的时候,会换行显示,非常直观。大大提升效率! 二、如何设置 2.1 默认...

2019-06-05 08:50:36 373 1

原创 【我的Android进阶之旅】 解决Android编译出现问题:AAPT: error: resource string/xxx (aka xxx:string/xxx) not found.

一、问题描述 今天合并代码之后,编译的时候出现了下面的错误。 C:\CodeForAndroid\XTCWatch\XTCWatch\XTCWatch\p_babyinfo\build\intermediates\packaged_res\debug\layout\activity_talent...

2019-06-03 20:48:30 7434 1

原创 【我的Android进阶之旅】 Android Studio 使用小技巧:打开【悬浮提示开关】 更方便看代码以及字符串资源

一、效果 1.1 strings.xml中 悬浮展示多语言翻译内容 在basiclib这个module中,关于 success这个key有多语言翻译,悬浮即可都展示出来 1.2 strings.xml中 悬浮展示多语言翻译内容,以及展示引用的aar库里面的被覆盖的资源 aar被basiclib模...

2019-05-31 14:58:45 213 0

原创 【我的Android进阶之旅】解决Jenkins编译出现的错误:java.io.tmpdir is set to a directory that doesn't exist: /tmp

一、问题一描述 今天,有个同事编译出现了问题,找我帮忙解决,错误如下所示: [Gradle] - Launching build. [Z1_AW_Launcher] $ /opt/gradle/gradle-4.3/bin/gradle clean buildInfo -s -i build -...

2019-05-29 09:27:22 558 0

原创 【Maven学习】如何上传jar或aar包至Maven私服,让Android项目可以支持Maven库在线依赖的方式来使用jar包

一、本地依赖方式 由于要使用第三方jar包。而第三方给的SDK是jar包,并没有上传到Maven库,因此不支持Maven库在线依赖,所以需要如下所示的,在项目中手动集成jar包。 然后在build.gradle中 导入刚才的libs目录 dependencies { api fileT...

2019-05-23 16:14:32 666 0

原创 【我的Android进阶之旅】解决TextView的竖线分隔符和文字不对齐,向下偏移的问题

一、问题描述 今天UI小姐姐找到我,说有个界面的问题中的 竖线分隔符 与文本不对齐,有向下偏移的问题,如下所示: 可以明显看到,这个竖线分隔符 | 与文本不对齐,有明显向下偏移的问题。 <string name="login_problem_phone_and_password&...

2019-05-21 17:53:47 2756 5

原创 解决内部服务器配置的域名解析错误:Temporary failure in name resolution

一、问题描述 有同事反馈,Jenkins编译失败,域名解析失败。错误如下所示: FAILURE: Build failed with an exception. * Where: Script '/data1/jenkins/workspace/F3_AW_Launcher_I13_...

2019-05-18 17:08:25 4242 0

原创 【我的Android进阶之旅】解决Jenkins编译出现的Gradle错误:Gradle build daemon disappeared unexpectedly

一、问题描述 同事在Jenkins新建一个job准备编译的时候,出现了如下所示的错误。 07:29:49.994 [DEBUG] [org.gradle.launcher.daemon.server.SynchronizedDispatchConnection] thread 15: recei...

2019-05-18 16:36:12 3224 2

原创 【我的Android进阶之旅】解决Android Studio编译:Unexpected lock protocol found in lock file. Expected 3, found 37.

一、问题描述 1.1 问题描述 今天上午,不断有同事像我咨询,怎么android studio 突然无法编译了,并且提示下面的错误。 Unexpected lock protocol found in lock file. Expected 3, found 37. 1.2 分析错误日志...

2019-04-29 15:17:20 905 0

原创 【我的Android进阶之旅】Android Studio如何同时打开多个项目?

一、问题描述 今天在打开一个Android 工程的时候,想打开另外的一个工程,弹出下面的对话框 然后我选择了【This Window】,并且勾选了【Remember,dont’t ask again】选项框,如下所示 这样新打开的工程就替换了当前的工程,在当前窗口展示了。 但是我又想将之前关闭...

2019-04-13 14:31:06 2426 0

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