8 欧阳鹏

步步高教育电子 软件工程师

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

等级
TA的排名 275

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

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

2019-11-07 10:44:54

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

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

2019-11-06 11:21:51

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

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

2019-09-17 14:25:07

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

一、问题描述最近APP大改版,在启动页加入了一个很炫的动画功能介绍。但是当运行在AndroidQ机子上的时候,出现了奔溃,奔溃信息如下所示:2019-09-1015:33:05.82521734-21734/com.xtc.watchE/AndroidRuntime:FATALEXCEPTION:mainProcess:com.xtc.watch,PID:2173...

2019-09-10 15:33:47

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

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

2019-09-05 20:37:50

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

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

2019-08-31 16:19:18

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

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

2019-08-31 09:55:44

【我的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.avd/*.lockand try again.这个模拟器启动不了。二、分析问题2.1 ...

2019-08-28 12:07:19

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

一、AndroidX概览官网 https://developer.android.com/jetpack/androidx 中有介绍AndroidX 是 Android 团队用于在 Jetpack 中开发、测试、打包和发布库以及对其进行版本控制的开源项目。AndroidX 对原始 Android 支持库进行了重大改进。与支持库一样,AndroidX 与 Android 操作系统分开提供,并与...

2019-08-27 19:46:42

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

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

2019-08-21 22:04:52

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

一、需求背景做组件化的过程中,参考了 微信的下面的博客链接,实现了接口暴露的形式——“.api化”。https://mp.weixin.qq.com/s/6Q818XA5FaHd7jJMFBG60w使用方式和思路都很简单。对于java文件,将工程里想要暴露出去的接口类后缀名从“.java”改成“.api”,就可以了。这样暴露的接口因为后缀名是.api,所以无法直接被其他的地方引用...

2019-08-20 14:30:30

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

一、错误描述今天添加一些新的UI修改功能之后,合并了develop分支的代码之后,编译出现了错误,如下所示:具体的完整错误日志如下所示:FAILURE:Buildfailedwithanexception.*Whatwentwrong:Executionfailedfortask':watch:processDebugResources'.>Andr...

2019-07-31 17:15:31

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

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

2019-07-29 16:49:59

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

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

2019-07-23 09:56:38

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

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

2019-07-06 12:06:54

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

一、需求描述使用安卓的日志,无论打印哪种级别的日志,都需要TAG,如下所示:public class PhotoUtil { private static final String TAG = PhotoUtil.class.getSimpleName();}但是这样写的话,代码被混淆之后,这个TAG可能就被混淆的难以识别,如果继续用ClassName.class.getSim...

2019-07-02 14:51:19

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

一、错误描述打开NexusRepositoryManagerOSS管理界面,看到代理的google和huawei仓库,出现了RemoteAutomaticallyBlockedandUnavaliable的错误,如下所示:二、分析原因2.1huawei代理的huawei仓库的真实远程路径为http://developer.huawei.com/repo/我们通过浏览...

2019-06-19 16:19:25

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

一、如何快速验证正则表达式?在项目中有很多的正则表达式,如下所示:比如下面的,有一个正则表达式 表示判断是否是中文的 //是否是中文 private static String REGEX_CHINESE = "^[\u4e00-\u9fa5]+$";我们如何快速的验证 这个正则表达式 是否正确呢?1.1 在线网站测试正则表达式很多人估计会去搜索在线的一些验证正则表达式的网站,...

2019-06-13 11:11:28

【我的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 the editor tab, and choose Close Others on the conte...

2019-06-13 10:46:37

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

一、错误描述今天有个同事编译项目的时候,出现了如下所示的错误:CheckingthelicenseforpackageCMake3.6.4111459in/data/opt/android/sdk/licensesWarning:LicenseforpackageCMake3.6.4111459notaccepted.FAILURE:Buildfaile...

2019-06-11 17:32:27

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获取
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。