Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android &引用;java.lang.RuntimeException:无法实例化“活动”;应用程序未启动,并显示一个空白屏幕_Android_Kotlin - Fatal编程技术网

Android &引用;java.lang.RuntimeException:无法实例化“活动”;应用程序未启动,并显示一个空白屏幕

Android &引用;java.lang.RuntimeException:无法实例化“活动”;应用程序未启动,并显示一个空白屏幕,android,kotlin,Android,Kotlin,我是android的新手。我一直在开发一个简单的应用程序。此应用程序只有一个活动。该活动包含一个按钮。单击按钮时会显示祝酒词文本 以下是我的activity\u main.xml文件: <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.and

我是android的新手。我一直在开发一个简单的应用程序。此应用程序只有一个活动。该活动包含一个按钮。单击按钮时会显示祝酒词文本

以下是我的
activity\u main.xml
文件:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/Text_textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:text="Hello World!"
        android:textSize="34sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.528"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.375" />

    <Button
        android:id="@+id/changeText_Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_text"
        android:textSize="24sp"
        android:background="#FFC0CB"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.568"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.641" />


</androidx.constraintlayout.widget.ConstraintLayout>
当我运行应用程序时,应用程序不会加载。我显示一个空白的黑屏。 以下是日志:

=com.google.android.gms/com.google.android.location.internal.server.HardwareArProviderService }: process is bad
2020-09-14 13:57:42.606 556-580/? I/ActivityManager: Exiting empty application process 0:com.google.android.gms.persistent/u0a102 (null)
2020-09-14 13:57:42.610 556-577/? E/ActivityManager: Failure starting process com.google.android.gms.persistent
    java.lang.SecurityException: Package com.google.android.gms is currently frozen!
        at com.android.server.pm.PackageManagerService.checkPackageStartable(PackageManagerService.java:4451)
        at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:1757)
        at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2319)
        at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2441)
        at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:3148)
        at com.android.server.am.ActiveServices.bringUpServiceLocked(ActiveServices.java:2946)
        at com.android.server.am.ActiveServices.bindServiceLocked(ActiveServices.java:2062)
        at com.android.server.am.ActivityManagerService.bindIsolatedService(ActivityManagerService.java:15158)
        at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1833)
        at android.app.ContextImpl.bindServiceAsUser(ContextImpl.java:1783)
        at com.android.server.ServiceWatcher.rebind(ServiceWatcher.java:339)
        at com.android.server.ServiceWatcher.onBestServiceChanged(ServiceWatcher.java:310)
        at com.android.server.ServiceWatcher.onBindingDied(ServiceWatcher.java:391)
        at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1950)
        at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1986)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)
        at android.os.HandlerThread.run(HandlerThread.java:67)
        at com.android.server.ServiceThread.run(ServiceThread.java:44)
2020-09-14 13:57:42.610 556-577/? I/ActivityManager: Force stopping com.google.android.gms appid=10102 user=0: start failure
2020-09-14 13:57:42.611 556-577/? I/ActivityManager:   Force stopping service ServiceRecord{946b99 u0 com.google.android.gms/com.google.android.location.network.NetworkLocationService}
2020-09-14 13:57:42.612 556-577/? W/ActivityManager: Unable to launch app com.google.android.gms/10102 for service Intent { act=com.android.location.service.v3.NetworkLocationProvider cmp=com.google.android.gms/com.google.android.location.network.NetworkLocationService }: process is bad
2020-09-14 13:57:42.613 556-580/? I/ActivityManager: Exiting empty application process 0:com.google.android.gms.persistent/u0a102 (null)
2020-09-14 13:57:42.617 556-577/? E/ActivityManager: Failure starting process com.google.android.gms.persistent
    java.lang.SecurityException: Package com.google.android.gms is currently frozen!
        at com.android.server.pm.PackageManagerService.checkPackageStartable(PackageManagerService.java:4451)
        at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:1757)
        at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2319)
        at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2441)
        at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:3148)
        at com.android.server.am.ActiveServices.bringUpServiceLocked(ActiveServices.java:2946)
        at com.android.server.am.ActiveServices.bindServiceLocked(ActiveServices.java:2062)
        at com.android.server.am.ActivityManagerService.bindIsolatedService(ActivityManagerService.java:15158)
        at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1833)
        at android.app.ContextImpl.bindServiceAsUser(ContextImpl.java:1783)
        at com.android.server.ServiceWatcher.rebind(ServiceWatcher.java:339)
        at com.android.server.ServiceWatcher.onBestServiceChanged(ServiceWatcher.java:310)
        at com.android.server.ServiceWatcher.onBindingDied(ServiceWatcher.java:391)
        at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1950)
        at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1986)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)
        at android.os.HandlerThread.run(HandlerThread.java:67)
        at com.android.server.ServiceThread.run(ServiceThread.java:44)
2020-09-14 13:57:42.617 556-577/? I/ActivityManager: Force stopping com.google.android.gms appid=10102 user=0: start failure
2020-09-14 13:57:42.618 556-577/? I/ActivityManager:   Force stopping service ServiceRecord{d84426a u0 com.google.android.gms/com.google.android.location.fused.FusedLocationService}
2020-09-14 13:57:42.618 556-577/? W/ActivityManager: Unable to launch app com.google.android.gms/10102 for service Intent { act=com.android.location.service.FusedLocationProvider cmp=com.google.android.gms/com.google.android.location.fused.FusedLocationService }: process is bad
2020-09-14 13:57:42.622 556-577/? E/ActivityManager: Failure starting process com.google.android.gms.persistent
    java.lang.SecurityException: Package com.google.android.gms is currently frozen!
        at com.android.server.pm.PackageManagerService.checkPackageStartable(PackageManagerService.java:4451)
        at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:1757)
        at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2319)
        at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2441)

请帮帮我。谢谢

首先,确保您已在
manifest.xml
文件中注册了您的活动,例如:


然后,由于
activity\u main.xml
中的视图与
activity
类在
setContentView(R.layout.activity\u main)
处连接,因此在创建
Text\u textView
视图之前访问该视图就是犯了一个错误

如果需要将视图作为属性(在本例中为class scope变量),则可以遵循以下方法:

  • 只需使用Kotlin视图扩展功能(最简单的方法)
  • 将属性标记为延迟初始化或延迟初始化
  • 将属性标记为可为空的类型(错误的方法)
  • Kotlin视图扩展功能

    哪一种是最优雅的解决方案?您可以通过活动内部的id直接访问任何视图,例如,您可以使用其id
    changeText\u按钮立即访问该按钮

    
    //***删除***下面的行。
    var text:TextView=findViewById(R.id.text\u TextView)
    重写创建时的乐趣(savedInstanceState:Bundle?){
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    //***删除***下面的行。
    val按钮:按钮=findViewById(R.id.changeText_按钮)
    changeText_Button.setOnClickListener{
    changeText()
    }
    }
    
    使用延迟初始化:

    在这种方法中,属性(局部变量)将具有非在声明站点中首次访问的值,因此,通过这种方式,我们可以将视图设置为全局属性,例如:

    
    val text:TextView由lazy{findViewById(R.id.text_TextView)}
    重写创建时的乐趣(savedInstanceState:Bundle?){
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    ...
    }
    
    您的活动是否在manifest.xml中声明?
    =com.google.android.gms/com.google.android.location.internal.server.HardwareArProviderService }: process is bad
    2020-09-14 13:57:42.606 556-580/? I/ActivityManager: Exiting empty application process 0:com.google.android.gms.persistent/u0a102 (null)
    2020-09-14 13:57:42.610 556-577/? E/ActivityManager: Failure starting process com.google.android.gms.persistent
        java.lang.SecurityException: Package com.google.android.gms is currently frozen!
            at com.android.server.pm.PackageManagerService.checkPackageStartable(PackageManagerService.java:4451)
            at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:1757)
            at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2319)
            at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2441)
            at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:3148)
            at com.android.server.am.ActiveServices.bringUpServiceLocked(ActiveServices.java:2946)
            at com.android.server.am.ActiveServices.bindServiceLocked(ActiveServices.java:2062)
            at com.android.server.am.ActivityManagerService.bindIsolatedService(ActivityManagerService.java:15158)
            at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1833)
            at android.app.ContextImpl.bindServiceAsUser(ContextImpl.java:1783)
            at com.android.server.ServiceWatcher.rebind(ServiceWatcher.java:339)
            at com.android.server.ServiceWatcher.onBestServiceChanged(ServiceWatcher.java:310)
            at com.android.server.ServiceWatcher.onBindingDied(ServiceWatcher.java:391)
            at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1950)
            at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1986)
            at android.os.Handler.handleCallback(Handler.java:938)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:223)
            at android.os.HandlerThread.run(HandlerThread.java:67)
            at com.android.server.ServiceThread.run(ServiceThread.java:44)
    2020-09-14 13:57:42.610 556-577/? I/ActivityManager: Force stopping com.google.android.gms appid=10102 user=0: start failure
    2020-09-14 13:57:42.611 556-577/? I/ActivityManager:   Force stopping service ServiceRecord{946b99 u0 com.google.android.gms/com.google.android.location.network.NetworkLocationService}
    2020-09-14 13:57:42.612 556-577/? W/ActivityManager: Unable to launch app com.google.android.gms/10102 for service Intent { act=com.android.location.service.v3.NetworkLocationProvider cmp=com.google.android.gms/com.google.android.location.network.NetworkLocationService }: process is bad
    2020-09-14 13:57:42.613 556-580/? I/ActivityManager: Exiting empty application process 0:com.google.android.gms.persistent/u0a102 (null)
    2020-09-14 13:57:42.617 556-577/? E/ActivityManager: Failure starting process com.google.android.gms.persistent
        java.lang.SecurityException: Package com.google.android.gms is currently frozen!
            at com.android.server.pm.PackageManagerService.checkPackageStartable(PackageManagerService.java:4451)
            at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:1757)
            at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2319)
            at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2441)
            at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:3148)
            at com.android.server.am.ActiveServices.bringUpServiceLocked(ActiveServices.java:2946)
            at com.android.server.am.ActiveServices.bindServiceLocked(ActiveServices.java:2062)
            at com.android.server.am.ActivityManagerService.bindIsolatedService(ActivityManagerService.java:15158)
            at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1833)
            at android.app.ContextImpl.bindServiceAsUser(ContextImpl.java:1783)
            at com.android.server.ServiceWatcher.rebind(ServiceWatcher.java:339)
            at com.android.server.ServiceWatcher.onBestServiceChanged(ServiceWatcher.java:310)
            at com.android.server.ServiceWatcher.onBindingDied(ServiceWatcher.java:391)
            at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1950)
            at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1986)
            at android.os.Handler.handleCallback(Handler.java:938)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:223)
            at android.os.HandlerThread.run(HandlerThread.java:67)
            at com.android.server.ServiceThread.run(ServiceThread.java:44)
    2020-09-14 13:57:42.617 556-577/? I/ActivityManager: Force stopping com.google.android.gms appid=10102 user=0: start failure
    2020-09-14 13:57:42.618 556-577/? I/ActivityManager:   Force stopping service ServiceRecord{d84426a u0 com.google.android.gms/com.google.android.location.fused.FusedLocationService}
    2020-09-14 13:57:42.618 556-577/? W/ActivityManager: Unable to launch app com.google.android.gms/10102 for service Intent { act=com.android.location.service.FusedLocationProvider cmp=com.google.android.gms/com.google.android.location.fused.FusedLocationService }: process is bad
    2020-09-14 13:57:42.622 556-577/? E/ActivityManager: Failure starting process com.google.android.gms.persistent
        java.lang.SecurityException: Package com.google.android.gms is currently frozen!
            at com.android.server.pm.PackageManagerService.checkPackageStartable(PackageManagerService.java:4451)
            at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:1757)
            at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2319)
            at com.android.server.am.ProcessList.startProcessLocked(ProcessList.java:2441)