【问题标题】:Android Studio not installing App on deviceAndroid Studio 未在设备上安装应用程序
【发布时间】:2020-07-18 14:20:34
【问题描述】:

解决了:

重置后一切正常,这是我的手机的问题。 感谢所有试图帮助我的人。


我在 Android Studio 中编写了一个应用程序并在我的设备上对其进行了测试,今天我将其卸载并尝试使用 Android Studio 运行它。但应用无法启动,Android Studio 会产生以下错误:

$ adb shell am start -n "de.clashbestie.pccontrol/de.clashbestie.pccontrol.activities.ConnectActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Error while executing: am start -n "de.clashbestie.pccontrol/de.clashbestie.pccontrol.activities.ConnectActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=de.clashbestie.pccontrol/.activities.ConnectActivity }
Error type 3
Error: Activity class {de.clashbestie.pccontrol/de.clashbestie.pccontrol.activities.ConnectActivity} does not exist.

Error while Launching activity

And a screenshot too

是的,我看到“不存在”,是的,这就是问题所在,该应用没有安装,但在 Android Studio 屏幕截图中可以看到“安装成功完成”。

我尝试清理并重建重新启动了 Android Studio、我的电脑和我的设备。有人知道我还能做什么吗?

顺便说一句。在模拟器中,应用程序被安装。

这是我的主要活动:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.clashbestie.pccontrol">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".activities.ControlActivity"
            android:label="@string/title_activity_control"
            android:theme="@style/AppTheme.NoActionBar"></activity>
        <activity android:name=".activities.ConnectActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

ConnectActivity.java:(删除导入以缩短它)

package de.clashbestie.pccontrol.activities;

public class ConnectActivity extends AppCompatActivity {

    private static ConnectActivity instance;

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

    public void connect(View v)  {
        findViewById(R.id.ip).clearFocus();
        findViewById(R.id.port).clearFocus();
        Button button = (Button) findViewById(R.id.connect);
        if (button.getText().equals(getString(R.string.button_connecting))) {
            Snackbar.make(instance.findViewById(R.id.connect), "Already connecting", Snackbar.LENGTH_SHORT).show();
        } else {
            button.setText(R.string.button_connecting);
            String ip = ((EditText) findViewById(R.id.ip)).getText().toString();
            String port = ((EditText) findViewById(R.id.port)).getText().toString();
            ((InputMethodManager) this.getSystemService(Activity.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(findViewById(R.id.connect).getWindowToken(), 0);

            new ConnectorThread(ip, port).start();
        }
    }

    public static void launchControlActivity(Socket socket) {
        Button button = (Button) instance.findViewById(R.id.connect);
        button.setText(R.string.button_connect);
        try {
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
       instance.getApplicationContext().startActivity(new Intent(instance, ControlActivity.class));
    }

    public static void showConnectError(String text) {
        Button button = (Button) instance.findViewById(R.id.connect);
        button.setText(R.string.button_connect);
        Snackbar.make(instance.findViewById(R.id.connect), text, Snackbar.LENGTH_LONG).show();

    }
}

【问题讨论】:

  • 你能给你看清单文件吗?
  • jes 将其添加到问题中
  • 你删除了这个活动activity.ConnectActivity吗?
  • 不,它仍然存在
  • 错误:活动类 {de.clashbestie.pccontrol/de.clashbestie.pccontrol.activities.ConnectActivity} 不存在。它说该活动不存在,请确保您有此活动

标签: java android


【解决方案1】:

您收到错误的原因是因为您没有启动应用程序的活动,所以在您的清单文件中,您应该指定启动器活动

  • 这是代码
 <activity
            android:name=".activities.ControlActivity"  activity
            android:label="@string/title_activity_control"
            android:theme="@style/AppTheme.NoActionBar"></activity>
        <activity android:name=".activities.ConnectActivity"> // here specify the the
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

【讨论】:

  • m 连接活动是你的启动器活动,所以当你启动你的应用程序时,这个活动将首先在你的应用程序中启动,这是你想用它来启动应用程序吗?
  • 是的,这就是我想要的。这个名字让我看起来不一样,但这就是我想要的。
  • 我将它添加到问题中,请稍等。
  • 似乎一切正常,您是否尝试过无效并重新启动?
  • 只清理和重建。如何作废?
猜你喜欢
  • 1970-01-01
  • 2016-12-27
  • 2011-06-05
  • 2015-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多