运行.apk时,Android Studio会错误地输入包名称

时间:2014-03-03 19:48:41

标签: android-studio android-manifest

我将包名从com.mycompany.myapplication更改为com.mycompany.testapp。

一切都很好但是当我尝试在模拟器上运行它时,我得到:

  

会话重新开始   目标设备:NexusS [emulator-5554]   正在上传文件       本地路径:/home/antony/AndroidStudioProjects/testappProject/testapp/build/apk/testapp-debug-unaligned.apk       远程路径:/data/local/tmp/com.mycompany.myapplication   安装com.mycompany.myapplication   DEVICE SHELL命令:pm install -r“/data/local/tmp/com.mycompany.myapplication”   pkg:/data/local/tmp/com.mycompany.myapplication   成功

     

启动应用程序:com.mycompany.myapplication / com.mycompany.testapp.MainActivity。   DEVICE SHELL COMMAND:我开始-D -n“com.mycompany.myapplication / com.mycompany.testapp.MainActivity”-a android.intent.action.MAIN -c android.intent.category.LAUNCHER   开始:Intent {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] cmp = com.mycompany.myapplication / com.mycompany.testapp.MainActivity}   错误类型3   错误:活动类{com.mycompany.myapplication / com.mycompany.testapp.MainActivity}不存在。

注意远程路径^^^是错误的。

如果我去模拟器,我可以从菜单启动应用程序,只是当我尝试从Android Studio运行应用程序时出现此错误。

我也在logcat中看到,在右上角,下拉列表为我提供了“No Filters”或“app:com.mycompany.myapplication”。所以我甚至无法正常调试。

这些对com.mycompany.myapplication的引用来自何处,以及如何解决此问题?

14 个答案:

答案 0 :(得分:76)

我尝试重启Android Studio,但问题仍然存在。

然后解决方案与我合作。

  1. 删除目录~/.gradle/caches/。在Android Studio打开时可以执行此操作。 (参考pm installing wrong package name
  2. 按"使用Gradle文件同步项目" Android Studio上的图标
  3. 运行项目,远程路径将正确。

答案 1 :(得分:59)

以下是我如何解决它。非常简单。

点击窗口顶部的'带有Gradle文件的同步项目'按钮。

'Sync Project with Gradle Files' button screenshot

如果您使用较新版本的Android Studio ,请查找此按钮:

'Sync Project with Gradle Files' button in newer AS screenshiot

'Sync Project with Gradle Files' button in latest AS screenshiot

答案 2 :(得分:23)

我做了所有提到但没有效果的东西。然后我在 build.gradle 文件中找到了一些内容,并根据我的新包更改了它。它对我有用。

    defaultConfig {
    applicationId "com.*****.newPackageId"
    minSdkVersion 11
    targetSdkVersion 20
}

答案 3 :(得分:11)

我会回答,以防其他人因此而陷入困境。奇怪的是,重启Android Studio解决了这个问题。没有什么比这更复杂,更不明显了。

答案 4 :(得分:3)

清除缓存并重新启动为我工作。

转到Android Studio的“文件”菜单,然后选择“无效缓存/重新启动...”选项

答案 5 :(得分:2)

在新版AndroidStudio中,例如0.9.1,此解决方案适用于我:

1)删除〜/ .greadle / 2.1 / taskArtifacts
2)清洁项目
3)运行项目

答案 6 :(得分:1)

我最终做了什么,就是更改应用程序ID'在build.gradle中,构建和启动。然后从手机中删除应用程序并恢复应用程序ID

答案 7 :(得分:0)

我的问题是我的一些.xml文件(特别是AndroidManifest.xml)的标题已经改变了。

有问题的标题:

<?xml code="1.0" encoding="utf-8"?>

将其更改为:

<?xml version="1.0" encoding="utf-8"?>

请注意有问题的标题如何显示code="1.0"而不是version="1.0"

答案 8 :(得分:0)

如果您的应用获得的名称与您的MainActivity相同,并且您已尝试过前夕,请尝试删除

  

机器人:标签= “MyMainActivity”

来自Mainactivity的

标签,然后运行您的应用。这对我有用:)

答案 9 :(得分:0)

尝试删除taskArtifacts文件夹,使其无效,......没有任何效果。

最终为我工作的是强迫Gradle Sync为我解决了。 (刚刚在build.gradle中添加了一个空的新行,使它要求我同步,并在同步之后使用它。)

答案 10 :(得分:0)

我遇到了完全相同的问题。

  • 首先检查清单。
  • 然后检查您的gradle文件
  • 最后,可能值得检查'test'和'androidTest'java文件。

如果您不知道如何处理这些文件,请查看上面更完整的答案。

答案 11 :(得分:0)

  1. 构建APK。
  2. 将其传输到设备。
  3. 安装。
  4. 现在您可以使用ADB安装相同的应用程序。

答案 12 :(得分:0)

我遇到了同样的问题。上面的解决方案没有一个对我有帮助,所以我发布了另一个对我有帮助的解决方案。

当我在智能手机上“手动”删除应用程序时出现了问题。

我去了设置->应用程序。我的应用中有“此用户未安装”(或类似内容) 解决方案是删除应用设置中的所有用户。 (当我使用主菜单删除该应用程序时未完成此操作)

答案 13 :(得分:0)

以上所有解决方案都不适用于我,但这确实有效:

将软件包名称重构为:

com.name.examplename

更改为:

com.name.examplename2

使用软件包的新名称更改您的应用程序ID:

applicationId "com.name.examplename2"

最后,转到:

文件>使缓存无效/重新启动

等待android studio重新启动,再次运行您的应用程序,然后开心起来!