小编mar*_*rhi的帖子

Android 9 (API 28) 活动在启动时崩溃 (setContentView)

问题是在将我的手机从 Android 8 更新到 9 时开始的。该应用程序之前运行良好。

我试图通过包含相同的依赖项/配置在我正在开发的其他应用程序中复制这一点,但我无法复制该行为。它总是在 setContentView 崩溃,即使是简单的活动和简单的布局。

我做了我的研究并得出结论,INTERACT_ACROSS_USERS_FULL许可不是问题的真正原因。

这种崩溃实际上发生在所有应用程序活动中,但 TestActivity 是最简单的。在运行 API 28 的三星 S9+ 和运行 Android 9、API 28 的像素模拟器上进行测试。

编辑:当我将 android:name="...." 属性放入清单定义时,这似乎会发生。由于我真的需要应用程序类,我仍在寻找解决方案来完成这项工作。


活动(简化为具有崩溃所需的最少代码):

package com.marhat.albatros

import android.os.Bundle import androidx.appcompat.app.AppCompatActivity;

class TestActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test)
    }
}
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                                     xmlns:tools="http://schemas.android.com/tools"
                                                     android:layout_width="match_parent"
                                                     android:layout_height="match_parent"
                                                     tools:context=".TestActivity">

</androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

这是输出:

2019-02-08 11:54:19.088 20298-20298/com.marhat.albatros E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.marhat.albatros, PID: 20298
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.marhat.albatros/com.marhat.albatros.TestActivity}:
Run Code Online (Sandbox Code Playgroud)

java.lang.SecurityException:从用户 0 …

android kotlin android-9.0-pie

5
推荐指数
1
解决办法
2344
查看次数

标签 统计

android ×1

android-9.0-pie ×1

kotlin ×1