升级gradle后混淆代码出错…

android studio 每次更新都是大麻烦。
上次更新更新混淆命令改成了“minifyEnabled true”,折腾了半天。

这次更新混淆又变化了,原来“proguardFile ‘proguard-rules.txt’” 指定混淆文件,这次变成了 “proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’”

次次更新不兼容,实在太坑了。

在线工具收集:js、html、c、c++、php、python、sql、正则、ping、远程唤醒等

html、js、css
http://jsfiddle.net/
http://runjs.cn/code

C,C++,D,Haskell,Lua,OCaml,PHP,Perl,Plain Text,Python,Ruby,Scheme,Tcl等
https://eval.in/
http://codepad.org/
http://tool.lu/coderunner
http://cogug.com/
https://coderpad.io/
http://cyber-dojo.org/setup/show/
http://www.tutorialspoint.com/codingground.htm
http://codevs.cn/

Scala
http://zh.scala-tour.com/#/hello-wolrd

在线IDE
https://koding.com/

API测试
https://apigee.com/console/
http://www.bejson.com/go.html?u=http://www.bejson.com/httppost/

httpbin(1): HTTP Request & Response Service
http://httpbin.org/
http://ifconfig.me/

sql
http://sqlfiddle.com/

正则
https://regex101.com/
http://www.regexr.com/
https://regex101.com/
正则表达式图形分析

远程唤醒
http://www.depicus.com/wake-on-lan/woli.aspx

html、xml、css、json、javaScript、java、sql格式化
http://tool.oschina.net/codeformat/json
http://tool.oschina.net/
http://www.kjson.com/
http://www.useol.com/

ping、TraceRoute、dns
http://alibench.com/
http://ping.pe/
http://www.ipip.net/ping.php
http://www.17ce.com/
http://ce.cloud.360.cn/
http://ping.chinaz.com/

Base64
http://www.kjson.com/encrypt/base64/
http://tool.chinaz.com/Tools/Base64.aspx
http://tool.oschina.net/

浏览器指纹
http://whoer.net/extended
https://whatleaks.com/
https://panopticlick.eff.org/
http://www.ip-score.com/
https://ipleak.net/
https://www.browserleaks.com/canvas
http://www.lalit.org/lab/javascript-css-font-detect/

BGP
http://bgp.he.net/AS4134

在线pdf阅读
http://www.useol.com/pdfReader/

在线Crontab表达式执行时间验证
http://www.atool.org/crontab.php

在线 htpasswd 生成器工具
http://www.atool.org/htpasswd.php

在线端口扫描
http://www.atool.org/port_scanner.php

在线抓包
http://www.atool.org/port_scanner.php

NAT 连通性测试
http://cc.rtmfp.net/

在线流程图
https://www.processon.com

cubieboard cups epson 打印机安装

现在访问 http://ip:631 可以看到cups的管理界面,选择”Adding Printers and Classes”输入账号及密码,正常情况下应该把打印机识别出来了,按说明填写即可。

我这里型号没找到,只能自己在 http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX 下载的驱动,然后从里面找到打印机的ppd文件上传到 cups 上面的。

打印测试页却发现无法打印,提示 Idle – “File “/opt/epson-inkjet-printer-201207w/cups/lib/filter/epson_inkjet_printer_filter” not available: No such file or directory” ,在官方网站没有找到 arm 的驱动,无奈下载
epson-inkjet-printer-201207w-1.0.0-1lsb3.2.src.rpm 。 alien rpm 提示 is for architecture amd64 ; the package cannot be built on this system,无法使用,只能自己也压缩编译了。

好了,打印机安装完毕。可以 windows 远程使用了。现在打开 http://IP:361/printers/ 找到安装的打印机,点开他,然后把这个 URL 拷贝下来。在WINDOWS 下 打印机 => 添加打印机 => 添加网络、无线或 Bluetooth 打印机我这里直接自动就把打印机搜索出来了,如果没有搜索出来,需要手工输入之前拷贝下来的 URL ,然后会提示需要驱动,我这里自动搜索驱动没成功,手工选择的对应驱动。继续下一步,接着可以打印测试页试一下,一切正常的话应该打印出来了。

目前还有一个问题是,在 http://IP:361/printers/ 打印测试页时出错,目前先这样吧,反正很少直接在cups打印测试页,都是在windows下操作,windows下操作没有问题。

另附编译好的驱动及ppd文件,具体能用到哪些打印机就不确定了…

EPSON 210 ARM驱动

linux 查看磁盘信息

检测磁盘驱动的健康程度SMART
http://www.linuxidc.com/Linux/2014-07/104674.htm

cubieboard NAS samba 配置

接着上一篇继续
http://www.chenwang.net/2015/04/28/cubieboard-%E7%A3%81%E7%9B%98%E6%80%A7%E8%83%BD/

安装 samba ,这里先安装 aptitude 。第一次时是用 apt-get 来安装的 samba ,结果出现包依赖错误,系统都挂了…

下面配置账号。

好了,现在可以在 windows 下使用 \\IP 来访问共享了。
实测 win7 往 cubieboard 拷贝大文件速度在 9.77M -10.1M之间,应该是cubieboard 100M网卡的性能限制的。

参考:
How to Create a Network Share Via Samba Via CLI (Command-line interface/Linux Terminal) – Uncomplicated, Simple and Brief Way!
https://help.ubuntu.com/community/How%20to%20Create%20a%20Network%20Share%20Via%20Samba%20Via%20CLI%20%28Command-line%20interface/Linux%20Terminal%29%20-%20Uncomplicated,%20Simple%20and%20Brief%20Way!

cubieboard 磁盘性能

今天把很早之前的 cubieboard 翻了出来,打算做 nas 。缺点是网卡是100M的。

现在的tf安装的 linaro server 14.04 系统。

tf卡是:三星(SAMSUNG)16GB UHS-1 Class10 TF(Micro SD)存储卡(读速48Mb/s)升级版
http://item.jd.com/763749.html

tf 卡速度为:

找了一块古董100g硬盘来做测试。

fdisk 列出硬盘分区,硬盘的分区已经预先删干净了,下面新建一个主分区,并建立文件系统。

建立目录,挂载分区。

跑磁盘性能测试

性能并不好,不过由于网卡只有100M,NAS 瓶颈并不在磁盘,而是在网络…

参考:

linux测试硬盘读写速度
http://5iwww.blog.51cto.com/856039/432290

cubieboard的sata评测
http://raspiweb.ch/post-56.htm

ubuntu 安装 Redis

ubuntu 自带的 redis 版本太老了,居然是去年1月的版本。决定自己编译安装新版本。

redis-server Redis 服务器文件.
redis-sentinel 守护程序 (监控和故障转移).
redis-cli 命令行界面工具.
redis-benchmark 基准测试.
redis-check-aof and redis-check-dump 损坏数据修复工具.

手动拷贝文件到需要的地方时一个好主意。

sudo cp src/redis-server /usr/local/bin/
sudo cp src/redis-cli /usr/local/bin/
也可以使用 make install.

测试时出现过下面的错误,原因是内存不足,完整测试大约需要300M内存,加大内存即可。

参考:
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-redis
http://redis.io/topics/quickstart
Redis 命令参考
http://redis.readthedocs.org/en/latest/index.html

持久化(persistence)
http://redis.readthedocs.org/en/latest/topic/persistence.html

socket.io socket.join 房间名称不允许带” . “,怎么都发不出去消息,试了半天把房间名里面的.去掉了正常了。

一个客户端加入了 gdebug.ping 房间,服务器用 socket.to(“gdebug.ping”).emit(“gdebug.info”,data); 发消息,怎么试就试收不到。。。

最后发现把 . 去掉,改成 gdebug ping 就能收到消息了。

socket.io 文档太简单了,很多资料都没有。

解决 ElementTree 无法处理中文,UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 76-99: ordinal not in range(128)

ET.fromstring 传进去 unicode 字符串提示 UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 76-99: ordinal not in range(128)。

encode(‘utf-8′) 后传进去提示 ValueError: multi-byte encodings are not supported,不支持多字节编码。

python 的中文支持真是头痛,这个如果用 sys.setdefaultencoding=’utf-8’ 可以解决,但是觉得直接为了这个直接修改了全局编码不太好,最后发现可以用如下代码解决:

https://gist.github.com/GameXG/89b92a9a94456ff2da85

Android Studio 发布时不混淆代码及解决 Gradle DSL method not found: ‘runProguard()’ 错误

刚开始使用 Android Studio 结果发布时不混淆代码,已经在设置里面配置了 proguardFile ,但发布时还是没有混淆代码,也没有生成mapping.txt文件.
从网上搜索出来的全是

buildTypes {
release {
runProguard true
proguardFile ‘proguard-rules.txt’
}

增加了 runProguard true 后直接报如下错误:
Error:(41, 0) Gradle DSL method not found: ‘runProguard()’
Possible causes:

  • The project ‘Cardboard’ may be using a version of Gradle that does not contain the method.
    Gradle settings
  • The build file may be missing a Gradle plugin.
    Apply Gradle plugin
  • 无奈跑到 Android Tools Project Site 翻文档发现0.14.0 (2014/10/31) runProguard 改名成了 minifyEnabled ,照着操作就可以了.

    参考:
    http://tools.android.com/tech-docs/new-build-system
    http://tools.android.com/tech-docs/new-build-system/user-guide
    http://developer.android.com/tools/help/proguard.html