我将手机更新为android 8.1并启动了我的应用。我注意到了一个奇怪的错误-“找不到资源”。在android 7.1中,一切正常。我已经尝试清理和重建项目。我认为下面的代码应该足以发现错误。
SplashActivity样式
<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@drawable/background_splash</item>
</style>
bakcground_splash.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorPrimaryDark"/>
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/ic_launcher"/>
</item>
</layer-list>
清单
<activity
android:name=".splash.SplashActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="http"
android:host="music.pl"
android:pathPrefix="/music" />
</intent-filter>
</activity>
错误
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.linkplayer.linkplayer/com.linkplayer.linkplayer.splash.SplashActivity}: android.content.res.Resources$NotFoundException: Drawable com.linkplayer.linkplayer:drawable/background_splash with resource ID #0x7f07005e
预先感谢您的帮助。祝你晚上愉快。
答案 0 :(得分:0)
错误在于xml的这一部分:
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/ic_launcher"/>
</item>
我不知道为什么,但是Android 8.0+看不到mipmap。我必须使用“可绘制”目录中的文件:
<item>
<bitmap
android:gravity="center"
android:src="@drawable/my_drawable"/>
</item>
希望它会对您有所帮助。