我有一个IntelliJ Android项目,我成功地导入到Android Studio 0.4.0。如果我不改变manifest中的任何东西,它就能很好地工作。然而,当我想要改变启动器活动并运行时,它会失败,并出现以下错误:

Launching application: com.trackingeng/LandingActivity.
DEVICE SHELL COMMAND: am start -D -n "com.trackingeng/LandingActivity"  
    -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN  
    cat=[android.intent.category.LAUNCHER] cmp=com.trackingeng/LandingActivity }
Error type 3
Error: Activity class {com.trackingeng/LandingActivity} does not exist.

当我点击同步项目与Gradle文件,它输出:

Project Sync
The project 'TrackingEng' is not a Gradle-based project

运行设置:


当前回答

就我而言,还有另一个原因:

我有两个用户:我和Guest。 这两款手机都安装了app,但一开始就删除了。

当我切换到Guest屏幕并从那里删除应用程序时,应用程序安装成功。

希望这能帮助到一些人:)

其他回答

我使用的是Android Studio 3.2 Beta 5,也遇到了同样的问题

File -> Invalidate Caches / Restart...

为我解决了问题

我错误地在androidmenifes .xml中添加了额外的空<application>标签,这导致了这个问题。

在我的例子中,我定义了defaultConfig两次。

我不知道为什么,但要仔细检查以防出错。

我在重命名/重构后也出现了同样的错误。我所做的就是将applicationId属性添加到我的构建中。Gradle文件,并将其值设置为应用程序包。

在build.gradle:

android {
defaultConfig {
    applicationId "com.example.myapp"  
  }
}

我参考了@jayeffkay的评论:

我必须删除gradle缓存,正如这里所描述的,Android Studio在运行.apk时得到错误的包名

它为我工作后,我删除gradle缓存文件位于:

/your_proj_directory/.gradle/2.10

2.10是我使用的gradle版本。