0%

简介

最近有小伙伴问ant打包的事,google现在又在推广它的gradle构建工具,但是,目前有许多朋友还是用的ant,而且,在SDK多次更新之后,之前写好的ant文件不适用了,典型的例子就是apkbuilder命令。那么,怎么办呢??

好多人在网上搜索写好的打包脚本,并费劲心机的寻找工程依赖的打包方法,其实,android的SDK已经给我们提供了该build.xml文件了,就在/tools/ant/下面,这个脚本引用了tools/lib下的ant-task.jar,封装了好多target,我这里就说说怎么使用该脚本。

生成ant脚本

  • 在sdk/tools目录下执行下面的命令,注意将命令里面的目录改成你的工程的目录

    1
    android update project -p /dir/to/ur/project 
  • 如果你的工程没问题,就会在目录下生成2个文件,build.xmllocal.properties,打开local.properties,可看到其实是一个环境配置

  • 在工程目录新建ant.properties,将下面的配置信息添加到该文件中,注意将keystore的信息改成你的

    1
    2
    3
    4
    key.store=/home/android/android/build-res/safetrip.releasekey
    key.alias=android
    key.store.password=password
    key.alias.password=password
  • 打包,在工程下使用命令ant release,或者在eclipse中用ant运行

阅读全文 »

在早期的支付宝android客户端中,也有插件化的功能。大概的做法就是,自定义所有的UI控件,再通过XML文件,仿安卓原生XML的布局文件来搭建布局,再通过自定义的表达式解析器,利用JAVA的反射特性来给具体的控件添加不同的功能。这样也达到了插件化。

之前写过一篇文章,说的是支付宝的插件化。其实这篇文章很老了,现在的支付宝早已不是这种做法。最近几天忙里偷闲,反编译了一下支付宝的插件化。

在下资历不高,简单分享一下,大牛看到也不要喷我,在下也是在探索学习中,欢迎交流!

工具:

工欲善其事,必先利其器。因为平时拆包少,对某些好工具也了解不多,基本用了手工的方法来处理的。大家可以用什么APK改之理之类的工具。

  • apktool:这个大家都知道,反编译利器,我下的是apktool_2.0.0b9版本
  • dex2jar:不是必须,但看smali代码太累,用这个工具好受一些
  • jd-gui:不解释
  • Replace Studio:文本搜索工具,可以搜索某文件夹下的文件是否有某文本,我一直用这个,不知道大家有没有其它好工具推荐。
  • notepad++:如果你用记事本也可以
  • android环境:这个必须,你看完它的代码了,你起码得自己写的试试吧
阅读全文 »

拍照

在安卓上拍照主要有两种方案:

  1. 直接调起系统的照相机拍照片,拍完后,图片会在相册中保存一份,对于程序来说,可以拿到保存照片的路径,从而获取图片。
  2. 自己写SurfaceView调用相机来实现拍照,用该方法会触发一个回调,回调的参数中包含一个字节数组,里面就是图片信息。

这在网上已经有了好多的资料。

问题

按照需求我们采用的是第2种方案,基本的流程就是:拍照–压缩–保存–上传

本来一切挺顺利,但当我遇上小米。。

阅读全文 »

前言

支付宝已不再采用该方法插件化了,请参考 探究支付宝android客户端的动态加载

使用过支付宝android客户端的小伙伴们都知道,支付宝android客户端可以增量更新,不仅能够随时改变内部APP的个数,还可以改变它的布局,结构等。为本人也在做移动支付,对支付宝客户端颇感兴趣,于是找时间来简单破解研究一下。

支付宝的插件化,一共有两种方式,一种是通过html网页来实现布局。html技术相信coder们都清楚,不再介绍。这里只介绍native的插件化。

插件的下载

通过对文件监控对比发现,支付宝的插件更新,是下载一个后缀名为.amr的文件,此文件实质是一个压缩包,修改后缀为zip可直接解压。

阅读全文 »