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.34k forks source link

线上崩溃java.lang.ArrayIndexOutOfBoundsException #508

Closed balizhuang2012 closed 7 years ago

balizhuang2012 commented 7 years ago

异常类型:app运行时异常

手机型号:meizu m1 e,oppo r9s/r9m/R9sk,vivo x9plus,huawei KIW-CL00

手机系统版本:Android 6.0

tinker版本:1.7.9

gradle版本:2.14.1

是否使用热更新SDK: 否SDK java.lang.RuntimeException: An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:309) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) at java.util.concurrent.FutureTask.setException(FutureTask.java:223) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) Caused by: java.lang.ArrayIndexOutOfBoundsException: length=8; regionStart=0; regionLength=-2372 at java.util.Arrays.checkOffsetAndCount(Arrays.java:1719) at libcore.io.IoBridge.read(IoBridge.java:514) at java.io.RandomAccessFile.read(RandomAccessFile.java:289) at java.util.zip.ZipFile$RAFStream.read(ZipFile.java:542) at libcore.io.Streams.readFully(Streams.java:81) at java.io.DataInputStream.readInt(DataInputStream.java:103) at java.util.zip.ZipFile.getInputStream(ZipFile.java:314) at com.tencent.tinker.loader.shareutil.ShareTinkerInternals.fastGetPatchPackageMeta(ShareTinkerInternals.java:178) at ryxq.abd.patchCheck(SamplePatchListener.java:107) at com.tencent.tinker.lib.listener.DefaultPatchListener.onPatchReceived(DefaultPatchListener.java:50) at com.tencent.tinker.lib.tinker.TinkerInstaller.onReceiveUpgradePatch(TinkerInstaller.java:91) at ryxq.aay.a(HotFixManager.java:41) at com.duowan.biz.hotfix.HotFixModule$1.onSuccess(HotFixModule.java:112) at com.duowan.ark.util.http.downloader.DownLoadTask.doInBackground(DownLoadTask.java:110) at com.duowan.ark.util.http.downloader.DownLoadTask.doInBackground(DownLoadTask.java:14)

xabingaa commented 7 years ago

我们也出现了这个问题 莫名其妙的崩溃 java.lang.ArrayIndexOutOfBoundsException

xabingaa commented 7 years ago

楼主怎么处理的

nEdAy commented 7 years ago

meizu m1 e,oppo r9s/r9m/R9sk,vivo x9plus,huawei KIW-CL00 都有问题? 修复的是资源、类还是lib?

balizhuang2012 commented 7 years ago

@nEdAy 类。线上报异常的机型有这些,估计和机型无关

xabingaa commented 7 years ago

@nEdAy 您好我们这出现的这个问题 是改的类 现在只在华为mate9 上出现了 版本用的是1.7.1 会不会是和tinker的版本有关???正在尝试升级

shwenzhang commented 7 years ago

@balizhuang2012 patch的数量,出现这个问题的人数以及次数?这个问题看起来像读写过程出问题了

balizhuang2012 commented 7 years ago

@shwenzhang 我刚报issue那几天,人数次数都不少,大概一天10+人数吧,后来再翻崩溃列表找不到了,好像没了

balizhuang2012 commented 7 years ago

@shwenzhang 今天线上报了20例。之前有一段时间没有报,是因为没有发补丁

shwenzhang commented 7 years ago

20例不能知道多少,需要看比例。成功patch的数量是?