Android问题集锦之四十六:改包名后出现Error type 3
背景:
为了和使用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相关推荐
- Android问题集锦之四十四:Android Studio 1.3 代理问题
关于AS的代理设置,我在之前的版本中设好了. File->Settings->System Settings->HTTP Proxy 要说明的是,我设代理并不是为了翻墙,而是公司上外 ...
- SAP UI5 应用开发教程之四十六 - 使用 Message Manager 实现开箱即用的验证(Validation)信息抛出
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
- android工程改包名及多工程设置
android工程更改包名: 1. 先改manifest中的包名 2. src目录上点右键,选择refactor->rename,改包名,然后选择continue. 3. 改了包名之后,要注意包 ...
- android改包名
改包名方法: 打开android studio app-java-com.XXXX.XXX 右键 refactor-rename-显示最后一个单词,改掉这个词,refactor 底栏出现 提示一系列 ...
- C语言/C++常见习题问答集锦(七十六)之玫瑰花寄语
C语言/C++常见习题问答集锦(七十六)之玫瑰花寄语 程序之美 在古希腊神话中,玫瑰花集爱与美于一身,既是美神的化身,又溶进了爱神的血液.可以说,在世界范围内,玫瑰是用来表达爱情的通用语言,形成了永不 ...
- Android通过gradle实现debug和release包名不同
在Android项目中,默认debug版与release版的包名相同,从而导致debug版与release版两者不能共存,为了方便开发时的调试,通过gradle我们可以实现让两者在一台手机上共存 配置 ...
- APP修改包名后依然覆盖 注意事项
在Android开发过程中,有些时候需要使用一个APP的模板创建不同的APP. 如果是这种情况,为了防止不同APP使用相同的包名而出现APP覆盖现象,所有我们需要根据不同的APP设置不同的包名,修改包 ...
- Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)
转自:http://blog.csdn.net/junzia/article/details/58272305 在Android OpenGLES2.0(十四)--Obj格式3D模型加载中实现了Obj ...
- Android开发之安全彻底的修改包名
昨天,因为项目需要对包名进行修改,经过一番折腾,项目正常使用,为此,对修改包名涉及的东西进行总结. 1.修改,AndroidManifest.xml文件 搜索并找到"package" ...
最新文章
- Tips_方格拼图效果
- Windows PE入门基础知识:Windows PE的作用、命名规则、启动方式、启动原理
- SCSM 2012Orchestrator 2012 虚拟机自动交付测试
- MongoDB空间分配
- jdk下载:各历史版本下载地址
- php使用redis持久化,redis如何持久化
- p1292监狱(动态规划)
- SignalR循序渐进(三)简易的集群通讯组件
- soapUI接口测试工具所有版本下载地址
- 云盘万能钥匙插件(无需输入网盘提取密码)
- 转:红帽旗下Linux的版本说明RedHat、CentOS、Fedora、OEL等
- 强世功:中美“关键十年” ——“新罗马帝国”与“新的伟大斗争”
- ECharts基础学习 (第二天)
- 哈利波特分院考试(HP)
- 第三方支付机构和非银行支付机构的区别?第三方支付客户备付金介绍
- 第一课 语言的发展史
- 【python】 输出换行字符 “\n“
- VR头盔(眼镜)光学原理解析
- typescript 中 any 和 unknow 区别
- 实验三 密码破解技术