Android问题集锦之四十六:改包名后出现Error type 3
16lz
2021-01-25
背景:
为了和使用Eclipse的同学并行工作了,我将原Eclipse的项目中加入build.gradle,内容如下:
android { compileSdkVersion 19 buildToolsVersion "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 true signingConfig signingConfigs.debug } release { debuggable false signingConfig signingConfigs.debug minifyEnabled true proguardFiles '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 3Error: 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
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- Android(安卓)File类 根据官方文档理解
- 【Android】PA4D_CH7 文件、保存状态和首选项
- Android实现Tab切换效果总结