我的应用程序在某些设备上崩溃,我的最低 API 级别设置为 16,当我在不同设备上测试我的应用程序时,它在没有任何详细错误的情况下崩溃,下面是错误的详细信息错误:java.lang.RuntimeException:无法启动活动 ComponentInfo{com.cbcwebs.app.wincoin/com.cbcwebs.app.wincoin.SplashScreen}:android.view.InflateException:二进制 XML 文件第 10 行:错误膨胀类 ImageView在 My Splash Screen Class 的第32 行,这是第 32 行 (setContentView(R.layout.activity_splash_screen);)我的活动代码public class SplashScreen extends AppCompatActivity { private static final int RC_SIGN_IN = 123; private FirebaseAuth mAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash_screen); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.WHITE); } mAuth = FirebaseAuth.getInstance(); FirebaseUser currentUser = mAuth.getCurrentUser(); if(currentUser == null) { List<AuthUI.IdpConfig> providers = Arrays.asList( new AuthUI.IdpConfig.PhoneBuilder().build()); startActivityForResult( AuthUI.getInstance() .createSignInIntentBuilder() .setTheme(R.style.AppTheme) .setAvailableProviders(providers) .build(), RC_SIGN_IN); }else { checkUserExist(); }和我的布局 XML<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:background="#fff" android:layout_height="match_parent" tools:context=".SplashScreen">
2 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
使用app:srcCompat="@drawable/wincoin"
而不是 android:src="@drawable/wincoin"
在您的ImageView布局中的所有布局文件。
慕神8447489
TA贡献1780条经验 获得超1个赞
我有同样的问题,我的应用程序会在旧版本的 android 上崩溃。并且得到了android.view.Inflateexception,经过一些搜索发现我的drawable只有v24文件,并且不支持旧的API版本,我通过创建与v24文件相同的文件名的新drawable资源文件解决了这个问题,Android studio 自动创建一个文件夹并将两个文件移动到该文件夹中。下一步只需从 v24 文件复制数据并将其粘贴到没有 v24 文件的文件中。就是这样。
添加回答
举报
0/150
提交
取消