Tencent / tinker

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
Other
17.17k stars 3.33k forks source link

无法生成补丁包 #71

Closed yql86 closed 8 years ago

yql86 commented 8 years ago

你好我参照文档在项目中接入tinker,但是执行到app:tinkerPatchCaiyunRelease这一步就卡住了。 tinkerPatch下面的log.txt没有错误信息,最后几行为:

Found add resource: res/drawable-xxxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png Found add resource: res/drawable-xxxhdpi-v4/spalash_icon.png Found large modify resource: resources.arsc size:1386260

Gen classes.dex patch file:/Users/yangqinlin/work/git/uban-android/app/build/outputs/tinkerPatch/caiyun/release/tinker_result/classes.dex, size:1023, md5:233e91c81357f7ac4ac8656c11531513 Verifying if patched new dex is logically the same as original new dex: app-caiyun-release/classes.dex ...

YeDaxia commented 8 years ago

同问生成不了补丁包,在tinkerPatchRelease一直转:

-----------------------Tinker patch begin-----------------------
configuration: 
oldApk:D:\tinker\yixinli-release.apk
newApk:D:\GitLibraries\yixinliapp-android\xinliapp-old\yixinli\build\outputs\apk\yixinli-release.apk
outputFolder:D:\GitLibraries\yixinliapp-android\xinliapp-old\yixinli\build\outputs/tinkerPatch/release
isIgnoreWarning:false
7-ZipPath:C:\Users\YX\.gradle\caches\modules-2\files-2.1\com.tencent.mm\SevenZip\1.1.10\4786999cf29d8e3b0c39a80359b5127bda36132a\SevenZip-1.1.10-windows-x86_64.exe
useSignAPk:true
package meta fields: 
dex configs: 
dexMode: jar
dexPattern:classes.*\.dex
dexPattern:assets/secondary-dex-.\.jar
dex loader:com.tencent.tinker.loader.*
dex loader:com.xinli.yixinli.app.XinApplication
lib configs: 
resource configs: 
resPattern:assets/.*
resPattern:AndroidManifest\.xml
resPattern:res/.*
resPattern:resources\.arsc
largeModSize:100kb
useApplyResource:true

Analyze old and new apk files:
old apk: yixinli-release.apk, size=9633105, md5=d3f0d432dc59cac6d14ae3787b5a7f03
new apk: yixinli-release.apk, size=9632961, md5=46be44b8d199e38d69cdf90ba63e00e2
UnZipping apk to D:\GitLibraries\yixinliapp-android\xinliapp-old\yixinli\build\outputs\tinkerPatch\release\yixinli-release-old
UnZipping apk to D:\GitLibraries\yixinliapp-android\xinliapp-old\yixinli\build\outputs\tinkerPatch\release\yixinli-release-new
found modify resource: AndroidManifest.xml ,but it is AndroidManifest.xml, just ignore!
Check for loader classes in dex: ../yixinli-release-old/classes.dex
Check for loader classes in dex: ../yixinli-release-old/classes2.dex

Gen classes.dex patch file:D:\GitLibraries\yixinliapp-android\xinliapp-old\yixinli\build\outputs\tinkerPatch\release\tinker_result\classes.dex, size:176810, md5:c4eaa778dced309afa7e1104f820ffd5
Verifying if patched new dex is logically the same as original new dex: yixinli-release-new/classes.dex ...

Gen classes.dex for dalvik full dex file:D:\GitLibraries\yixinliapp-android\xinliapp-old\yixinli\build\outputs\tinkerPatch\release\tempPatchedDexes\full\classes.dex, size:8594676, md5:77cda1bd3a1c2c9c272f2564ea6e289c
Start generating small patch info file...

Gen classes.dex for art small dex file:D:\GitLibraries\yixinliapp-android\xinliapp-old\yixinli\build\outputs\tinkerPatch\release\tempPatchedDexes\small\classes.dex, size:600520, md5:1b7d6155eef2ccb3a911f7c8f11b7b73
DexDecoder:write meta file data: classes.dex,,77cda1bd3a1c2c9c272f2564ea6e289c,1b7d6155eef2ccb3a911f7c8f11b7b73,c4eaa778dced309afa7e1104f820ffd5,2795836697,jar

Add test install result dex: D:\GitLibraries\yixinliapp-android\xinliapp-old\yixinli\build\outputs\tinkerPatch\release\tinker_result\test.dex, size:584
DexDecoder:write test dex meta file data: test.dex,,56900442eb5b7e1de45449d0685e6e00,56900442eb5b7e1de45449d0685e6e00,0,0,jar
shwenzhang commented 8 years ago

一直都这样?

yql86 commented 8 years ago

@shwenzhang 早上发你邮件了,请帮忙排查下。

yql86 commented 8 years ago

@tomystang 早上发你邮件了,请问收到了吗?

shwenzhang commented 8 years ago

@yql86 ,似乎并没有

tys282000 commented 8 years ago

@yql86 已收到,谢谢!

shwenzhang commented 8 years ago

@yql86 , please try with 1.6.2

yql86 commented 8 years ago

@shwenzhang @tomystang 还是不行啊,还是卡在app:tinkerPatchCaiyunRelease这一步

yql86 commented 8 years ago

@shwenzhang @tomystang 我把这次的class.dex,邮箱发你们了。

tys282000 commented 8 years ago

奇怪,我这边用了你发过来的dex是可以正常打出补丁的,build之前在任务管理器里把所有的java.exe结束了,再clean,然后再build,看下还会不会卡住?

shwenzhang commented 8 years ago

@yql86 ,直接把新旧两个apk发过来吧

tys282000 commented 8 years ago

嗯嗯,如果不方便的话可以发混淆过的版本过来

yql86 commented 8 years ago

@shwenzhang @tomystang 我clean试了还是不行,已经把ask发你们邮箱了

yql86 commented 8 years ago

@shwenzhang @tomystang 怎么样了?查到问题了吗

anzyhui commented 8 years ago

@yql86 你是不是第一次打release包?第一次是会下载一些依赖jar包的,所以要好久,具体你运行releasePatch的时候,看看 image 是不是在下载jar包...

yql86 commented 8 years ago

@shwenzhang @tomystang @anzyhui 我今天又试了一下,可以打补丁包了,之前应该是我忘记升级tinker-patch-grade-plugin这个了。。。