前两天用Android Studio在测试机上编译运行一个project时,编译通过,运行时报错,报错提示主要信息为:

Activity class {.../MainActivity} does not exist.

顿时一脸懵逼,MainActivity明明存在啊,而且也在manifest中声明了,之后又检查了App module下build.gradle中的配置信息,

defaultConfig {        applicationId "com.chan.example"        minSdkVersion 15        targetSdkVersion 19        versionCode 146        versionName "2.0.0.1112.0"    }

applicationId的值与包名保持一致啊,顺便说一句,这里的值可以不写,默认为包名。
实在想不出来问题原因,后来无意中发现,之前在测试机上安装过一个与当前app包名相同的老版本应用,于是果断卸载之,clean project,果然可以正常启动了。

小结一下,通常导致Activity class {package/class} does not exist这类问题的主要原因在于:

1.build.gradle下defaultConfig中applicationId的值与包名不一致;

该情况下,可以省去不写,或保持与包名一致。

2.运行过两个包名一样的应用,导致无法识别入口activity;

卸载 当前包名的应用,或通过adb shell rm /data/app/*.apk  卸载所有apk(Android安装包)。
 

更多相关文章

  1. Android(安卓)Studio安装教程及第一个HelloWorld程序
  2. NDK下 将Platinum SDK 编译成so库 (android - upnp)
  3. ubuntu10.04 android编译问题
  4. 实战技巧:用Enum(枚举类型)取代整数集
  5. android Eclipse导入com.android.internal.R和layoutlib.jar报错
  6. android led_misc驱动 + 测试应用程序(ndk-build)
  7. AndroidStudio中gradle,buildToolsVersion,complieSdkVersion的关
  8. Content Provider使用方法以及Android运行时权限申请
  9. 研究 android apk安装卸载等 产生的 系统广播

随机推荐

  1. 从ajax查询返回的数组看起来还可以,但是它
  2. jQuery datepicker在IE8中遇到麻烦?
  3. 基于JQuery+JSP的无数据库无刷新多人在线
  4. Access-Control-Allow-Origin不允许使用O
  5. 自定义滚动条插件
  6. 如何为每个JQuery UI滑块句柄使用不同的
  7. 无法通过jquery Ajax在laravel 5中发布
  8. jQuery遍历Table tr td td中包含标签
  9. 使用jquery的$ .ajax来获取node.js脚本的
  10. jQuery捕获被点击元素的ID