专栏名称: 刘望舒
腾讯云最具价值专家
目录
相关文章推荐
复利大王  ·  江浙沪美女留子回国下嫁怀孕后悔 ·  20 小时前  
复利大王  ·  湘ya一骨科的瓜? ·  昨天  
复利大王  ·  老同学中捞一捞能不能找到免费P友 ·  昨天  
复利大王  ·  不讲武德!中x银行? ·  昨天  
鸿洋  ·  务必立即拿下软考证(政策红利) ·  2 天前  
51好读  ›  专栏  ›  刘望舒

Android热更新利器Tinker接入

刘望舒  · 掘金  · android  · 2018-03-06 02:47

正文

请到「今天看啥」查看全文


3、配置Tinker的gradle脚本

在项目根目录新建 tinkerpatch.gradle 文件

apply plugin: 'tinkerpatch-support'/*** TODO: 请按自己的需求修改为适应自己工程的参数*/def bakPath = file("${buildDir}/bakApk/")def baseInfo = "app-1.0.0-1213-19-52-36"def variantName = "release"/*** 对于插件各参数的详细解析请参考* http://tinkerpatch.com/Docs/SDK*/tinkerpatchSupport {   /** 可以在debug的时候关闭 tinkerPatch **/   /** 当disable tinker的时候需要添加multiDexKeepProguard和proguardFiles,    * 这些配置文件本身由tinkerPatch的插件自动添加,当你disable后需要手动添加    * 你可以copy本示例中的proguardRules.pro和tinkerMultidexKeep.pro,    * 需要你手动修改'tinker.sample.android.app'本示例的包名为你自己的包名,    * com.xxx前缀的包名不用修改    **/   tinkerEnable = true   reflectApplication = true   /**    * 是否开启加固模式,只能在APK将要进行加固时使用,否则会patch失败。    * 如果只在某个渠道使用了加固,可使用多flavors配置    **/   protectedApp = false   /**    * 实验功能    * 补丁是否支持新增 Activity (新增Activity的exported属性必须为false)    **/   supportComponent = true   autoBackupApkPath = "${bakPath}"   appKey = "c6a00cf4aafa2ab2"   /** 注意: 若发布新的全量包, appVersion一定要更新 **/   appVersion = "1.0.0"   def pathPrefix = "${bakPath}/${baseInfo}/${variantName}/"   def name = "${project.name}-${variantName}"   baseApkFile = "${pathPrefix}/${name}.apk"   baseProguardMappingFile = "${pathPrefix}/${name}-mapping.txt"   baseResourceRFile = "${pathPrefix}/${name}-R.txt"   /**    *  若有编译多flavors需求, 可以参照:     *  https://github.com/TinkerPatch/tinkerpatch-flavors-sample    *  注意: 除非你不同的flavor代码是不一样的,    *  不然建议采用zip comment或者文件方式生成渠道信息    * (相关工具:walle 或者 packer-ng)    **/}/*** 用于用户在代码中判断tinkerPatch是否被使用*/android {   defaultConfig {       buildConfigField "boolean", "TINKER_ENABLE",        "${tinkerpatchSupport.tinkerEnable}"   }}/*** 一般来说,我们无需对下面的参数做任何的修改* 对于各参数的详细介绍请参考:* https://github.com/Tencent/tinker/wiki/Tinker-* %E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97*/tinkerPatch {   ignoreWarning = false   useSign = true   dex {       dexMode = "jar"       pattern = ["classes*.dex"]       loader = []   }   lib {       pattern = ["lib/*/*.so"]   }   res {       pattern = ["res/*", "r/*", "assets/*", "resources.arsc",        "AndroidManifest.xml"]       ignoreChange = []       largeModSize = 100   }   packageConfig {   }   sevenZip {       zipArtifact = "com.tencent.mm:SevenZip:1.1.10"//        path = "/usr/local/bin/7za"   }   buildConfig {       keepDexApply = false   }}






请到「今天看啥」查看全文