1、今天运行一个android项目时候,一直报错说:Default Activity not found
:
同时,Android Studio上也显示红色叉叉,没法正常编译
反复检查AndroidManifest.xml,里面确实已经声明了默认启动的Activity:
2、初步猜想:会不会是AS缓存导致的,尝试clean
项目,然后同步
一下,重新build
一下,结果还是提示上述的错误
3、进一步猜想:会不会AS抽风了,之前偶尔会遇到这种情况,尝试点击刷新缓存重启
一下AS, 然而还是报同样的错误
4、经过上面的尝试,可以判断出Default Activity not found
这个错误可能不是问题的根源,应该是其他问题导致这个问题的出现,尝试先assemble
一下依赖项目试试
运行之后发现以下报错,提示找不到v4相关的类:
但是,反复确认了多次,这个v4支持库的jar的确是声明编译进去了的,而且也并不存在版本冲突的情况,那么是什么问题导致v4明明声明了一起编译,最终编译却没有起作用的呢?在对整个项目进行检查时候,发现是在gradle.properties
声明了这两项导致编译项目时候排除了v4支持库的编译
android.useAndroidX=true
android.enableJetifier=true
其中:
android.useAndroidX=true
:指定Android 插件会使用对应的 AndroidX 库而非支持库。
android.enableJetifier=true
:Android 插件会通过重写现有第三方库的二进制文件,自动将这些库迁移为使用 AndroidX。
5、尝试把gradle.properties
中的这两句声明注释掉,assemble
一下依赖项目试试,结果提示编译成功,那么编译依赖项目是没问题了,再试试编译主项目,终于成功编译出apk