当前位置: 首页 > 面试题库 >

在空白的Android活动上找不到类错误

师腾
2023-03-14
问题内容

当我在Android Studio 2.0中创建空白活动并尝试在API 16上运行该活动时,它将正确编译。当我在具有API
23的仿真器上运行它时,它运行无误。当我在API 16上运行它时,在应用启动时会给我很多错误。见下文。奇怪的是该应用程序运行正常。

这可能是什么原因?

在Android Studio中,我无效并清除了缓存。还清理了项目并对其进行了重建。

供参考的代码:

AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="nl.myapp.test">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

MainActivity.Java

package nl.myapp.test;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

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

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="nl.myapp.test.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</RelativeLayout>

Gradle 2.0.0构建文件build.gradle(Module App)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "nl.myapp.test"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
}

应用在API 16上启动时的logcat错误

04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.app.ActivityManager$TaskDescription', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.transition.TransitionManager', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.app.assist.AssistContent', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.view.SearchEvent', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.os.UserHandle', referenced from method nl.myapp.test.MainActivity.access$super
04-10 18:29:29.945 23899-23899/nl.myapp.test E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method nl.myapp.test.MainActivity.access$super

问题答案:

在Android Studio中,我去了 File- > Project Structure-> Project

首先,我将Gradle升级到 2.11 ,将Android插件版本升级到 2.0.0
。接下来,我同步了项目并对其进行了编译。错误仍然存​​在。

之后,我将Android插件版本降级为 1.5.0

现在,当我编译并运行项目时,错误消失了。



 类似资料:
  • 问题内容: 我已经将项目导入到eclipse中,当我尝试运行它时,会引发此异常: 我试过清理项目,然后检查所有类名和清单是否都正确,但仍然找不到发生这种情况的原因。你能帮我一下吗? Dashbard类: 和清单文件: 问题答案: 我想您正在使用Eclipse。一切正常,但是Eclipse在APK中没有包含支持包…如果您在stacktrace中查看错误,就会注意到问题的根源:“ ”。或者,您可以解压

  • 每次创建新的android项目时,我都指定要创建空白活动。我进入我命名的页面。但是,单击finish之后,将找不到空白活动。我知道我可以手动创建空白活动文件。但是我想知道为什么eclipse不创建空白活动,即使我创建一个新的android项目时它会经历创建过程。它甚至没有显示在清单文件中。

  • 我刚刚升级到Android Studio0.2.8,当我尝试编辑运行配置时,出现了一个错误,上面写着“找不到默认活动”。 请让我知道我能做些什么来解决这个问题。

  • 但仍然不起作用。下面是我的Android Manifest.xml文件。我想用名为“.main2activity”的活动启动我的应用程序。还要注意,出于某种原因,我的.xml文件在设计模式下显示为黑色背景,而且奇怪地不同。

  • 我最近把我的Android SDK从22.3升级到了22.6。更新之后,我尝试使用向导创建一个空白活动。我无法像以前那样创建一个。此外,我无法创建登录活动,或设置活动等。 我以某种方式设法通过向导创建了活动,我发现我的班级不是扩展简单的活动,而是扩展其他内容。 还有其他人遇到过这样的问题吗? 请帮帮我。

  • 我在android studio中创建了一个新的项目,当我试图运行它时,它显示缺省活动找不到。我检查了我的清单文件,这不包含任何问题。运行时有红色X标记android studio应用