lefo的菜鸡实录

又是一个android开发

前言

公司要做一个和图片有关的功能,一说图片处理,大家首先想到的就是强大的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插件,供以后使用。

暂时就这些,有好用的插件会不定时更新。

自带插件

安装的时候,会提示你要选哪些插件,建议默认,像git svn以及gradle,这些插件会在默认插件列表里就存在。

Git Parameter

可用于把git的tag branch当作构建参数传进来,方便使用branch构建。

SVN Parameter

同Git Parameter 一样是可以将tag branch当作构建参数传进来。

阅读全文 »

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来绑定。

然而,除了以上,还是有一些疏忽了的,需要注意的地方。

阅读全文 »

错过房子

自如在北京租房行业上占据着龙头地位,它们的房租也是一年比一年高,特别是新签约的房子,价格很是离谱。但偶尔也会有一两个换租的房子,性价比超级高。如果有自己比较中意的小区,想监控里面的房子,我就有一次看中一个房子,看到的时候,就已经晚了,等想签的时候,被别人抢先了。这个脚本,可以在某小区有新房源的时候,第一时间通知自己。

阅读全文 »

现有采集

都知道APK就是一个zip包,目前,收集别人家的APK信息,原理都一样,一般都是先将APK文件下载,再提取AndroidManifest.xml,通过AXmlPrint2.jar打开,得到反编译后的xml,解析xml得到包信息。

那么,一个游戏好几个GB,真正用到的却只有几KB信息。如果能跳过内容,结合断点下载,直接下载到AndroidManifest.xml,那就能省很多流量了。

阅读全文 »

前言

google从下个月开始,所有在play上架的app都会要求升级的。为了与时俱进,我们的app也要升级到targetSdkVersion=26了,虽然我们的APP是助手类,不可能上架google play。

关于升级后8.0的各种介绍,参考这里https://developer.android.com/about/versions/oreo/

8.0行为变更看这里https://developer.android.com/about/versions/oreo/android-8.0-changes

基本上,看完上面链接里的内容以后,你就能针对你的代码做修改了。下面主要记录一下实际修改中的几处重点。

阅读全文 »

垂直滚动的ViewPager

凡是找到我这篇文章的,肯定都在网上看过这样一篇文章[几行代码实现ViewPager垂直滚动],地址我就不上了,随便一搜,到处都是,原理也很简单,交换一下横竖坐标,再设置一个上下的Transformer。然而,事情并没有想像的那么简单。

阅读全文 »

需求

上一篇文章主要写了打包刚开始的配置和参数化构建。这篇文章主要讲一讲在改包名、改资源的打包实践中,常会碰到的问题以及解决办法。如果看博客的人有更好的解决办法,也可以找我交流,关于页面有我联系方式。

打包的主要需求如下:

  1. 改包名
  2. 可以替换icon,可以修改应用名,包括应用内部显示的名称(如版权信息)
  3. 可以控制部分功能是否开启

改包名分析

我们知道,改包名只是修改applicationId,和代码中类的package无关,所以基本上代码和AndroidManifest.xml中组件的name,都是不需要改动的。但是还是会涉及到下面的这些问题:

阅读全文 »

下载安装jenkins

官网地址:https://jenkins.io/
没什么好说的,网上教程一大堆,唯一要做的是要修改jenkins_home目录所在分区,因为将来所有的内容都要放在这里,如果分区太小,指不定哪天就满了,到时就打不了包了。

实践中,发现/home/jenkins目录也要处理一下,我就碰上了/home/jenkins目录占满了根分区,打开发现都是gradle打包时生成的一些缓存,就将/home/jenkins使用ln命令做了个软连接到另一个分区目录下。

阅读全文 »
0%