使用jenkins为android工程打包,支持多包名,改资源(优化方案)
需求
没有需求,自己看了一眼自己之前写的打包脚本,简直无法看下去。而且,产品经理的定制化需求越来越多,用shell脚本的可读性也越来越差,再加上里面一堆的sed命令,惨不忍睹。
改!!!
分析
gradle其实支持自定义参数,关于自定义参数的介绍,参考官方文档:https://docs.gradle.org/current/userguide/build_environment.html,简单说一下用到的:[Gradle properties](https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties):
android进程保活(掌握黑心科技)
python+selenium为你自动挂海淀驾校法陪课
OpenCV在Android NDK按需要的模块编译
前言
公司要做一个和图片有关的功能,一说图片处理,大家首先想到的就是强大的OpenCV。OpenCV很强大,官方也提供了android专用的sdk,直接将so和jar放入项目中就能使用。尽管官方推荐的也是这种方式,但有一个问题是,OpenCV的库很大,有10MB,很多公司整个APK都没有10MB,如果要把真个库都放到项目中,那还是挺大的。所以,这里就需要我们自己编译。中间折腾了好久,写个文章记录一下。
准备
下载OpenCV
地址 https://opencv.org/releases/
选择Android平台的包
这里注意了,4.0的版本,要求api level是21以上,所以,如果你的APP是要在21以下使用,不要下载这个。
3.x的版本不清楚,但我试了OpenCV 2.x的版本是api level 8以上。2.x的版本,需要自行google,官方应该已经不提供了。
jenkins中实用的插件
记录
最近疫情闹的有点凶,大家都是在家办公,刚好群里的一个妹子一边卖萌,一边问jenkins的搭建及使用,就用腾讯会议给辅导了一下。给她讲完后,翻了翻之前给公司搭建的环境,想记录一下之前使用过的Jenkins插件,供以后使用。
暂时就这些,有好用的插件会不定时更新。
自带插件
安装的时候,会提示你要选哪些插件,建议默认,像git svn以及gradle,这些插件会在默认插件列表里就存在。
Git Parameter
可用于把git的tag branch当作构建参数传进来,方便使用branch构建。
SVN Parameter
同Git Parameter 一样是可以将tag branch当作构建参数传进来。
Git中rebase的常规使用
git
公司从svn版本管理切换成了git,Android Studio(Intellij IDEA)也可以较好的支持git,相当方便。git有一个特别强大的命令,那就是rebase,这篇blog就记一下git rebase的一些使用。
官方文档
https://git-scm.com/docs/git-rebase
一个不错的操作模拟
android 8.0 foregroud-service的坑
ForegroudService
都知道8.0以后,不可以在后台调用startService()来启动一个服务,要想通过startService启动,必须activity在前台时才能使用。当然onResume和onPause状态下的activity都可以。但是,也有一种情况是例外。
https://developer.android.com/about/versions/oreo/background#services
这里在官方文档也有讲,就是: 进入后台时,在一个持续数分钟的时间窗内,应用仍可以创建和使用 Service。 也就是,当你的activity刚进入后台时,是可以调用startService的。
如果不使用startService,就得使用startForegroundService,但是需要绑定一个通知,可以在调用时传入通知id,也可以在调用后,通过startForeground来绑定。
然而,除了以上,还是有一些疏忽了的,需要注意的地方。