Ard*_*rdi 13 crash android theming live-wallpaper material-you
我最近注意到,当用户尝试在 Android 12 上设置新引入的“主题图标”功能时,我的动态壁纸应用程序崩溃了。这项新功能会根据用户当前的静态壁纸计算调色板,并使用该调色板为某些壁纸着色。其他应用程序图标(新“Material You”设计的一项功能)。但由于某种原因,当它在动态壁纸上运行时,它会导致应用程序崩溃并显示以下日志:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.Bitmap android.graphics.drawable.BitmapDrawable.getBitmap()' on a null object reference
at android.os.Parcel.createExceptionOrNull(Parcel.java:2443)
at android.os.Parcel.createException(Parcel.java:2421)
at android.os.Parcel.readException(Parcel.java:2404)
at android.os.Parcel.readException(Parcel.java:2346)
at android.service.wallpaper.IWallpaperConnection$Stub$Proxy.onWallpaperColorsChanged(IWallpaperConnection.java:298)
at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:2586)
at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:44)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8582)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:563)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1133)
Caused by android.os.RemoteException: Remote stack trace:
at com.samsung.server.wallpaper.LegibilityColor.convertColors(LegibilityColor.java:418)
at com.android.server.wallpaper.WallpaperManagerService$WallpaperConnection.onWallpaperColorsChanged(WallpaperManagerService.java:2169)
at android.service.wallpaper.IWallpaperConnection$Stub.onTransact(IWallpaperConnection.java:158)
at android.os.Binder.execTransactInternal(Binder.java:1215)
at android.os.Binder.execTransact(Binder.java:1179)
Run Code Online (Sandbox Code Playgroud)
目前,我只能在三星 Galaxy S21 / S21 Ultra 手机上观察到此崩溃,但随着用户将系统更新到 Android 12,它将出现在更多手机上。
目前,我无法重现此崩溃,因为我没有 Galaxy S21,并且 Android Studio 模拟器仍然缺少“主题图标”选项(可能是因为此功能目前仍处于测试阶段)。
有人知道如何解决这个灾难性问题吗?任何帮助是极大的赞赏!
11 月 18 日更新:我能够在 Android Studio 模拟器(在新推出的“SV2”版本上)上测试新的“主题图标”功能。这个版本确实有错误,但我无法重现类似的崩溃。这让我觉得这次崩溃是三星手机独有的。
我尝试在“Galaxy Mobile - 远程测试实验室”网站上的公开手机上测试一些 Galaxy S21 设备,但它们实现了 Android 12 的 Beta 版本,其中主题图标功能不可用。
我想生成完整的崩溃报告(日志+视频)发送给三星,但我仍然找不到安装了 Android 12 的 Galaxy S21(Galaxy S21 手机的 Android 12 系统更新于 11 月 15 日开始)。与此同时,随着越来越多的用户将手机更新到 Android 12,崩溃报告呈爆炸式增长……真可惜!
找到解决方案。
文件名:壁纸.xml
曾是:
<wallpaper bla bla bla
android:thumbnail="@mipmap/ic_launcher"
/>
Run Code Online (Sandbox Code Playgroud)
变成:
<wallpaper bla bla bla
android:thumbnail="@drawable/thumbnail"
/>
Run Code Online (Sandbox Code Playgroud)
将应用程序图标复制到:drawable/thumbnail.png
来自@Redwarp的更新:您应该使用位图而不是矢量图像。
应用程序更新后:
| 归档时间: |
|
| 查看次数: |
1926 次 |
| 最近记录: |