Android应用程序因SIG 9崩溃

Android应用程序因SIG 9崩溃,android,process,kill-process,Android,Process,Kill Process,我知道,通常你会告诉我检查日志(在崩溃之前,看看我是否遗漏了什么)。没什么,因为当我尝试开始一项新活动时,应用程序无论如何都会崩溃。唯一有效的两个活动是SplashScreen和SignIn 为了找出这个问题,我做了一些简单的事情 public class SplashScreen extends AppCompatActivity{ private final static String TAG = SplashScreen.class.getSimpleName(); private fin

我知道,通常你会告诉我检查日志(在崩溃之前,看看我是否遗漏了什么)。没什么,因为当我尝试开始一项新活动时,应用程序无论如何都会崩溃。唯一有效的两个活动是
SplashScreen
SignIn

为了找出这个问题,我做了一些简单的事情

public class SplashScreen extends AppCompatActivity{
private final static String TAG = SplashScreen.class.getSimpleName();
private final static int DELAY = 2000;

@Override
protected void onCreate(@Nullable final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash_screen);

    startActivity(new Intent(this, Root.class));
    finish();
}
和Root.class

public class Root extends AppCompatActivity {
private final static String TAG = Root.class.getSimpleName();
private long backPressedTime = 0;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    Log.i(TAG, "onCreate");
    super.onCreate(savedInstanceState);
    Log.i(TAG, "super.onCreate");
    setContentView(R.layout.trending);
    Log.i(TAG, "setContentView");
}
所以我设置了一些日志,看起来我转到了第二个日志。。控制台中不显示第三个
setcontentView
。这个问题甚至更奇怪,因为无论我尝试开始什么课程,都会发生同样的事情

提到:

  • 检查日志,无异常(警告
    03-13 13:52:33.302 23233-23233/com.example.codkom.shirtex W/art:Failed execv(/system/bin/dex2oat--runtime arg-classpath--runtime arg--debugable…

  • 在应用程序上工作了几天,并在我的个人设备上进行了测试(工作没有问题,即使现在也是如此),但在任何其他设备上都没有

  • 如果确实有效,我使用multidex,我重写我的
    应用程序
    类,并按照文档进行了
    multidex.install(context);
    (这样说是因为我猜测可能是multidex引起的,但在没有multidex的API 21+上进行了测试,结果还可以(因为API 21+自己处理multidex)

  • 我的项目中有7项活动,其中3项出现问题

我已经到了不知道还能做什么的地步,这就是为什么我带着这个问题来到这里

请求:


明显地

<application
    android:name=".application.ShirTexApp"
    android:allowBackup="true"
    android:icon="@drawable/ic_app_logo"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/Theme.AppCompat"
    android:fullBackupContent="true">
<activity android:name=".activities.Root" android:theme="@style/Theme.AppCompat.Light.NoActionBar" android:windowSoftInputMode="adjustPan"/>
</application>

看起来,您正在为图像使用矢量可绘制功能。矢量可绘制功能在5.0以下没有支持。要在5.0以下和所有设备中创建支持矢量可绘制功能,请按照以下步骤操作

第1步:

首先,你必须在格拉德尔提到。 提供支持库

implementation 'com.android.support:appcompat-v7:23.2.0'
启用Vecor可拉伸支撑

android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
   }  
}
第二步:

在设计XML中,当直接使用ImageView时,应使用
srcCompat
而不是
src
来表示矢量绘图

<ImageView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  app:srcCompat="@drawable/ic_add" />
对于应用程序类或活动中的某些设备

static {
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    }
就你而言 基于日志,工具栏或浮动操作按钮有矢量图像改变,并检查

谷歌文档:

堆栈溢出也有很多向量可绘制的参考


希望能有所帮助。

从屏幕截图上看,您启动应用程序时似乎有目的。如果您通过点击设备上的应用程序图标“正常”启动应用程序,会发生什么情况?问题是我没有更多与此相关的信息。但可以肯定,它会在
onCreate()中发生
,但不是每个活动类,只是其中的一些。我想可能是主题相关的,但似乎没有找到崩溃活动之间的联系。请不要在有文本可用时发布图像。这会使阅读和搜索文本段变得更困难。这是一个小的文本片段,我不认为很难理解你想发布
R.layout.trending
首先,我在这个问题上是对的。
setContentView()
上有崩溃,但不是在每个类上,只是在活动的XML中有一个
FloatingActionButton
的类上。更准确地说,是因为
android:backgroundTint=“@color/blue”
@IonutJ.Bejan是的,与vector drawables相同。5.0之后也支持backgroundTint。每当您遇到视图问题时,它都会在SetContentViews上崩溃。但我的MiddkVersion是21,不应该这样吗?无论如何,我已经为您提供了
赏金
,这是一个漂亮而详细的答案。我的问题已经解决了。非常感谢
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_action_search_vector"/>
</selector>
AppCompatResources.getDrawable(mContext,R.drawable.ic_action_search_vector);
static {
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    }