首页 > 解决方案 > 我的 Android 应用程序不断停止;是因为我因为找不到证书文件而收到 GPRC 错误吗?

问题描述

我正在尝试运行我的第一个 Android 应用程序,但在尝试运行后它一直停止。谁能帮我解释为什么会这样?

我认为发生这种情况的一个原因是因为 GPRC 错误说:

模拟器:模拟器:警告:EmulatorService.cpp:448:找不到证书文件:C:\Users\HOME.android\emulator-grpc.cer 安全性将被禁用。

模拟器:在 127.0.0.1:8554 启动 GRPC 服务器

值得庆幸的是,最近有一个问题询问此问题:为什么我在启动模拟器时收到此 GRPC 错误“警告:EmulatorService.cpp:448:找不到证书文件”?,但是那里的人向原始提问者提供的答案都没有为我解决。我尝试重新安装必要的 SDK 工具(模拟器、模拟器管理程序驱动程序、平台工具和模拟器加速器),但没有一个能成功。我还做了“无效的缓存并重新启动”,检查了 XML 文件,卸载了应用程序,然后完全重新启动了计算机,但无济于事。

所以我开始认为这里还有另一个问题,但我不知道是什么。

MainActivity的做法是这样的,它只是将一些足球队分组:

package com.example.basicsorting;

import android.os.Bundle;
import android.util.Log;

import androidx.appcompat.app.AppCompatActivity;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class MainActivity extends AppCompatActivity {

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

        List<Tgroup> groups = new ArrayList<>();
        groups.add(new Tgroup('1', "A"));
        groups.add(new Tgroup('2', "B"));
        groups.add(new Tgroup('3', "C"));
        groups.add(new Tgroup('4', "D"));

        List<String> ht = Arrays.asList("A", "B", "C", "D");
        List<String> ttd = Arrays.asList("E", "F", "G", "H", "I", "J",
                "K", "L", "M", "N", "O", "P");
        Map<String, Tgroup> drawResult = new HashMap<>();

        Random random = new Random();
        for (int i = 0; i < ht.size(); i++){
            drawResult.put(ht.get(i), groups.get(i));
        }

        for (String team : ttd){
            int index = random.nextInt(ttd.size());
            drawResult.put(team, groups.get(index));
        }

        for(Map.Entry<String, Tgroup> e : drawResult.entrySet()){
            Log.d("Cup", e.getKey() + "got drawn to Group" + e.getValue().name +
        "so they will have to book a place at " + e.getValue().hostcity);
        }


    }
}

的代码Tgroup是这样的:

package com.example.basicsorting;

public class Tgroup {
    public char name;
    public String hostcity;

    Tgroup(char name, String hostcity) {
        this.name = name; // value is equal to whatever the user passed in
        this.hostcity = hostcity;
    }
}

同时,Logcat是空的。先感谢您!

(编辑:感谢您编辑标签!)

标签: javaandroidandroid-studio

解决方案


尝试将您的模拟器设置更改为硬件。AVD 经理。使用铅笔按钮选择您的模拟设备设置。然后转到高级设置并将硬件设置从自动更改为硬件


推荐阅读