Jac*_*cob 325 android android-manifest android-studio
我有一个INTELIJ(v12)android项目成功导入到AndroidStudio(v0.4.0).如果我不改变清单中的任何内容,它的工作完美.当我想更改启动器活动并运行时,它会输出以下错误:
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.
Run Code Online (Sandbox Code Playgroud)
当我单击与Gradle文件同步项目时,它输出:
Project Sync
The project 'TrackingEng' is not a Gradle-based project
Run Code Online (Sandbox Code Playgroud)
有人遇到过这个问题吗?有任何想法吗?
运行设置:

S1L*_*IOR 517
重构后我遇到了类似的问题.
这就是我为解决这个问题所做的工作:
Build目录一切正常!
我认为关键是重启IDE.
希望这可以帮助你或其他任何人!
编辑:
如果上述步骤对您不起作用,那么删除gradle缓存似乎是一个解决方案,正如@Yasitha所指出的那样.
编辑2
正如下面评论中的几位用户所建议的那样,有时可以通过从设备中完全删除并重新安装应用程序来解决问题.
只需输入adb uninstall <package>终端即可从设备中完全删除应用.
适用于Android Studio 2.1及更新版本
运行Android Studio 2.1及更高版本时,如果在首选项中启用了即时运行选项(默认情况下已启用),则也会遇到此问题.
要禁用此选项,请转到顶部菜单Mobile Settings > Apps > [Your App] > More > Uninstall App for All Users中的Preferences选项并查找,Android Studio以便取消选中该屏幕上的第一个复选框.
无论如何,它为我修好了.最初由用户@yusufonder指出.我发现这是问题,因为gradle安装仍然有效.
Nic*_*cks 274
可能对某人有帮助: -
有时在设备上进行测试时,应用程序无法正常卸载.要验证并修复此问题:
Yas*_*jdi 75
我有同样的问题,这就是我解决它的方法。
转到Gradle > 任务 > 安装 > UninstallAll
小智 69
执行以下操作时会发生这种情况
AS认为您的设备中仍然有应用程序.
tl; dr - 要解决此问题,您可以在卸载应用程序并重新连接后断开设备.
Sak*_*boy 57
通过设备卸载应用程序时我会遇到此问题(即将应用程序拖到"卸载"选项).但这是正确的卸载方式:
使用该./gradlew uninstallAll命令.这样可以防止Error: Activity class {HomeActivity} does not exist.错误.
更新:
如果你很懒,你可以使用这个任务的缩写: ./gradlew uA.
或者为您的常见gradle任务定义别名.bash_profile,这样做可以节省时间,打字,而且您不必记住每个命令,也不必担心打字错误.我建议这样做.
Blu*_*ift 26
重命名/重构后我遇到了同样的错误.我所做的是将applicationIdproperty属性添加到我的build.gradle文件中,并将其值设置为应用程序包.
在build.gradle中:
android {
defaultConfig {
applicationId "com.example.myapp"
}
}
Run Code Online (Sandbox Code Playgroud)
Dip*_*rma 24
该应用程序已为另一个用户安装。请尝试为所有用户卸载同一应用。然后尝试。
或者您可以在运行adb命令后尝试。
adb uninstall PACKAGE_NAME
Run Code Online (Sandbox Code Playgroud)
其中PACKAGE_NAME是全名,例如com.example.myapp
Ber*_*ove 20
在我的情况下,我在问题开始后从手机上卸载了应用程序,但是,以下命令对我有用。
在终端/cmd中执行以下命令
adb uninstall <package_name>
Run Code Online (Sandbox Code Playgroud)
package_name 类似于 com.example.applicationname 然后,尝试重新安装应用程序。它应该工作。
Jos*_*osh 16
AndroidManifest.xml文件中活动的名称.现在它说:
<activity android:name="LandingActivity" >
Run Code Online (Sandbox Code Playgroud)
尝试在活动名称的开头添加句点:
<activity android:name=".LandingActivity" >
Run Code Online (Sandbox Code Playgroud)
或者将包名添加到活动名称的开头:
<activity android:name="com.trackingeng.LandingActivity" >
Run Code Online (Sandbox Code Playgroud)
您的包名称只有两个以句点分隔的组件(您的包名称为"com.trackingeng";更标准的包名称为"com.trackingeng.app")也可能是一个问题.
pha*_*ann 14
这发生在我使用 react-native run-android 上,因为我的包名称与我的应用 ID 不匹配。只需添加--appId YOUR_APP_ID.
Lon*_*Dao 13
我认为问题发生的另一个原因是它没有完全删除设备上的所有用户.
转到设置 - >应用程序 - >您的应用程序 - >单击右上角的3个点 - >为所有用户卸载
这个对我有用.尤其是您更改应用程序的图标或使用AndroidManifest.xml文件进行操作时,尤其会发生这种情况.
Eri*_*ric 12
对我来说,问题是AndroidStudio 认为该应用仍在设备上.
要解决这个问题:
重启adb守护进程 ; 在终端或命令提示符下,输入:
adb kill-server
adb start-server
Run Code Online (Sandbox Code Playgroud)尝试启动您的应用.
如果仍然无效,请查看此答案.
确保platform-tools了的Android SDK中被添加到您的系统路径变量!
小智 10
从终端尝试这个
gradlew uninstallAll
Run Code Online (Sandbox Code Playgroud)
这将卸载应用程序所有版本的所有调试、发布、apk。并重新安装应用程序
下面的命令为我工作。有时,部分卸载应用程序也会导致此问题。
在terminal / cmd中执行以下命令
adb uninstall <package_name>
Run Code Online (Sandbox Code Playgroud)
然后,尝试重新安装该应用程序。它应该工作。
当我遇到这个问题时,我总是尝试这个解决方案并且它有效。
Instant Run disable
Build -> Clean Project
File -> Invalidate Caches / Restart
Run Code Online (Sandbox Code Playgroud)
但是这一次我发现了一个例外。这个解决方案对我不起作用。然后我发现问题是模拟器现金。我只是这样做Wipe data,Cold boot now问题就解决了。
对我来说这是一个非常具体的问题,我有一个Lg g5来测试我的应用程序,并重置我的应用程序数据我在手机上卸载它,但手机有一个"很好"的功能,不要卸载应用程序即时,所以你可以在一天内重新安装它们.因此,应用程序已安装但无法使用(禁用)后从手机中删除应用程序完全正常工作.
在我的情况下,这是因为我试图启动的应用程序是为设备上的其他用户安装的.转到设置 - >应用(所有应用),然后选择应用.单击溢出菜单,然后选择"为所有用户卸载".这应该可以解决问题.
以防万一有人遇到我的问题并且在其他解决方案上没有运气......我试图在调试亚马逊启动器集成时通过 adb for FireTV 启动一个活动。但是,我的项目有 60 个不同的构建变体(多平台、多应用程序项目)并且 ApplicationId 不匹配任何类路径,因为运行时包(和类路径)与 applicationId 不同。
我试着跑
adb shell am start -n com.myappid.example.packageone.packagetwo/com.myappid.example.packageone.packagetwo.MySplashActivity
(Of course I had tried many combinations with com.runtimepath.example since I had the added challenge of a different applicationId in my build.gradle and another at runtime)
What finally helped was this post /sf/answers/2537900921/
Which revealed a different format!
com.myappid.example/com.runtimepath.example.packageone.packagetwo.MySplashActivity
So if you have a different runtime classpath try specifying with the build.gradle applicationId before the slash and the runtime classpath afterwards.
You can also get these values from BuildConfig.APPLICATION_ID and this.getLocalClassName() respectively if you want to log them in logcat.
就我而言,还有下一个原因:
我有 2 个用户:我和来宾。并且应用程序已安装在它们上,但最初仅被删除。
当我切换到访客屏幕并从那里删除应用程序时,应用程序安装正常。
希望这会帮助某人:)
小智 6
我使用Android Studio 3.2 Beta 5时遇到同样的问题
去
File -> Invalidate Caches / Restart...
Run Code Online (Sandbox Code Playgroud)
为我解决了问题
我有一个三星 Galaxy。在上面的设置中搜索不起作用,因为它根本没有出现在我的应用程序设置中。
我通过在搜索字段中输入应用程序的名称在手机上找到了该应用程序。我意识到它在“工作”(使用 Mobile@Work)配置文件中并将其删除。您可以通过转到设置-> 工作配置文件-> 应用程序来找到配置文件的设置
我希望这可以帮助那些可能无法像许多其他答案所说的那样在设置中找到它的人。
即使我遇到了同样的问题,但上述解决方案都不适合我。问题是,由于出现上述错误,我冻结了我试图通过 Titanium Backup 运行的特定应用程序。我在 Eclipse 和 Android Studio 中都尝试过。
意识到后,我只是卸载了应用程序,然后再次运行它。
问题解决了 :-)
我想分享对我有帮助的技巧。我从设备上卸载了应用程序,没有任何清理/重建/Android Studio 重启操作没有帮助。
由于 Android Studio 认为应用程序仍然安装在设备上并且没有部署它,因此您可以使用 ADB 强制安装:
adb install -r <your_application_from.apk>
Run Code Online (Sandbox Code Playgroud)
其中-r意味着重新安装应用程序,保留其数据。
就我而言,我实际上更改了包名称,它开始导致此问题。
我尝试过很多技巧,但在这里我描述的是真正对我有用的技巧。
确保您的活动名称正确,并确保清单文件中的包名称正确。
在 android studio 3.5.1 中遇到这个问题花了我一天时间解决这个问题,尝试了包括清理缓存、重启和重命名包名在内的一切。因此,如果以上任何一项不起作用,请尝试此操作。
只需转到 gradle > 任务 > 安装 > UninstallAll
这是链接: 错误类型 3:活动类 {...} 不存在
| 归档时间: |
|
| 查看次数: |
227905 次 |
| 最近记录: |