Android Studio 3.3.2 сбой SVG: исключение при накачивании <vector>android.content.res.Resources $ NotFoundException: - PullRequest
2 голосов
/ 04 апреля 2019

При сборке приложения с android studio 3.3.2 происходит сбой приложения, когда представление изображения пытается загрузить изображение с векторным тегом во время выполнения.Точно такая же сборка работает с Android Studio 3.2.1.

Вот svg-файл

<vector android:height="70dp" android:viewportHeight="80"
android:viewportWidth="80" android:width="70dp"
xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillType="evenOdd"
    android:pathData="M40,40m-40,0a40,40 0,1 1,80 0a40,40 0,1 1,-80 0"
    android:strokeColor="#00000000" android:strokeWidth="1">
    <aapt:attr name="android:fillColor">
        <gradient android:endX="40" android:endY="80"
            android:startX="40" android:startY="-21.856705" android:type="linear">
            <item android:color="#FFFFBD00" android:offset="0"/>
            <item android:color="#FFFF8800" android:offset="1"/>
        </gradient>
    </aapt:attr>
</path>
<path android:fillAlpha="0.5" android:fillColor="#FFFFFF"
    android:fillType="evenOdd"
    android:pathData="M41,18C28.8497,18 19,27.8497 19,40C19,52.1503 28.8497,62 41,62C53.1503,62 63,52.1503 63,40C63,27.8497 53.1503,18 41,18L41,18ZM41,59C30.5066,59 22,50.4934 22,40C22,29.5066 30.5066,21 41,21C51.4934,21 60,29.5066 60,40C60,50.4934 51.4934,59 41,59Z"
    android:strokeColor="#00000000" android:strokeWidth="1"/>
<path android:fillColor="#FFFFFF" android:fillType="evenOdd"
    android:pathData="M48.3384,37.312L38.3395,32.3157C37.4072,31.8505 36.3,31.9022 35.4151,32.4524C34.5303,33.0025 33.9945,33.9722 34,35.0137L34,45.0063C34.0015,46.0442 34.54,47.0075 35.4236,47.5529C36.3073,48.0982 37.4103,48.1479 38.3395,47.6843L48.3384,42.688C49.3565,42.1809 50,41.1419 50,40.005C50,38.8681 49.3565,37.8291 48.3384,37.322L48.3384,37.312Z"
    android:strokeColor="#00000000" android:strokeWidth="1"/>

XML-макет

                <ImageView
                android:layout_width="70dp"
                android:layout_height="70dp"
                android:adjustViewBounds="true"
                android:layout_gravity="center"
                android:paddingEnd="@dimen/padding_small_medium"
                android:paddingStart="@dimen/padding_small_medium"
                app:srcCompat="@drawable/ic_videos_svg_crash_fix"
                />

appbuild.gradle

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

Logcat

    04-04 06:01:53.203 4838-4838/com.testbook.tbapp E/VdcInflateDelegate: Exception while inflating <vector>
    android.content.res.Resources$NotFoundException: File res/drawable/$ic_videos_svg_crash_fix__0.xml from color state list resource ID #0x7f08000d
        at android.content.res.Resources.loadColorStateListForCookie(Resources.java:2750)
        at android.content.res.Resources.loadColorStateList(Resources.java:2699)
        at android.content.res.TypedArray.getColor(TypedArray.java:439)
        at android.support.v4.content.res.TypedArrayUtils.getNamedColor(TypedArrayUtils.java:125)
        at android.support.graphics.drawable.VectorDrawableCompat$VFullPath.updateStateFromTypedArray(VectorDrawableCompat.java:1747)
        at android.support.graphics.drawable.VectorDrawableCompat$VFullPath.inflate(VectorDrawableCompat.java:1713)
        at android.support.graphics.drawable.VectorDrawableCompat.inflateInternal(VectorDrawableCompat.java:744)
        at android.support.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:632)
        at android.support.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:591)
        at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:775)
        at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:363)
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)
        at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186)
        at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:101)
        at android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:59)
        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.createImageView(AppCompatViewInflater.java:182)
        at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
        at android.support.v7.app.AppCompatDelegateImpl.createView(AppCompatDelegateImpl.java:1263)
        at android.support.v7.app.AppCompatDelegateImpl.onCreateView(AppCompatDelegateImpl.java:1313)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at com.testbook.tbapp.android.home.dashboard.DashboardRecyclerAdapter.onCreateViewHolder(DashboardRecyclerAdapter.java:351)
        at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6748)
        at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5929)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5812)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5808)
        at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230)
        at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1557)
        at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517)
        at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612)
        at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3878)
        at
04-04 06:01:53.204 4838-4838/com.testbook.tbapp E/WebEngage: App has crashed
    android.view.InflateException: Binary XML file line #35: Binary XML file line #35: Error inflating class ImageView

        --------- beginning of crash
    04-04 06:01:53.205 4838-4838/com.testbook.tbapp E/AndroidRuntime: FATAL EXCEPTION: main
        Process: com.testbook.tbapp, PID: 4838
        android.view.InflateException: Binary XML file line #35: Binary XML file line #35: Error inflating class ImageView
            at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
            at com.testbook.tbapp.android.home.dashboard.DashboardRecyclerAdapter.onCreateViewHolder(DashboardRecyclerAdapter.java:351)
            at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6748)
            at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5929)
            at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5812)
            at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5808)
            at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2230)
            at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1557)
            at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1517)
            at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:612)
            at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3878)
            at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3595)
            at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4148)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
            at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
            at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
            at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at com.testbook.tbapp.android.home.MenuDrawerLayout.onLayout(MenuDrawerLayout.java:567)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
            at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
            at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
            at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
            at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
            at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
            at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
            at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
            at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2678)
            at android.view.View.layout(View.java:16630)
            at android.view.ViewGroup.layout(ViewGroup.java:5437)
            at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2171)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1931)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
            at android.vie
...