×

技术坑

Android使用Gradle单独编译某个模块

mtsym mtsym 发表于2018-08-17 浏览8590 评论0

Android使用Gradle单独编译某个模块

有时候项目的某个模块已经非常稳定不会再改动或者需要提供给第三方,这时候将模块打包成aar便可以了,有两种方式可以处理

  1. 在gradle文件里面配置,直接build整个工程就会在该module的build/output/aar下生成aar文件
    android.enableBuildCache = false
  2. 直接使用命令gradlew :module:task,比如
    
    ./gradlew :te<!--autointro-->

技术坑

zblog主题添加右侧栏

mtsym mtsym 发表于2018-08-17 浏览5423 评论0

现在用的这套主题是plain,当初搭建zblog时在应用中心随便点的,没注意到已经是三年前的主题,不支持sidbar,用了有一段时间了,不想折腾,今天花了点时间给加上了,zblog的结构很清晰,简单步骤如下

  1. 编辑css文件,给右侧留出布局空间
  2. 在index.php和single.php增加右侧栏布局,在模块管理里面可以看到有5个侧栏,在模板里面使用

    
    
        {template:sidebar}
        {template:sideb<!--autointro-->

技术坑

部分代码躲避SonarQube检查

mtsym mtsym 发表于2018-08-09 浏览5716 评论0

SonarQube是个好东西,不仅能帮你检测出一些低级错误,还能保证整体代码质量,但是也有比较烦人的地方,比如一些老的代码已经非常稳定,你不想再去改动,如果不想让SonarQube检查,只需要在SonarQube报警的那一行加上后面加上//NOSONAR就行了


public void disableSonarCheckHere {//NOSONAR

}
```<!--autointro-->

技术坑

Java出现个别中文字符乱码问题

mtsym mtsym 发表于2018-07-20 浏览5879 评论0

如果你发现HttpClient获取下来的内容个别字符是乱码的,别慌,这种情况很可能页面编码是GB2312的,但是某个汉字编码不在GB2312里面,所以采用GBK或者GB18030对字符串进行处理就行了,另外这种情况不要使用EntityUtils.toString去处理,因为它内部实现有个1024的buffer操作,毕竟老外写得库,不会考虑中文。使用BufferedReader按行读取,或者使用ByteArrayOutputStream一次性全部读取再进行字符串编码处理。

技术坑

小米安卓电视一个屏保动画效果

mtsym mtsym 发表于2018-07-10 浏览5415 评论0

小米电视盒子上出现屏保时有一个类似水墨画的渐变效果,挺好看的,研究了一下发现是用opengl做的,在cocos2d项目下在Scene里面写个Filter配合vsh、fsh 加载底图进行处理就行了,Shader文件如下

vsh文件

attribute vec4 a_position;
attribute vec2 a_texCoord;
attribute vec4 a_color;
#ifdef GL_ES
varying lowp v<!--autointro-->

技术坑

Android开发中渠道包过多时gradle过滤处理

mtsym mtsym 发表于2018-07-05 浏览5259 评论0

有些公司App需要大力推广,所以会要求打大量的渠道包,这样gradle文件里面会产生一堆配置,如果不进行处理每次打开项目会非常慢,AS会花大量的时间去处理这些渠道包,为了避免这个问题,只需要在variantFilter进行一些过滤配置就行了,大致如下


variantFilter { variant -˃
    def names = variant.flavors*.name

    def buildTypeName = variant.buildType.name
<!--autointro-->