遇到问题----Android----ActivityManager: Error: Activity class {xx/xx.MainActivity} does not exist
2016-04-04 12:01
681 查看
今天拿到一个android项目后打算分析一下,结果加载到myeclipse后调试运行run as Android Application在模拟器时报错:
ActivityManager: Error: Activity class {com.android.system.emial/com.android.system.emial.MainActivity} does not exist.
经过一番调试之后解决了该问题,收集了可能有以下几种情况,希望大家也能顺利解决:
解决方法:
检查AndroidMainfest.xml的配置是否正确。在myeclipse中比较好确认,按住ctrl把鼠标移到android:name=""中的类名,点击后如果能跳转到MainActivity说明没问题。
如果不能对应到则要相应修改包名路径名,这一点也就是很多资料上说的 在AndroidManifest.xml文件中查看主Activity的名字前是否有'.'符号,其实也就是看Activity的类对应到了没,对应到了则没问题。如果还是报错,继续往下看。
解决办法: 清除myeclipse的项目缓存,project -> clean 该项目后再启动。
解决办法: 如果是工作空间其他android项目中有同一包名的类,可以尝试修改包名。 如果确认其他android项目没有同一包名的类,那就是项目自身跟自身的冲突。表现为 第一次启动时成功,第二次启动时才报错does not exist. 同时会有New package not yet registered with the system的提示。解决方法是把模拟器中的旧的同一项目的apk删除后重试。如果还是不行则可以把旧的模拟器删除重新建一个即可。
我的就是重建模拟器之后解决了问题。如果一些特殊的apk不能完全清除,只能每次都新建一个模拟器测试。
Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
解决方法:
1. 项目 右键 ->android tools ->Fix Project
2. 如果不可以,检查Project -> Properties->Java Compiler
确认JDK compliance被设置为1.6,并且enable specific seetings
ActivityManager: Error: Activity class {com.android.system.emial/com.android.system.emial.MainActivity} does not exist.
经过一番调试之后解决了该问题,收集了可能有以下几种情况,希望大家也能顺利解决:
AndroidMainfest.xml配置问题
原因:AndroidMainfest.xml的配置不对导致找不到MainActivity这个类解决方法:
检查AndroidMainfest.xml的配置是否正确。在myeclipse中比较好确认,按住ctrl把鼠标移到android:name=""中的类名,点击后如果能跳转到MainActivity说明没问题。
如果不能对应到则要相应修改包名路径名,这一点也就是很多资料上说的 在AndroidManifest.xml文件中查看主Activity的名字前是否有'.'符号,其实也就是看Activity的类对应到了没,对应到了则没问题。如果还是报错,继续往下看。
myeclipse的程序缓存导致
原因:myeclipse的程序缓存导致,未找到MainActivity这个类,尤其会出现在修改过包名或者类名之后。因为有缓存所以对应就没找到这个类。解决办法: 清除myeclipse的项目缓存,project -> clean 该项目后再启动。
命名空间冲突
原因:工作空间中已经有了同一包名的类,或者模拟器中已经有了同一名称的apk。解决办法: 如果是工作空间其他android项目中有同一包名的类,可以尝试修改包名。 如果确认其他android项目没有同一包名的类,那就是项目自身跟自身的冲突。表现为 第一次启动时成功,第二次启动时才报错does not exist. 同时会有New package not yet registered with the system的提示。解决方法是把模拟器中的旧的同一项目的apk删除后重试。如果还是不行则可以把旧的模拟器删除重新建一个即可。
我的就是重建模拟器之后解决了问题。如果一些特殊的apk不能完全清除,只能每次都新建一个模拟器测试。
工程版本不匹配
原因:Android项目的编译版本与myeclipse的jdk不匹配,除了提示does not exist同时会提示Please use Android Tools > Fix Project PropertiesAndroid requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
解决方法:
1. 项目 右键 ->android tools ->Fix Project
2. 如果不可以,检查Project -> Properties->Java Compiler
确认JDK compliance被设置为1.6,并且enable specific seetings
相关文章推荐
- 遇到问题----Android----ActivityManager: Error: Activity class {xx/xx.MainActivity} does not exist
- 在一个应用中打开另一个应用
- Android开发实用技巧之四:自定义ActivityCollector来管理活动
- Android WebView的Js对象注入漏洞解决方案
- Android中的万能适配器——base-adapter-helper解析
- Android:自定义标题栏
- High Performance之android高性能之路
- Android 属性动画(Property Animation) 完全解析 (下)
- [android] notification入门
- #号称5秒1000个包的超快速多渠道打包方式
- android实战开发02
- #号称5秒1000个包的超快速多渠道打包方式
- 聊聊Android应用实现跨进程调用
- Android开发规范——命名
- Volley详解
- Android 属性动画(Property Animation) 完全解析 (上)
- 让自己的软件出现在选择打开列表的软件中
- Android 开发艺术与探究 第一章 Activity 的生命周期和启动模式
- 电脑 (PC) Android 模拟器 - Genymotion 上安装 apk
- android 用gson解析遍历json数据