添加依赖 

    compile 'com.alipay.euler:andfix:0.4.0@aar'

github : 

    https://github.com/alibaba/AndFix





1. 首先 , 在Application的onCreate中初始化

patchManager = new PatchManager(this);            String version_name = getPackageManager().getPackageInfo(getPackageName(),0).versionName;            patchManager.init(version_name);
其中pacthManager是一个PatchManager的实例 , 在Application中定义为一个static变量, 供外部使用;



2. 然后接着写下边的方法, 是为了加载已经下载过的补丁文件

patchManager.loadPatch();



3. 初始化完成后 , 这时候就要写自己的加载补丁的逻辑代码了 ; 比如启动app后,去自己服务器获取,是否有补丁文件需要下载,如果有并且下载到本地完毕后,执行下边代码,就会将补丁生效了 .

patchManager.addPatch(file.getAbsolutePath());
其中file就是下载的补丁文件.




4. 生成.apatch补丁文件

下载生成补丁的工具 : 这里 , 然后解压打开后有三个文件 ,一个.sh,一个.bat,一个.jar, linux和mac使用.sh命令文件, windows使用.bat命令文件 ; 执行命令前需要准备原来的有bug的apk和新的bug修复的apk还要签名文件 , 两个apk文件都需要是release版本且签名与命令中使用的签名文件一致 , 命令如下(mac电脑中)

./apkpatch.sh 
-f fix.apk                               //修复完毕的apk文件
-t bug.apk //有bug的apk文件
-o ./ //补丁文件输出路径  : 当前目录
-k key.keystore //签名文件
-p 123456 //签名文件密码
-a alias //签名文件alias
-e 123456//签名文件alias的密码
   
执行后,会生成几个文件和文件夹,其中有用的就是以.apatch结尾的,这个就是补丁文件,需要给服务器让app去下载;
   
   
   
   
   
5. 研究AndFix的时候用得自己正在使用的手机, 当demo完成安装打开测试的时候,老是崩溃,发现是c++文件中出了问题,然后又换了一个小米手机就又正常了,AndFix这玩意的适配性感觉很不好;






更多相关文章

  1. Android之文件操作
  2. 拷贝的Android源码不能单独编译mmm命令提示找不到
  3. Android SDK目录下的各个文件夹的作用
  4. Android修改文件和文件夹权限
  5. android打开pdf ppt word excel chm html text 文件
  6. android pm 命令总结
  7. android加载文件的方式,路径的写法
  8. android中创建目录以及txt文件
  9. Android 指定(后缀名)格式文件扫描

随机推荐

  1. Handler内存泄露原理及解决方法
  2. Android运行环境Dalvik和ART的比较
  3. Android源码下载之《Android新闻客户端源
  4. [置顶] 杂谈——Android从启动到程序运行
  5. Android 和 iPhone 界面布局示例
  6. LeanCanary——消除Android中的内存泄露
  7. 清除ANdroid 工程中的无用资源。
  8. Android中解析网络请求的URL
  9. 在Ubuntu上安装Android(安卓)NDK
  10. Android系统信息获取 之六:网络连接状态信