阿里Sophix 集成

sophix 热修复操作步骤:

1 执行assebleDongmanRelease ,生成apk后,copy到指定目录,如 project目录下,并命名为old.apk

2 修改代码后,执行assebleDongmanRelease ,生成apk后,copy到指定目录,如 project目录下,并命名为new.apk

3 使用sophix补丁工具生成补丁,参考链接https://help.aliyun.com/document_detail/93826.html?spm=a2c4g.11186623.6.582.2d3a5cbcfWskBA

4 上传补丁(sophix-patch.jar)到server

注意事项:

old.apk必须和线上发布的代码保持一致

1 如果是修复加固包,需要使用加固前的old.apk,new.apk,进行 补丁的生成(已验证ok)

2 patch包大小限制为30M

3 用工具生成补丁时,最后选择"强制冷启动" ,避免因为某些机型不支持即使修复而引发其他问题,并且取消 "检查初始化"选项

sophix遇到问题可参考:https://help.aliyun.com/knowledge_list/51422.html?spm=a2c4g.11186623.6.586.6b2c780d4S1sWM


验证Patch是否Merge成功:

日志如下:

standard input):23326:V/Sophix.PatchManager( 5265):  addPatch src patch: /storage/emulated/0/sophix-patch.jar
(standard input):23368:V/Sophix.PatchManager( 5265):  addPatch dest patch: sophix-patch.jar
(standard input):23369:I/Sophix.GlobalProperty( 5265):  addPatch update patch version: -1
(standard input):23381:D/Sophix.PatchManager( 5265):  loadPatch patchFile: sophix-patch.jar
(standard input):23382:W/Sophix.PatchManager( 5265):  loadPatch skip verifyPatchLegal in debug mode
(standard input):23408:D/Sophix.CrashHandler( 5265):  set crash number: 0
(standard input):23415:I/Sophix.PatchManager( 5265):  loadPatch start patch dex file
(standard input):23416:D/Sophix.DexManager( 5265):  patch supportHotfix: false
(standard input):23419:V/Sophix.ColdDexManager( 5265):  init plain app
(standard input):23422:D/Sophix.ColdDexManager( 5265):  isOptFileValid file: classes.dex.odex
(standard input):23423:D/Sophix.ColdDexManager( 5265):  isOptFileValid odex not exist
(standard input):23424:I/Sophix.PatchManager( 5265):  loadPatch wait preload dex file complete
(standard input):23425:I/Sophix.ColdDexManager( 5265):  doOptPatch start
(standard input):23426:D/Sophix.ColdDexManager( 5265):  extractAllBaseDexFiles start
(standard input):23431:D/Sophix.PatchManager( 5265):  clearCrashHandler clear crash flag
(standard input):24105:D/Sophix.ColdDexManager( 5265):  optProcessedBaseDexFiles start
(standard input):24106:I/Sophix.ColdDexManager( 5265):  preloadDex start classes.dex
(standard input):24130:D/dalvikvm( 5265): DEX prep '/data/data/com.naver.linewebtoon.cn/files/sophix/patch/classes.dex': copy in 0ms, rewrite 196ms
(standard input):24139:I/Sophix.ColdDexManager( 5265):  preloadDex end time consumed(ms): 208
(standard input):24154:V/Sophix.ColdDexManager( 5265):  exclude Lcom/naver/linewebtoon/sophix/SophixStubApplication;
(standard input):24155:V/Sophix.ColdDexManager( 5265):  exclude Lcom/taobao/sophix/SophixApplication;
(standard input):24156:V/Sophix.ColdDexManager( 5265):  exclude Lcom/naver/linewebtoon/sophix/SophixStubApplication$1;
(standard input):24157:D/dalvikvm( 5265): Trying to load lib /data/app-lib/com.naver.linewebtoon.cn-1/libsophix.so 0x424dee38
(standard input):24171:D/dalvikvm( 5265): Added shared lib /data/app-lib/com.naver.linewebtoon.cn-1/libsophix.so 0x424dee38
(standard input):24172:D/Sophix.Native( 5265): JNI_OnLoad
(standard input):24173:V/Sophix.Native( 5265): Class lookup: classes=4 slots=8 (50% occ) alloc=104 total=1 max=1
(standard input):24178:V/Sophix.Native( 5265): munmap(0x6b573000, 2486180) succeeded
(standard input):24179:V/Sophix.Native( 5265): munmap(0x6ab6f000, 52768) succeeded
(standard input):24180:I/Sophix.ColdDexManager( 5265):  preloadDex start classes3.dex
(standard input):24838:D/dalvikvm( 5265): DEX prep '/data/data/com.naver.linewebtoon.cn/files/sophix/patch/classes3.dex': copy in 38ms, rewrite 2841ms
(standard input):24880:I/Sophix.ColdDexManager( 5265):  preloadDex end time consumed(ms): 3101
(standard input):24882:V/Sophix.ColdDexManager( 5265):  exclude Lcom/naver/linewebtoon/sophix/SophixStubApplication;
(standard input):24883:V/Sophix.ColdDexManager( 5265):  exclude Lcom/taobao/sophix/SophixApplication;
(standard input):24884:V/Sophix.ColdDexManager( 5265):  exclude Lcom/naver/linewebtoon/sophix/SophixStubApplication$1;
(standard input):24885:V/Sophix.Native( 5265): Class lookup: classes=4 slots=8 (50% occ) alloc=104 total=1 max=1
(standard input):24943:V/Sophix.Native( 5265): munmap(0x6ca44000, 8378200) succeeded
(standard input):24944:V/Sophix.Native( 5265): munmap(0x6aeb3000, 52768) succeeded
(standard input):24945:I/Sophix.ColdDexManager( 5265):  preloadDex start classes2.dex
(standard input):25320:D/dalvikvm( 5265): DEX prep '/data/data/com.naver.linewebtoon.cn/files/sophix/patch/classes2.dex': copy in 122ms, rewrite 4061ms
(standard input):25340:I/Sophix.ColdDexManager( 5265):  preloadDex end time consumed(ms): 4452
(standard input):25341:V/Sophix.ColdDexManager( 5265):  exclude Lcom/naver/linewebtoon/sophix/SophixStubApplication;
(standard input):25342:V/Sophix.ColdDexManager( 5265):  exclude Lcom/taobao/sophix/SophixApplication;
(standard input):25343:V/Sophix.ColdDexManager( 5265):  exclude Lcom/naver/linewebtoon/sophix/SophixStubApplication$1;
(standard input):25344:V/Sophix.Native( 5265): Class lookup: classes=4 slots=8 (50% occ) alloc=104 total=1 max=1
(standard input):25347:V/Sophix.Native( 5265): munmap(0x6e0e3000, 7888604) succeeded
(standard input):25348:V/Sophix.Native( 5265): munmap(0x66ebb000, 52768) succeeded
(standard input):25349:I/Sophix.ColdDexManager( 5265):  preloadDex start classes1.dex



(standard input):25547:D/dalvikvm( 5265): DEX prep '/data/data/com.naver.linewebtoon.cn/files/sophix/patch/classes1.dex': copy in 57ms, rewrite 3602ms
(standard input):25554:I/Sophix.ColdDexManager( 5265):  preloadDex end time consumed(ms): 3873
(standard input):25555:V/Sophix.NetworkManager( 5265):  commit PatchStat{id='3fc82d0a-80f8-4632-9546-463ab8b08769-1', path=1, status='181', version='-1', cost=16536, genre=5, dex=18805752, load=0}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值