背景:
为了和使用Eclipse的同学并行工作了,我将原Eclipse的项目中加入build.gradle,内容如下:

android {compileSdkVersion 19buildToolsVersion "19.1.0"sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']resources.srcDirs = ['src']aidl.srcDirs = ['src']renderscript.srcDirs = ['src']res.srcDirs = ['res']assets.srcDirs = ['assets']jniLibs.srcDirs = ['libs']}// Move the tests to tests/java, tests/res, etc...instrumentTest.setRoot('tests')debug.setRoot('build-types/debug')release.setRoot('build-types/release')}packagingOptions {exclude 'META-INF/LICENSE.txt'exclude 'META-INF/NOTICE.txt'}lintOptions {abortOnError false}buildTypes {debug {debuggable truesigningConfig signingConfigs.debug}release {debuggable falsesigningConfig signingConfigs.debugminifyEnabled trueproguardFiles 'proguard-project.txt'}}
}

一直很好的工作着,直到今天我心血来潮将项目的包名在manifest中修改了,也在各个文件中修改了此包名。编译通过,但是运行时报错:

Launching application: com.foo.app/com.foo.app.main.
DEVICE SHELL COMMAND: am start -n "com.foo.app/com.foo.app.main"
Starting: Intent { cmp=com.foo.app/.main}
Error type 3
Error: Activity class {com.foo.app/com.foo.app.main} does not exist.

这真是见鬼了,我clean build,并将代码目录下的bin也都删掉了。重启Android Studio,还是有问题。我也将app从手机中卸载再调试,等等等等。尝试了很多办法。stackoverflow那篇帖子上的方法也尝试了许多。

当然,我知道新建一个项目并将此项目中的文件拷过去,一定能够运行。但我不想这么做。

最后,还是参考网友,将build.gradle中android下加入applicationId为新包名,解决了这个问题。

  defaultConfig {applicationId "com.yourpackage.yourapplication"}

参考:
http://stackoverflow.com/questions/7071271/activity-class-does-not-exist

Android问题集锦之四十六:改包名后出现Error type 3相关推荐

  1. Android问题集锦之四十四:Android Studio 1.3 代理问题

    关于AS的代理设置,我在之前的版本中设好了. File->Settings->System Settings->HTTP Proxy 要说明的是,我设代理并不是为了翻墙,而是公司上外 ...

  2. SAP UI5 应用开发教程之四十六 - 使用 Message Manager 实现开箱即用的验证(Validation)信息抛出

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  3. android工程改包名及多工程设置

    android工程更改包名: 1. 先改manifest中的包名 2. src目录上点右键,选择refactor->rename,改包名,然后选择continue. 3. 改了包名之后,要注意包 ...

  4. android改包名

    改包名方法: 打开android studio app-java-com.XXXX.XXX  右键 refactor-rename-显示最后一个单词,改掉这个词,refactor 底栏出现 提示一系列 ...

  5. C语言/C++常见习题问答集锦(七十六)之玫瑰花寄语

    C语言/C++常见习题问答集锦(七十六)之玫瑰花寄语 程序之美 在古希腊神话中,玫瑰花集爱与美于一身,既是美神的化身,又溶进了爱神的血液.可以说,在世界范围内,玫瑰是用来表达爱情的通用语言,形成了永不 ...

  6. Android通过gradle实现debug和release包名不同

    在Android项目中,默认debug版与release版的包名相同,从而导致debug版与release版两者不能共存,为了方便开发时的调试,通过gradle我们可以实现让两者在一台手机上共存 配置 ...

  7. APP修改包名后依然覆盖 注意事项

    在Android开发过程中,有些时候需要使用一个APP的模板创建不同的APP. 如果是这种情况,为了防止不同APP使用相同的包名而出现APP覆盖现象,所有我们需要根据不同的APP设置不同的包名,修改包 ...

  8. Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)

    转自:http://blog.csdn.net/junzia/article/details/58272305 在Android OpenGLES2.0(十四)--Obj格式3D模型加载中实现了Obj ...

  9. Android开发之安全彻底的修改包名

    昨天,因为项目需要对包名进行修改,经过一番折腾,项目正常使用,为此,对修改包名涉及的东西进行总结. 1.修改,AndroidManifest.xml文件 搜索并找到"package" ...

最新文章

  1. Tips_方格拼图效果
  2. Windows PE入门基础知识:Windows PE的作用、命名规则、启动方式、启动原理
  3. SCSM 2012Orchestrator 2012 虚拟机自动交付测试
  4. MongoDB空间分配
  5. jdk下载:各历史版本下载地址
  6. php使用redis持久化,redis如何持久化
  7. p1292监狱(动态规划)
  8. SignalR循序渐进(三)简易的集群通讯组件
  9. soapUI接口测试工具所有版本下载地址
  10. 云盘万能钥匙插件(无需输入网盘提取密码)
  11. 转:红帽旗下Linux的版本说明RedHat、CentOS、Fedora、OEL等
  12. 强世功:中美“关键十年” ——“新罗马帝国”与“新的伟大斗争”
  13. ECharts基础学习 (第二天)
  14. 哈利波特分院考试(HP)
  15. 第三方支付机构和非银行支付机构的区别?第三方支付客户备付金介绍
  16. 第一课 语言的发展史
  17. 【python】 输出换行字符 “\n“
  18. VR头盔(眼镜)光学原理解析
  19. typescript 中 any 和 unknow 区别
  20. 实验三 密码破解技术

热门文章

  1. 初识Blender并制作小模型
  2. python 小说下载_Python下载网络小说实例代码
  3. 如何制作微信gif表情包?一个方法教你在线制作gif表情
  4. 年度技术回顾之数据库、NoSQL、开源软件
  5. WARING:Ignoring invalid distribution -ip 解决方法
  6. mysql .net 乱码_.net mysql中文乱码解决办法
  7. html 多余的文字显示为省略号
  8. 聚财云库团队给大家分享这些年经历的网赚时代
  9. TCP-Reno拥塞算法
  10. jquery实现弹出窗口