我有一个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

运行设置:


当前回答

从终端试试

gradlew uninstallAll

这将卸载所有的调试,发布,apks的所有版本的应用程序。并重新安装应用程序

其他回答

我的包名为“barisciftci.PatternApplier”。所以把它改为小写解决了我的问题,所以现在它看起来像“barisciftci.patternapplier”。

当应用程序没有正确卸载时,就会发生这种情况。

使用下面的Android Studio插件从设备上卸载应用[以防你在设备设置中无法找到你的应用]

ADBIdea: https://github.com/pbreault/adb-idea

ADBIdea为Android Studio和Intellij添加了以下ADB命令:

ADB卸载App ADB Kill App ADB Start App ADB重启App ADB Clear App Data ADB清除应用数据并重新启动 ADB撤销权限 ADB启动应用程序与调试器 ADB使用调试器重新启动应用程序

调用命令有两种基本方式:

通过工具->Android->ADB Idea菜单 在“查找动作”中搜索“ADB”

Mac OS X: Cmd + Shift + A Windows/Linux: Ctrl + Shift + A

我参考了@jayeffkay的评论:

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

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

/your_proj_directory/.gradle/2.10

2.10是我使用的gradle版本。

如果你从一个现有的项目中创建一个新项目:

build.gradle

defaultConfig {
        applicationId "xxxxxxxxx" //xxxxxxxxx should be "package name (com.demo.app) from AndroidMenifest.xml" 
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "3.0.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
}

然后在Android Studio中单击同步

问题是由于在设备仍然插入时卸载应用程序引起的。 设备会禁用应用,而不是删除应用。

进入你设备上的应用程序列表,从那里卸载应用程序。您将看到它当前被标记为禁用。这就是为什么你不能运行应用程序,因为Android Studio无法安装它,因为它认为它已经存在。