仅在设备Allwinner A88S上安装Android ProgressBar ResourceNotFound res / drawable.check_animated.xml

时间:2018-02-02 16:36:36

标签: android android-layout device android-resources

我正在尝试显示进度条。它适用于我测试的所有设备(大约10台设备),但它在名为Allwinner A88S Android 5.1.1的低成本设备上失败。 Android版本不是问题,因为5.1.1中的其他设备可以工作。

因此,它无法找到名为res / drawable / check_animated.xml的ressource 我的猜测是,它可能与缺少的支持库有关,但我找不到哪个库会提供check_animated.xml。任何线索或想法将非常感激。也许我可以提供自己的check_animated.xml,但找不到这个文件。谢谢。

以下是如何在布局中描述ProgressBar

    <ProgressBar
    android:id="@+id/jdp_waitbar"
    style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
    android:layout_centerHorizontal="true"
    android:layout_width="160dp"
    android:layout_height="5dp"
    android:layout_alignParentTop="true"
    android:layout_margin="0dip"
    android:max="100"
    android:visibility="invisible"
    android:progressDrawable="@drawable/jdp_progress_drawable"
    />

以下是例外:

   Caused by: android.content.res.Resources$NotFoundException: File res/drawable/check_animated.xml from drawable resource ID #0x7f0200d3
      at android.content.res.Resources.loadDrawableForCookie(Resources.java:2479)
      at android.content.res.Resources.loadDrawable(Resources.java:2381)
      at android.content.res.TypedArray.getDrawable(TypedArray.java:749)
      at android.widget.ProgressBar.<init>(ProgressBar.java:267)
      at android.widget.ProgressBar.<init>(ProgressBar.java:253)
      at android.widget.ProgressBar.<init>(ProgressBar.java:249)
      at java.lang.reflect.Constructor.newInstance(Native Method) 
      at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
      at android.view.LayoutInflater.createView(LayoutInflater.java:607) 
      at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) 
      at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) 
      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 com.furetcompany.base.components.WaitingView.createView(WaitingView.java:112) 
      at com.furetcompany.base.components.WaitingView.<init>(WaitingView.java:45) 
      at com.furetcompany.base.network.CircuitDownloader.showWaitingDialog(CircuitDownloader.java:86) 
      at com.furetcompany.base.network.CircuitDownloader$5.run(CircuitDownloader.java:221) 
      at android.os.Handler.handleCallback(Handler.java:739) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      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 个答案:

答案 0 :(得分:0)

检查值 compileSdkVersion targetSdkVersion 在您的应用级gradle构建文件中,并确保它们是最新的。还要确保minSdkVersion等于或低于应用程序崩溃的设备支持的最新API版本。对于Android 5.1.1,您的minSdkVersion应为22或更低。清洁项目并重试。

答案 1 :(得分:0)

经过多次测试后,问题似乎与活动的主题有关。

替换

<activity android:name=".MainActivity" android:theme="@android:style/Theme.NoTitleBar">

<activity android:name=".MainActivity" android:theme="@android:style/Theme.AppCompat.Light.NoActionBar">

修复了崩溃。