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引起的,但在没有multidex的API 21+上进行了测试,结果还可以(因为API 21+自己处理multidex)multidex.install(context);
- 我的项目中有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);
}