使用shrinkResources时,保护资源 [英] protect resources when using shrinkResources

查看:320
本文介绍了使用shrinkResources时,保护资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从集结插件尝试新的功能 - 不幸的是它,即使他们在code引用RES /生删除我的声音。有没有保护的资源被删除的方法是什么?

编辑 - 张望了一下后弹 - 看来这个功能尚未成熟,并准备使用 - 这是另一个项目是从支持lib目录中删除布局所需的xml:

D / PassAndroid(7137):写入未处理的异常为:

  /data/data/org.ligi.passandroid/files/2.4.2-1414944524128.tracedroid
D / PassAndroid(7137):了java.lang.RuntimeException:无法启动活动ComponentInfo {org.ligi.passandroid / org.ligi.passandroid.ui.PassListActivity}:android.content.res.Resources $ NotFoundException:文件RES /布局从XML类型的布局资源ID#0x7f030013 /abc_screen_toolbar.xml
D / PassAndroid(7137):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2404)
D / PassAndroid(7137):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464)
D / PassAndroid(7137):在android.app.ActivityThread.access $ 900(ActivityThread.java:172)
D / PassAndroid(7137):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1308)
D / PassAndroid(7137):在android.os.Handler.dispatchMessage(Handler.java:102)
D / PassAndroid(7137):在android.os.Looper.loop(Looper.java:146)
D / PassAndroid(7137):在android.app.ActivityThread.main(ActivityThread.java:5653)
D / PassAndroid(7137):在java.lang.reflect.Method.invokeNative(本机方法)
D / PassAndroid(7137):在java.lang.reflect.Method.invoke(Method.java:515)
D / PassAndroid(7137):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1291)
D / PassAndroid(7137):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
D / PassAndroid(7137):在dalvik.system.NativeStart.main(本机方法)
D / PassAndroid(7137):android.content.res.Resources $ NotFoundException:通过引起了XML类型的布局资源ID#0x7f030013文件RES /布局/ abc_screen_toolbar.xml
D / PassAndroid(7137):在android.content.res.Resources.loadXmlResourceParser(Resources.java:3659)
D / PassAndroid(7137):在android.content.res.Resources.loadXmlResourceParser(Resources.java:3606)
D / PassAndroid(7137):在android.content.res.Resources.getLayout(Resources.java:2121)
D / PassAndroid(7137):在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
D / PassAndroid(7137):在android.view.LayoutInflater.inflate(LayoutInflater.java:354)
D / PassAndroid(7137):在android.support.v7.app.ActionBarActivityDelegateBase.q(来源不明)
D / PassAndroid(7137):在android.support.v7.app.ActionBarActivityDelegateBase.a(来源不明)
D / PassAndroid(7137):在android.support.v7.app.ActionBarActivity.setContentView(来源不明)
D / PassAndroid(7137):在org.ligi.passandroid.ui.PassListActivity.onCreate(来源不明)
D / PassAndroid(7137):在android.app.Activity.performCreate(Activity.java:5541)
D / PassAndroid(7137):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
D / PassAndroid(7137):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2368)
D / PassAndroid(7137):11 ...更多
D / PassAndroid(7137):因:java.io.FileNotFoundException:RES /布局/ abc_screen_toolbar.xml
D / PassAndroid(7137):在android.content.res.AssetManager.openXmlAssetNative(本机方法)
D / PassAndroid(7137):在android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:488)
D / PassAndroid(7137):在android.content.res.Resources.loadXmlResourceParser(Resources.java:3637)
D / PassAndroid(7137):22 ...更多


解决方案

这是错误的 78617 并应该被固定在最新gradle这个构建工具

I am trying out the new feature from the build-plugin - unfortunately it removes my sounds from res/raw even though they are referenced in the code. Is there a way to protect resources from being removed?

EDIT - after playing around a bit - it seems that this feature is not yet mature and ready to use - another Project it removes needed layout xml from the support lib:

D/PassAndroid( 7137): Writing unhandled exception to:

/data/data/org.ligi.passandroid/files/2.4.2-1414944524128.tracedroid
D/PassAndroid( 7137): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.ligi.passandroid/org.ligi.passandroid.ui.PassListActivity}: android.content.res.Resources$NotFoundException: File res/layout/abc_screen_toolbar.xml from xml type layout resource ID #0x7f030013
D/PassAndroid( 7137):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2404)
D/PassAndroid( 7137):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464)
D/PassAndroid( 7137):   at android.app.ActivityThread.access$900(ActivityThread.java:172)
D/PassAndroid( 7137):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
D/PassAndroid( 7137):   at android.os.Handler.dispatchMessage(Handler.java:102)
D/PassAndroid( 7137):   at android.os.Looper.loop(Looper.java:146)
D/PassAndroid( 7137):   at android.app.ActivityThread.main(ActivityThread.java:5653)
D/PassAndroid( 7137):   at java.lang.reflect.Method.invokeNative(Native Method)
D/PassAndroid( 7137):   at java.lang.reflect.Method.invoke(Method.java:515)
D/PassAndroid( 7137):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
D/PassAndroid( 7137):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
D/PassAndroid( 7137):   at dalvik.system.NativeStart.main(Native Method)
D/PassAndroid( 7137): Caused by: android.content.res.Resources$NotFoundException: File res/layout/abc_screen_toolbar.xml from xml type layout resource ID #0x7f030013
D/PassAndroid( 7137):   at android.content.res.Resources.loadXmlResourceParser(Resources.java:3659)
D/PassAndroid( 7137):   at android.content.res.Resources.loadXmlResourceParser(Resources.java:3606)
D/PassAndroid( 7137):   at android.content.res.Resources.getLayout(Resources.java:2121)
D/PassAndroid( 7137):   at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
D/PassAndroid( 7137):   at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
D/PassAndroid( 7137):   at android.support.v7.app.ActionBarActivityDelegateBase.q(Unknown Source)
D/PassAndroid( 7137):   at android.support.v7.app.ActionBarActivityDelegateBase.a(Unknown Source)
D/PassAndroid( 7137):   at android.support.v7.app.ActionBarActivity.setContentView(Unknown Source)
D/PassAndroid( 7137):   at org.ligi.passandroid.ui.PassListActivity.onCreate(Unknown Source)
D/PassAndroid( 7137):   at android.app.Activity.performCreate(Activity.java:5541)
D/PassAndroid( 7137):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
D/PassAndroid( 7137):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2368)
D/PassAndroid( 7137):   ... 11 more
D/PassAndroid( 7137): Caused by: java.io.FileNotFoundException: res/layout/abc_screen_toolbar.xml
D/PassAndroid( 7137):   at android.content.res.AssetManager.openXmlAssetNative(Native Method)
D/PassAndroid( 7137):   at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:488)
D/PassAndroid( 7137):   at android.content.res.Resources.loadXmlResourceParser(Resources.java:3637)
D/PassAndroid( 7137):   ... 22 more

解决方案

This is Bug 78617 and should been fixed in the latest gradle build tools

这篇关于使用shrinkResources时,保护资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆