Android studio Android Studio在运行.apk时获得错误的包名
我将包名从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 设备外壳命令:pm install-r“/data/local/tmp/com.mycompany.myapplication” pkg:/data/local/tmp/com.mycompany.myapplication 成功 启动应用程序:com.mycompany.myapplication/com.mycompany.testapp.MainActivity。 设备SHELL命令:am start-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的右上角,下拉列表为我提供了“无过滤器”或“app:com.mycompany.myapplication”。所以我甚至不能正确地调试Android studio Android Studio在运行.apk时获得错误的包名,android-studio,android-manifest,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.my
这些对com.mycompany.myapplication的引用来自何处?我该如何解决这个问题?我会回答,以防其他人被这个问题困扰。奇怪的是,重启Android Studio解决了这个问题。没什么比这更复杂,也没什么不明显的。我试图重启Android Studio,但问题仍然存在 然后,解决方案对我有效
~/.gradle/caches/
。在Android Studio打开时执行此操作是可以的。
(请参阅)我最后做的是在build.gradle、build和launch中更改“application ID”。然后从手机中删除应用程序并将应用程序ID还原回新版本的AndroidStudio(如0.9.1),此解决方案适用于我:
1) 删除~/.greadle/2.1/taskArtifacts
2) 清洁项目
3) 运行项目清除缓存并重新启动对我来说很有效
defaultConfig {
applicationId "com.*****.newPackageId"
minSdkVersion 11
targetSdkVersion 20
}
转到Android Studio的“文件”菜单,然后选择“无效缓存/重新启动…”。。。选项以下是我解决问题的方法。很简单 单击窗口顶部的“将项目与渐变文件同步”按钮 如果您正在使用较新版本的Android Studio,请查找此按钮:
我做了所有提到的事情,但没有效果。然后我在build.gradle文件中找到了一些东西,并根据我的新包对其进行了更改。这对我有用
defaultConfig {
applicationId "com.*****.newPackageId"
minSdkVersion 11
targetSdkVersion 20
}
我的问题是,我的一些.xml文件(特别是AndroidManifest.xml)的头以某种方式发生了更改 标题有问题:
<?xml code="1.0" encoding="utf-8"?>
将此更改为:
<?xml version="1.0" encoding="utf-8"?>
请注意问题标题显示的是
code=“1.0”
而不是version=“1.0”
如果您的应用程序与您的MainActivity同名,并且您尝试了eve,请尝试删除
android:label=“MyMainActivity”
标记Mainactivity,然后运行应用程序。这对我有效:)尝试删除taskArtifacts文件夹,使其无效,。。。什么都没用
最终对我起作用的是强迫Gradle同步解决了我的问题。(刚刚在build.gradle中添加了一个空的新行,让它要求我同步,同步后它就工作了)。我遇到了完全相同的问题
- 首先检查舱单
- 然后检查你的gradle文件
- 最后,可能值得检查“test”和“androidTest”java文件
我也有同样的问题上述解决方案中没有一个对我有帮助,因此我发布了另一个解决方案,这对我有帮助 当我在智能手机上“手动”删除我的应用程序时,问题出现了 我去了设置->应用程序。我的应用程序中有“已安装但不适用于此用户”(或类似内容)
解决方案是删除应用程序设置中的所有用户。(当我使用主菜单删除应用程序时,没有这样做)上述解决方案中没有一个对我有效,但这确实有效: 重构包的名称,如下所示:
com.name.examplename
改为:
com.name.examplename2
使用包的新名称更改应用程序ID:
applicationId "com.name.examplename2"
最后,转到:
文件>使缓存无效/重新启动
等待android studio重新启动,再次运行您的应用程序并获得快乐 检查您的清单文件。您将包名从
com.mycompany.myapplication
更改为com.mycompany.testapp
——修复您的清单。感谢您的评论。为什么我被否决了?项目中的任何地方都没有对com.mycompany.myapplication的引用,包括在AndroidManifest.xml中。还有其他想法吗?请尝试查看您的跑步配置,看看您是否在那里指定了它。谢谢,我已经检查了跑步配置。我刚在更改应用程序包名称后遇到此问题。重新启动Android Studio(即使缓存失效)也不起作用。还有其他想法吗?重新启动没有帮助,但重新导入项目有帮助。重新启动android studio对我也没有帮助。但“与gradle文件同步项目”是吗