棒棒糖 - ImageView无法加载图像 - 应用程序崩溃

时间:2017-11-29 20:24:27

标签: java android

我的应用程序出现问题,如果指定图像源,则无法启动。 Logcat表示在第0行加载XML文件时失败。我试图模仿到API22(Android 5.1 - 棒棒糖),因为我的设备是OnePlus One - 注意它们都失败了(电话和模拟器)。但是,如果我尝试在API24(Android 7.0)上模拟效果很好。

如果我删除该行,它会启动,但当然它不显示图像:

app:srcCompat="@drawable/glass_bottle"

非常感谢任何帮助。enter image description here

编辑1:添加了跟踪日志:

11-29 20:12:40.475 5765-5765/? I/art: Not late-enabling -Xcheck:jni (already on)
11-29 20:12:40.493 5765-5773/? E/art: Failed sending reply to debugger: Broken pipe
11-29 20:12:40.493 5765-5773/? I/art: Debugger is no longer active
11-29 20:12:40.544 5765-5765/? I/InstantRun: starting instant run server: is main process
11-29 20:12:40.583 5765-5765/? W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
11-29 20:12:40.672 5765-5765/? W/ResourceType: Failure getting entry for 0x7f060056 (t=5 e=86) (error -75)
11-29 20:12:40.672 5765-5765/? W/ResourceType: Failure getting entry for 0x7f060056 (t=5 e=86) (error -75)
11-29 20:12:40.673 5765-5765/? D/AndroidRuntime: Shutting down VM
11-29 20:12:40.673 5765-5765/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 Process: org.hibonda.chemfun, PID: 5765
                                                 java.lang.RuntimeException: Unable to start activity ComponentInfo{org.hibonda.chemfun/org.hibonda.chemfun.MainActivity}: android.view.InflateException: Binary XML file line #0: Error inflating class ImageView
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
                                                     at android.app.ActivityThread.access$800(ActivityThread.java:151)
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                     at android.os.Looper.loop(Looper.java:135)
                                                     at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                     at java.lang.reflect.Method.invoke(Method.java:372)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
                                                  Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class ImageView
                                                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
                                                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
                                                     at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                                                     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                                                     at org.hibonda.chemfun.MainActivity.onCreate(MainActivity.java:29)
                                                     at android.app.Activity.performCreate(Activity.java:5990)
                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
                                                     at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                     at android.os.Looper.loop(Looper.java:135) 
                                                     at android.app.ActivityThread.main(ActivityThread.java:5254) 
                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                     at java.lang.reflect.Method.invoke(Method.java:372) 
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
                                                  Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f060056
                                                     at android.content.res.Resources.getValue(Resources.java:1266)
                                                     at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:330)
                                                     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)
                                                     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188)
                                                     at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)
                                                     at android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:58)
                                                     at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:78)
                                                     at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:68)
                                                     at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
                                                     at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024)
                                                     at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081)
                                                     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:725)
                                                     at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                                                     at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
                                                     at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                                                     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                                                     at org.hibonda.chemfun.MainActivity.onCreate(MainActivity.java:29) 
                                                     at android.app.Activity.performCreate(Activity.java:5990) 
                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
                                                     at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                     at android.os.Looper.loop(Looper.java:135) 
                                                     at android.app.ActivityThread.main(ActivityThread.java:5254) 
                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                     at java.lang.reflect.Method.invoke(Method.java:372) 
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 

编辑2:如果我尝试使用 ic_launcher 作为源代码(来自Android的默认图标图片),则启动应用程序正常;我的图片都是PNG,位于 drawable

1 个答案:

答案 0 :(得分:1)

事实证明,我一直在使用 - &gt;复制 - 在drawable中粘贴PNG图像是不够的(即使所有引用都没有问题等)

解决这个问题的方法是逐个添加 - &gt; RightClick on app - &gt;新的 - &gt;图片资产 - &gt;应用调整 - &gt;来自mipmap包的代码中的引用

非常烦人并且涉及到每个单一的图像..我只是想使用该死的PNG图像,真的吗?