Android Studio:错误:SplashActivity不是活动子类或别名

Amb*_*ran 3 android android-studio

我有一个具有所有功能和一些活动的库项目,并且还有一个包装器活动,该包装器活动仅具有JSON配置字符串和某些样式。我将库导入了包装器项目,然后在包装器项目中将库的活动之一设置为启动活动,但随后收到一个错误消息,即从库中选择的活动不是活动子类或别名

这是什么意思,我可以纠正吗?

应该启动的活动:

package dk.borgertip.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import dk.borgertip.R;

public class SplashActivity extends Activity {

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

        Thread startTimer = new Thread() {
            @Override
            public void run() {
                try {
                    sleep(3000);
                    Intent i = new Intent(SplashActivity.this, MainActivity.class);
                    startActivity(i);
                    finish();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };
        startTimer.start();
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_splash, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
Run Code Online (Sandbox Code Playgroud)

项目结构:(Borgertip模块是包含要启动的活动的库,该活动是对Activity的扩展)

Borgertip模块是包含要启动的活动的库

错误的“编辑配置”对话框:

在此处输入图片说明

我做错了什么?

San*_*992 5

我遇到了同样的问题,在这种特殊情况下,它是在重构一些代码并删除设置为应用程序主要活动的活动之后引起的。

我确保<activity></activity>声明也已从manifest.xml文件中删除,但是Run/Debug configurations在Android Studio中,此部分仍将其设置为主要活动。

只是去 run/Edit configurations.../Android App/app

选择"General"选项卡,然后查看"Launch Options"部分。在这里,您可以选择要设置为主要活动的活动。

希望这对其他人有用。


Gab*_*tti 2

您必须activity在项目中包含 AndroidManifest.xml

来源官方文档

In the manifest file of the application project, you must add declarations 
of all components that the application will use that are imported from a 
library project. For example, you must declare any <activity>, <service>, 
<receiver>, <provider>, and so on, as well as <permission>, 
<uses-library>, and similar elements.
Run Code Online (Sandbox Code Playgroud)