Yalantis / uCrop

Image Cropping Library for Android
https://yalantis.com/blog/introducing-ucrop-our-own-image-cropping-library-for-android/
11.86k stars 2.16k forks source link

crash with "com.android.support:appcompat-v7:23.2.0" #55

Closed dkmeteor closed 8 years ago

dkmeteor commented 8 years ago

error stack

03-09 09:24:42.490 16355-16355/? E/VdcInflateDelegate: Exception while inflating <vector>
                                                       org.xmlpull.v1.XmlPullParserException: Binary XML file line #17<vector> tag requires viewportWidth > 0
                                                           at android.support.graphics.drawable.VectorDrawableCompat.updateStateFromTypedArray(VectorDrawableCompat.java:535)
                                                           at android.support.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:472)
                                                           at android.support.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:436)
                                                           at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:829)
                                                           at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:303)
                                                           at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:178)
                                                           at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
                                                           at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
                                                           at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
                                                           at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
                                                           at java.lang.reflect.Constructor.constructNative(Native Method)
                                                           at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
                                                           at android.view.LayoutInflater.createView(LayoutInflater.java:597)
                                                           at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:699)
                                                           at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
                                                           at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
                                                           at android.view.LayoutInflater.inflate(LayoutInflater.java:400)
                                                           at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                                                           at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
                                                           at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
                                                           at com.yalantis.ucrop.UCropActivity.onCreate(UCropActivity.java:91)
                                                           at android.app.Activity.performCreate(Activity.java:5249)
                                                           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2165)
                                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250)
                                                           at android.app.ActivityThread.access$900(ActivityThread.java:141)
                                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213)
                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                           at android.os.Looper.loop(Looper.java:136)
                                                           at android.app.ActivityThread.main(ActivityThread.java:5072)
                                                           at java.lang.reflect.Method.invokeNative(Native Method)
                                                           at java.lang.reflect.Method.invoke(Method.java:515)
                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
                                                           at dalvik.system.NativeStart.main(Native Method)
03-09 09:24:42.530 16355-16355/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: io.zouyin.app, PID: 16355
                                                   java.lang.RuntimeException: Unable to start activity ComponentInfo{io.zouyin.app/com.yalantis.ucrop.UCropActivity}: android.view.InflateException: Binary XML file line #6: Error inflating class android.support.v7.widget.Toolbar
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2201)
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250)
                                                       at android.app.ActivityThread.access$900(ActivityThread.java:141)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213)
                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                       at android.os.Looper.loop(Looper.java:136)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5072)
                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                       at java.lang.reflect.Method.invoke(Method.java:515)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
                                                       at dalvik.system.NativeStart.main(Native Method)
                                                    Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class android.support.v7.widget.Toolbar
                                                       at android.view.LayoutInflater.createView(LayoutInflater.java:623)
                                                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:699)
                                                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:400)
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
                                                       at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
                                                       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
                                                       at com.yalantis.ucrop.UCropActivity.onCreate(UCropActivity.java:91)
                                                       at android.app.Activity.performCreate(Activity.java:5249)
                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2165)
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250) 
                                                       at android.app.ActivityThread.access$900(ActivityThread.java:141) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                       at android.os.Looper.loop(Looper.java:136) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:5072) 
                                                       at java.lang.reflect.Method.invokeNative(Native Method) 
                                                       at java.lang.reflect.Method.invoke(Method.java:515) 
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
                                                       at dalvik.system.NativeStart.main(Native Method) 
                                                    Caused by: java.lang.reflect.InvocationTargetException
                                                       at java.lang.reflect.Constructor.constructNative(Native Method)
                                                       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
                                                       at android.view.LayoutInflater.createView(LayoutInflater.java:597)
                                                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:699) 
                                                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:400) 
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
                                                       at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) 
                                                       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129) 
                                                       at com.yalantis.ucrop.UCropActivity.onCreate(UCropActivity.java:91) 
                                                       at android.app.Activity.performCreate(Activity.java:5249) 
                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2165) 
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250) 
                                                       at android.app.ActivityThread.access$900(ActivityThread.java:141) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                       at android.os.Looper.loop(Looper.java:136) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:5072) 
                                                       at java.lang.reflect.Method.invokeNative(Native Method) 
                                                       at java.lang.reflect.Method.invoke(Method.java:515) 
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
                                                       at dalvik.system.NativeStart.main(Native Method) 
                                                    Caused by: android.content.res.Resources$NotFoundException: File res/drawable-v19/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020016
                                                       at android.content.res.Resources.loadDrawable(Resources.java:2149)
                                                       at android.content.res.Resources.loadDrawable(Resources.java:2072)
                                                       at android.content.res.Resources.getDrawable(Resources.java:710)
                                                       at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:48)
                                                       at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:374)
                                                       at android.support.v7.widget.TintResources.getDrawable(TintResources.java:44)
                                                       at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
                                                       at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:180)
                                                       at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
                                                       at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
                                                       at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
                                                       at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
                                                       at java.lang.reflect.Constructor.constructNative(Native Method) 
                                                       at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
                                                       at android.view.LayoutInflater.createView(LayoutInflater.java:597) 
                                                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:699) 
                                                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:400) 
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
                                                       at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) 
                                                       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129) 
                                                       at com.yalantis.ucrop.UCropActivity.onCreate(UCropActivity.java:91) 
                                                       at android.app.Activity.performCreate(Activity.java:5249) 
                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2165) 
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250) 
                                                       at android.app.ActivityThread.access$900(ActivityThread.java:141) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                       at android.os.Looper.loop(Looper.java:136) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:5072) 
                                                       at java.lang.reflect.Method.invokeNative(Native Method) 
                                                       at java.lang.reflect.Method.invoke(Method.java:515) 
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
                                                       at dalvik.system.NativeStart.main(Native Method) 
                                                    Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag vector
                                                       at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:935)
                                                       at android.graphics.drawable.Drawable.createFromXml(Drawable.java:879)
                                                       at android.content.res.Resources.createFromXml(Resources.java:2525)
                                                       at android.content.res.Resources.loadDrawable(Resources.java:2145)
                                                       at android.content.res.Resources.loadDrawable(Resources.java:2072) 
                                                       at android.content.res.Resources.getDrawable(Resources.java:710) 
                                                       at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:48) 
                                                       at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:374) 
                                                       at android.support.v7.widget.TintResources.getDrawable(TintResources.java:44) 
                                                       at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323) 
                                                       at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:180) 
                                                       at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173) 
                                                       at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60) 
                                                       at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254) 
                                                       at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196) 
                                                       at java.lang.reflect.Constructor.constructNative(Native Method) 
                                                       at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
                                                       at android.view.LayoutInflater.createView(LayoutInflater.java:597) 
                                                       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:699) 
                                                       at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) 
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:495) 
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:400) 
                                                       at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
                                                       at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267) 
                                                       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129) 
                                                       at com.yalantis.ucrop.UCropActivity.onCreate(UCropActivity.java:91) 
                                                       at android.app.Activity.performCreate(Activity.java:5249) 
                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2165) 
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250) 
                                                       at android.app.ActivityThread.access$900(ActivityThread.java:141) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                       at android.os.Looper.loop(Looper.java:136) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:5072) 
                                                       at java.lang.reflect.Method.invokeNative(Native Method) 
                                                       at java.lang.reflect.Method.invoke(Method.java:515) 
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
                                                       at dalvik.system.NativeStart.main(Native Method) 

Using

compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'

cause this crash.

And if I using

compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'

It runs well.

dkmeteor commented 8 years ago

Device is "Xiaomi MI Note LTE"

dkmeteor commented 8 years ago

It seems caused by google's new support library.

solutions:

Using v23.1.1

compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'

or add this code to build.gradle

android {
    aaptOptions {
        additionalParameters "--no-version-vectors"
    }
}
dkmeteor commented 8 years ago

ref: http://stackoverflow.com/questions/35622438/update-android-support-library-to-23-2-0-cause-error-xmlpullparserexception-bin

shliama commented 8 years ago

Sample uses gradle plugin 2.0 so the library has this config:

android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }
dineshkumarmandal commented 6 years ago

how to solve this kind of error or how to resolve crushing apk in api level 19

android.content.res.Resources$NotFoundException: Resource ID #0x7f08008c at android.content.res.Resources.getValue(Resources.java:1123) 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.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:491) at android.support.design.internal.NavigationMenuItemView.initialize(NavigationMenuItemView.java:118) at android.support.design.internal.NavigationMenuPresenter$NavigationMenuAdapter.onBindViewHolder(NavigationMenuPresenter.java:429) at android.support.design.internal.NavigationMenuPresenter$NavigationMenuAdapter.onBindViewHolder(NavigationMenuPresenter.java:352) at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6482) at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6515) at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5458) at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5724) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5563) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5559) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2229) at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1556) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1516) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:608) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3693) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3410) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3962) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) at android.widget.FrameLayout.onLayout(FrameLayout.java:388) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1196) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) at android.widget.FrameLayout.onLayout(FrameLayout.java:388) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525) at android.widget.LinearLayout.onLayout(LinearLayout.java:1434) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) at android.widget.FrameLayout.onLayout(FrameLayout.java:388) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1671) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1525) at android.widget.LinearLayout.onLayout(LinearLayout.java:1434) at android.view.View.layout(View.java:14817) at android.view.ViewGroup.layout(ViewGroup.java:4631) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453) at android.widget.FrameLayout.onLayout(FrameLayout.java:388) at android.view.View.layout(View.java:14817) at android.view.V