编程语言
首页 > 编程语言> > java – Android App Bundle在Android应用程序中引入资源未找到崩溃

java – Android App Bundle在Android应用程序中引入资源未找到崩溃

作者:互联网

通过使用AndroidAndroid应用程序包我发现我的2个谷歌游戏商店应用程序中找不到资源崩溃: –

这是应用程序之一的面料堆栈跟踪: –

Unable to start activity ComponentInfo{/com.Lastyear.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_item_background_holo_dark.xml from drawable resource ID #0x7f08002c
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2429)
       at android.app.ActivityThread.access$800(ActivityThread.java:151)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342)
       at android.os.Handler.dispatchMessage(Handler.java:110)
       at android.os.Looper.loop(Looper.java:193)
       at android.app.ActivityThread.main(ActivityThread.java:5363)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
       at dalvik.system.NativeStart.main(NativeStart.java)

build.gradle依赖项: –

 dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.12'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:customtabs:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.squareup.picasso:picasso:2.5.2'

implementation 'com.android.support:palette-v7:27.1.1'
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
implementation 'com.jakewharton:butterknife:8.8.1'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.android.support:design:27.1.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.github.hotchemi:android-rate:1.0.1'
implementation 'com.hannesdorfmann.smoothprogressbar:library:1.0.0'
implementation 'com.android.support:palette-v7:27.1.1'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
implementation 'com.muddzdev:styleabletoast:1.0.9'
implementation 'com.github.GrenderG:Toasty:1.2.5'
implementation 'com.hannesdorfmann.smoothprogressbar:library:1.0.0'

implementation 'com.wang.avi:library:2.1.3'
implementation 'com.github.medyo:fancybuttons:1.8.4'
implementation 'com.irozon.sneaker:sneaker:1.0.1'
implementation 'com.sdsmdg.tastytoast:tastytoast:0.1.1'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'


implementation 'com.getkeepsafe.taptargetview:taptargetview:1.11.0'


implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
    transitive = true;
}


implementation 'petrov.kristiyan:colorpicker-library:1.1.8'}

还有一件事只发生在Android 4操作系统而不是新版本的Android上.我发现其他应用程序遇到了与使用Android应用程序包之前不存在的资源未找到相同的问题.库或代码中是否存在问题,或者是因为Android应用程序包的测试版?

enter image description here

我还发现了由于崩溃导致的资源可绘制: –
enter image description here

我认为这个问题也与此有关: –
Error inflating class android.support.design.widget.NavigationView after adding SwitchCompat in Android App Bundle

解决方法:

这几乎可以肯定是用户通过P2P共享程序共享(加载)应用程序,或者将APK上传到网络,然后将其他用户从网上下载和安装.

过去常常处理非Android App Bundle应用的用户只需转移并共享主APK.但是你的应用程序包应用程序有很多“拆分APK”用于资源等事情,这就是节省大小的方式.您可以阅读有关此过程on the help page的所有信息.如果用户安装主APK而未安装正确的分割APK,则在应用首次尝试加载资源时将发生“未找到资源”崩溃.

如果您想支持用户侧载您的应用程序而只支持主APK,您可以尝试检测此情况并向用户显示消息(不使用任何资源),并显示“请从Google Play安装”.或者您可能只是决定不支持以这种方式共享APK的用户.

我怀疑从长远来看,网站和P2P共享程序将更好地分享这些APK,所以我不会花太多时间担心它.

如果你在较低的Android版本上看到这种情况发生得更频繁,这可能不是因为较低Android版本中的错误.相反,可能是因为在用户通常P2P共享应用程序的国家(例如印度),用户也更有可能使用旧版手机.

标签:android,java,crash,android-app-bundle
来源: https://codeday.me/bug/20190926/1817920.html