修改了 xml 资源后不生效
VankaIn opened this issue · comments
VankaIn commented
修改了布局文件textview 的 text 属性(其他属性也会)
会提示:
Source and reource not changed
然后 activity 也没有 restart
VankaIn commented
还有一个现象就是:
修改 layoutA.xml 不生效的情况下,修改 layoutB.xml 生效了,那么上一次的 layoutA.xml 的修改也生效
tong commented
判断资源是否发生变化是根据是否执行了processResources任务,出现这种情况时留意下日志里processResources后面有没有UP-TO-DATE,如果没有就是fastdex的问题了方便的话提供一个完整的打包日志
VankaIn commented
成功的日志:
> Task :app:fastdexScanAptOutputForDebug
==fastdex diff apt dir: /Users/liangjunjie/Android/workspace/yixinli/fmapp2017-android/app/build/generated/source/apt/debug
> Task :app:fastdexPatchForDebug
==fastdex pc **resourceChanged: true** , assetsChanged: false, sourceChanged: false, manifestChanged: false
==fastdex receive: MetaInfo{buildMillis=1513670837182, variantName='Debug', mergedDexVersion=19, patchDexVersion=0, resourcesVersion=18}
==fastdex app sendResourcesApk: true , sendPatchDex: false, sendMergedDex: false
==fastdex copy resources.ap_
copy : /Users/liangjunjie/Android/workspace/yixinli/fmapp2017-android/app/build/intermediates/res/debug/resources-debug.ap_
into: /Users/liangjunjie/Android/workspace/yixinli/fmapp2017-android/app/build/fastdex/Debug/res/temp/resources.apk
失败的日志:
> Task :app:fastdexPrepareForDebug
==fastdex hasDexCache: true
==fastdex discover dex cache for debug
==fastdex skip scan: /Users/liangjunjie/Android/workspace/yixinli/fmapp2017-android/app/build/generated/source/apt/debug
==fastdex remove apt-dir from old snapshoot.
> Task :app:fastdexScanAptOutputForDebug
==fastdex diff apt dir: /Users/liangjunjie/Android/workspace/yixinli/fmapp2017-android/app/build/generated/source/apt/debug
> Task :app:fastdexPatchForDebug
==fastdex pc **resourceChanged: false** , assetsChanged: false, sourceChanged: false, manifestChanged: false
==fastdex receive: MetaInfo{buildMillis=1513670837182, variantName='Debug', mergedDexVersion=19, patchDexVersion=0, resourcesVersion=19}
==fastdex app sendResourcesApk: false , sendPatchDex: false, sendMergedDex: false
应该是可以必现的,修改 textview 的 android:text="123"
, 然后再修改 android:text="1234"
,前面都生效,然后再修改回android:text="123"
就不生效了。我猜应该是之前修改过的再修改回来就不生效了,比如"123" -> "1234" -> "12345"(都生效),但之后更改回"123","1234"就不生效了