美文网首页
Android美团热更新

Android美团热更新

作者: EvanPoison | 来源:发表于2017-05-22 14:24 被阅读98次

前言

在Android studio 2.2.2上没弄成功,今天换成2.3.1后成功啦

<!--需要热补的包名或者类名,这些包名下的所有类都被会插入代码-->
    <!--这个配置项是各个APP需要自行配置,就是你们App里面你们自己代码的包名,
    这些包名下的类会被Robust插入代码,没有被Robust插入代码的类Robust是无法修复的-->
 <packname name="hotfixPackage">
        <name>com.demo.evan.myrobustdemo</name>
    </packname>
<!--补丁的包名,请保持和类PatchManipulateImp中fetchPatchList方法中设置的补丁类名保持一致( setPatchesInfoImplClassFullName("com.meituan.robust.patch.PatchesInfoImpl")),
    各个App可以独立定制,需要确保的是setPatchesInfoImplClassFullName设置的包名是如下的配置项,类名必须是:PatchesInfoImpl-->
    <patchPackname name="patchPackname">
        <name>com.demo.evan.myrobustdemo</name>
    </patchPackname>
  • xml中设置读写权限,(测试时是在targetSdkVersion=21测试的,实际开发中可能在21以上,需要申请动态权限,美团demo中有一个申请动态权限,可以参考)
  • 打正式包的配置
signingConfigs {
        release {
            storeFile file('robustTest.jks')
            storePassword 'dsl_305'
            keyAlias 'robusttest'
            keyPassword 'dsl_305'
        }
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
  • 在app的build.gradle中开启apply plugin: 'robust' ,在命令行输入打包命令
    gradlew clean assembleRelease --stacktrace --no-daemon
    打包成功后,安装app,并在app目录下新建文件夹robust,将生成的mapping.txt文件以及app/build/outputs/robust/methodsMap.robust文件拷贝到这里
    修改代码,
在改动的方法上面添加@Modify注解或者在修改的方法里面调用RobustModify.modify()(针对Lambda表达式),
新增的方法和字段使用@Add注解

,修改后关闭apply plugin: 'robust' ,开启apply plugin: 'auto-patch-plugin'后,再次打包,
如果打包成功,终端会出现auto patch end successfully这样的提示,在cmd中,输入命令将补丁包复制到sd卡
adb push /Users/Evan/Desktop/code/robust/app/build/outputs/robust/patch.jar /sdcard/robust/patch.jar

  • 在app中,点击加载补丁,成功的话,会回调onPatchApplied方法,并且 result=true,就大功告成啦

相关文章

网友评论

      本文标题:Android美团热更新

      本文链接:https://www.haomeiwen.com/subject/klwbxxtx.html