alibaba / freeline

A super fast build tool for Android, an alternative to Instant Run
https://www.freelinebuild.com/
BSD 3-Clause "New" or "Revised" License
5.48k stars 623 forks source link

资源错乱 #260

Open msdx opened 7 years ago

msdx commented 7 years ago

这是原来的布局。 qq 20161104143922

然后我修改了中间TextView的提示文字颜色,运行之后变成如下: qq 20161104143645

lomanyong commented 7 years ago

@msdx 是资源窜了吗?以及是否是必现的case?

msdx commented 7 years ago

@lomanyong 出现了两次,并且两次出现的结果都是一样的。

msdx commented 7 years ago

@lomanyong 需要抓什么日志来帮你分析吗?不知道下次会不会出现,需要我提供哪些信息?

lomanyong commented 7 years ago

@msdx 可以尝试clean一下,重新打包看看。

还出现的话,把增量资源后的相关日志贴一下吧,不是freeline的,而是系统的,可能会有一些 ResourceType missing之类的日志,可以在增量资源后出现的日志里稍微看下..

msdx commented 7 years ago

@lomanyong 目前我发现我撤回去,跑一次全量。然后改一下上面所说的属性,它就出现了。我试了三次都出现了。

msdx commented 7 years ago

@lomanyong 请问日志在哪里看?

msdx commented 7 years ago
11-04 14:48:05.506 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:49:05.496 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:49:08.624 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:49:08.644 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:49:08.651 11062-11208/com.parkingwang.app I/System.out: url:http://apilocate.amap.com/mobile/binary?policy=2103&output=bin
11-04 14:49:08.652 11062-11208/com.parkingwang.app I/System.out: open:http://apilocate.amap.com/mobile/binary?policy=2103&output=bin
11-04 14:49:08.654 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: hostname=apilocate.amap.com; servname=(null); cache_mode=(null), netid=0; mark=0
11-04 14:49:08.658 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0
11-04 14:49:08.659 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: hostname=apilocate.amap.com; servname=(null); cache_mode=(null), netid=0; mark=0
11-04 14:49:08.659 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=1024; ai_family=0
11-04 14:49:08.663 11062-16883/com.parkingwang.app I/System.out: Close in OkHttp
11-04 14:49:08.669 11062-11208/com.parkingwang.app D/libc-netbsd: getaddrinfo: apilocate.amap.com get result from proxy >>
11-04 14:49:08.670 11062-11208/com.parkingwang.app I/System.out: propertyValue:true
11-04 14:49:08.671 11062-11208/com.parkingwang.app I/System.out: [CDS]connect[apilocate.amap.com/106.11.13.1:80] tm:30
11-04 14:49:08.673 11062-16883/com.parkingwang.app I/System.out: [CDS]close[60370]
11-04 14:49:08.673 11062-16883/com.parkingwang.app I/NetworkManagementSocketTagger: untagSocket(31)
11-04 14:49:08.681 11062-11208/com.parkingwang.app I/System.out: [OkHttp] sendRequest>>
11-04 14:49:08.682 11062-11208/com.parkingwang.app I/System.out: [OkHttp] sendRequest<<
11-04 14:49:08.751 11062-11208/com.parkingwang.app I/System.out: Close in OkHttp
11-04 14:49:08.751 11062-11208/com.parkingwang.app I/System.out: [CDS]close[57264]
11-04 14:49:08.751 11062-11208/com.parkingwang.app I/NetworkManagementSocketTagger: untagSocket(35)
11-04 14:49:13.853 11062-11062/com.parkingwang.app I/Freeline: ext:139985
11-04 14:49:13.853 11062-11062/com.parkingwang.app I/Freeline.Receiver: receive action type: 1
11-04 14:49:13.864 11062-11062/com.parkingwang.app I/Freeline: apply res :{base-res=/data/data/com.parkingwang.app/cache/temp/base-res}
11-04 14:49:13.865 11062-11062/com.parkingwang.app I/Freeline: dynamicInfoSp: {base-res.key=/data/data/com.parkingwang.app/cache/temp/base-res}
11-04 14:49:13.866 11062-11062/com.parkingwang.app I/Freeline: resMap: {base-res.key=/data/data/com.parkingwang.app/cache/temp/base-res}
11-04 14:49:13.866 11062-11062/com.parkingwang.app I/Freeline.GradleDynamic: dynamicResPath: /data/data/com.parkingwang.app/cache/temp/base-res
11-04 14:49:13.874 11062-11062/com.parkingwang.app I/Freeline.GradleDynamic: GradleDynamic apply dynamic resource successfully
11-04 14:49:13.874 11062-11062/com.parkingwang.app I/Freeline: update dynamic time: 1478242153874
11-04 14:49:13.954 11062-11205/com.parkingwang.app I/MobclickAgent: Extend current session: D5226A5D0CAA7CFF5A41F1723548A87D
11-04 14:49:19.093 11062-11077/com.parkingwang.app W/art: Suspending all threads took: 44.474ms
11-04 14:49:19.106 11062-11123/com.parkingwang.app I/art: Explicit concurrent mark sweep GC freed 28099(1557KB) AllocSpace objects, 12(192KB) LOS objects, 14% free, 23MB/27MB, paused 4.667ms total 74.799ms
11-04 14:50:05.506 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:50:08.646 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:50:08.672 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:50:08.675 11062-11208/com.parkingwang.app I/System.out: url:http://apilocate.amap.com/mobile/binary?policy=2103&output=bin
11-04 14:50:08.676 11062-11208/com.parkingwang.app I/System.out: open:http://apilocate.amap.com/mobile/binary?policy=2103&output=bin
11-04 14:50:08.677 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: hostname=apilocate.amap.com; servname=(null); cache_mode=(null), netid=0; mark=0
11-04 14:50:08.677 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0
11-04 14:50:08.677 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: hostname=apilocate.amap.com; servname=(null); cache_mode=(null), netid=0; mark=0
11-04 14:50:08.677 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=1024; ai_family=0
11-04 14:50:08.678 11062-11208/com.parkingwang.app D/libc-netbsd: getaddrinfo: apilocate.amap.com get result from proxy >>
11-04 14:50:08.678 11062-11208/com.parkingwang.app I/System.out: propertyValue:true
11-04 14:50:08.679 11062-11208/com.parkingwang.app I/System.out: [CDS]connect[apilocate.amap.com/106.11.13.1:80] tm:30
11-04 14:50:08.687 11062-11208/com.parkingwang.app I/System.out: [OkHttp] sendRequest>>
11-04 14:50:08.688 11062-11208/com.parkingwang.app I/System.out: [OkHttp] sendRequest<<
11-04 14:50:08.718 11062-11208/com.parkingwang.app I/System.out: Close in OkHttp
11-04 14:50:08.718 11062-11208/com.parkingwang.app I/System.out: [CDS]close[41567]
11-04 14:50:08.718 11062-11208/com.parkingwang.app I/NetworkManagementSocketTagger: untagSocket(35)
11-04 14:51:05.502 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:52:05.505 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:52:08.599 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:52:08.624 11062-11208/com.parkingwang.app E/CellLocation: create GsmCellLocation
11-04 14:52:08.627 11062-11208/com.parkingwang.app I/System.out: url:http://apilocate.amap.com/mobile/binary?policy=2103&output=bin
11-04 14:52:08.633 11062-11208/com.parkingwang.app I/System.out: open:http://apilocate.amap.com/mobile/binary?policy=2103&output=bin
11-04 14:52:08.634 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: hostname=apilocate.amap.com; servname=(null); cache_mode=(null), netid=0; mark=0
11-04 14:52:08.635 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0
11-04 14:52:08.635 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: hostname=apilocate.amap.com; servname=(null); cache_mode=(null), netid=0; mark=0
11-04 14:52:08.635 11062-11208/com.parkingwang.app D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=1024; ai_family=0
11-04 14:52:08.684 11062-11208/com.parkingwang.app D/libc-netbsd: getaddrinfo: apilocate.amap.com get result from proxy >>
11-04 14:52:08.684 11062-11208/com.parkingwang.app I/System.out: propertyValue:true
11-04 14:52:08.685 11062-11208/com.parkingwang.app I/System.out: [CDS]connect[apilocate.amap.com/140.205.252.7:80] tm:30
11-04 14:52:08.722 11062-11208/com.parkingwang.app I/System.out: [OkHttp] sendRequest>>
11-04 14:52:08.722 11062-11208/com.parkingwang.app I/System.out: [OkHttp] sendRequest<<
11-04 14:52:08.775 11062-11208/com.parkingwang.app I/System.out: Close in OkHttp
11-04 14:52:08.775 11062-11208/com.parkingwang.app I/System.out: [CDS]close[42585]
11-04 14:52:08.775 11062-11208/com.parkingwang.app I/NetworkManagementSocketTagger: untagSocket(35)
lomanyong commented 7 years ago

@msdx 有空的话,可以把全量打包出来的apk,跟freeline打包出来的base.so${main_module}/build/freeline/base.so)以及增量资源包pack(${main_module}/build/freeline/${changed_module}/respack/${changed_module}.pack),用 AS 2.2直接打开 apk,简单对比下 resources.arsc,看下 id 是否错乱了。(base.so*.pack需要重命名为*.apk才能打开)

lomanyong commented 7 years ago

@msdx 通常情况下,freeline打出来的资源包,除了资源目录跟gradle打出来的会有所区别之外,在资源id上应该是保持一致的...

msdx commented 7 years ago

@lomanyong 我这里有base-res.so但是没有找到base.so

lomanyong commented 7 years ago

@msdx 就是base-res.so了…

浩码农 notifications@github.com于2016年11月4日周五 15:16写道:

@lomanyong https://github.com/lomanyong 我这里有base-res.so但是没有找到base.so http://base-res.xn--sobase-ji9i22rkx6b8yhsmc751a.so

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/alibaba/freeline/issues/260#issuecomment-258359843, or mute the thread https://github.com/notifications/unsubscribe-auth/AFhF_NGBbD1uvKvyU4sfin78EAOUlWYjks5q6tu4gaJpZM4KpPAL .

msdx commented 7 years ago

我看了一下,app.pack里出现错误的一个图标,它的资源是0x7f0200a9,在base-res.apk及打出来的apk都是对应的icon_back_black,是我所设的图片。

lomanyong commented 7 years ago

@msdx 是资源正确,但是id错误,还是两个全错了?

msdx commented 7 years ago

没看到哪里错。id所对应的资源的名字,在R文件,以及base-res.apk和打出来的apk都是对应的icon_back_black

lomanyong commented 7 years ago

@msdx 那你说的错误的图片是指的?

msdx commented 7 years ago

@lomanyong 我是指在运行起来的app中图片错误的那个控件…… 我找到了在 app.pack所对应的代码,然而我发现代码里所引用的资源id并没有问题。 对了,我用的是bugme,会和这个有关吗?

lomanyong commented 7 years ago

@msdx 你可以尝试把apk给卸载了,然后重新安装看看。bugme是否会影响这个目前还不清楚...如果你有其他手机的话也可以试试看。

msdx commented 7 years ago

我试试其他的手机,这里目前只还有酷派一部,红米一部,华为一部,三星盖世4一部

bjzhou commented 7 years ago

也出现过类似问题,再全量跑一下就没了,新增资源还出现过找不到对应资源id的情况

msdx commented 7 years ago

我这里新增资源出现找不到对应资源的情况比较多的是新增的string资源。 另外资源错乱我这里还发现一个问题,出现错乱之后,如果回到上一个界面显示正常,再进来有时就变正常了。

jiawei-i commented 7 years ago

我改了控件的高度也出现这个问题了。

lomanyong commented 7 years ago

@jiawei-i 简单的重复进入一下这个页面应该可以恢复正常...

foxleezh commented 7 years ago

我发现资源错乱之后,手动杀掉app进程,再重新进就好了

suyxin commented 7 years ago

快是有代价的!!