Activity类不存在android

时间:2014-08-06 13:07:29

标签: java android android-studio android-launcher

我正在尝试调试我的应用程序,点击按钮后我得到Activity Class {}不存在错误,如下所示:“错误:活动类{sprint.telematics.sprinttelematicstracking / track.my.world.LoginActivity }不存在。“

问题不在于“track.my.world”软件包名称,因为它确实存在但在正斜杠之前的部分:“sprint.telematics.sprinttelematicstracking”,因为应用程序中不再有任何名称。 / p>

我已将项目从Eclipse转移到Android Studio,并将包名称从“sprint.telematics.sprinttelematicstracking”更改为“track.my.world”,这是错误开始发生的时候。我的android清单文件包含正确的包,如图所示。

AndroidManifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="track.my.world"
android:versionCode="1"
android:versionName="1.0" >

<application
    android:allowBackup="true"
    android:icon="@drawable/trackmyworldicon"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <activity 
        android:name="track.my.world.LoginActivity"
        android:label="@string/app_name">

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

我怎么能够改变android studio想要启动应用程序的位置,因为我认为它正在寻找LoginActivity的错误区域

由于

我的build.gradle文件:

buildscript {
    repositories {
        maven { url 'http://download.crashlytics.com/maven' }
    }

    dependencies {
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}
apply plugin: 'android'
apply plugin: 'crashlytics'

repositories {
    maven { url 'http://download.crashlytics.com/maven' }
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':google-play-services_lib')
    compile project(':google-play-services_lib')
    compile 'com.crashlytics.android:crashlytics:1.+'
}

android {
    compileSdkVersion 18
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "track.my.world"
        minSdkVersion 10
        targetSdkVersion 18
        versionCode 1
        versionName "1.0"
    }

    sourceSets {
        main {
             manifest.srcFile 'AndroidManifest.xml'
             java.srcDirs = ['srcc']
             resources.srcDirs = ['srcc']
             aidl.srcDirs = ['srcc']
             renderscript.srcDirs = ['srcc']
             res.srcDirs = ['res']
             assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')

        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

2 个答案:

答案 0 :(得分:2)

您是否将项目迁移到了gradle?

在这种情况下,请查看packageName的build.gradle文件。在构建应用程序期间,Gradle将覆盖androidManifest.xml中的包名称。

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        packageName "com.your.app"
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
}

答案 1 :(得分:0)

查看Eclipse项目的一些构建文件。它似乎已经变得困惑,你可以做一个&#34;发现&#34;在主构建文件中的函数,您可能会找到&#34; sprint.telematics.sprinttelematicstracking&#34;然后摆脱它或相应地改变线。