Android Studio 项目报红叉,但是代码中又找不到报红的地方怎么办?



前言: 今日付出的汗水,只为明日不一样的自己。唯有坚持不懈的努力,才能过上自己想要的生活

转载请标明出处:
http://blog.csdn.net/w690333243/article/details/78258573
更多内容请访问【-小沫-专栏】

        今天遇到一个问题,很是头疼,写了一个Demo,运行的时候发现报红叉,但是在代码中又找不到报红的地方,真是醉了,难道要删除module,再从新建吗,太费事了,想想其他办法,于是各种尝试,各种Clean项目,从新Rebuild,invalidate caches,都不顶用,最后终于发现问题所在,同时将解决问题的过程写下来,希望对网友有所帮助。

一句话概括:看Debug Configuration中的相关项目报错提示信息。

最关键的就是这个,找出问题所在(本篇最重要的)

这里写图片描述


        看问题
这里写图片描述
        一般遇到这种问题,我们的第一反应就是挨个看项目中的文件,看报红的地方,然后修改,但是最后没有报红的地方,怎么办?

        点击项目名右边的下拉按钮,点击Edit Configurations,
这里写图片描述


        选择报错的项目,看下面的提示信息。
这里写图片描述
        看到没,提示没有找到缺省的Activity,那什么是缺省的Activity呢? 大家都知道,在Android Studio 或 eclipse 自动创建项目时,在清单文件中都会为主Activity这样配置,不知道大家留意过没,当你自己新建主Activity时(不用软件帮你自动创建时),一定要配置intent-filter,其中里面的LAUNCHER不是必须的,其他两个一定要配置

<activity android:name=".MainActivity">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>


        如图,我自己项目中的的主Activity,没有配置其中的intent-filter,所以项目报红,但是你在清单文件中少写了属性,又没有提示,所以很难找错项目报红原因所在。
这里写图片描述

        加上如下intent-filter代码后,报红消失

<intent-filter>
      <category android:name="android.intent.category.DEFAULT"/>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

这里写图片描述

        解释:为何我的项目会出现这种问题,刚开始我用AS创建项目的时候,选择了一个模板,最后感觉并不是自己想要的,于是删除了相关的类文件,及MainActivity,删除时勾选强制删除与此相关的代码,于是就把AndroidManifest.xml中的主Activity配置信息,最后自己新建了一个Activity,但是并没有勾选其为主Activity,所以软件没有为其自动配置intent-filter信息,进而导致项目报错。
出现这种问题怎么办:

一、建议新建项目后,不要删除里面自动创建的东西,真想删除时一定要谨慎
二、使用上面博客中的办法,找到问题所在,解决
三、当你再次遇到此问题时,删除后,应该会想到需要配置的信息了吧,手动添加(凭经验)
四、实在找不到解决办法,只能删除项目,重新构建吧

        总结:需谨慎,多积累经验

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android Studio App 显示红叉可能是因为代码存在错误或警告,需要检查代码并修复问题。另外,也可能是因为缺少某些依赖库或插件,需要安装或更新相应的组件。建议查看 Android Studio 的日志文件,以获取更多详细信息。 ### 回答2: 当我们在Android Studio运行应用程序时,如果出现了一个红色的叉号,它通常意味着应用程序有一个故障或错误。这提示我们需要检查代码出问题所在。 以下是一些可能的原因和解决方案,可帮助解决应用程序的错误: 1. 编译错误:当编译器无法识别代码的某些语句或方法时,它会在运行应用程序之前提供编译错误。在这种情况下,我们需要检查代码,确定错误并解决它们。 2. 依赖错误:应用程序使用的某些依赖可能已经过时或未正确配置,这可能会导致应用程序失败。我们需要检查项目的Gradle文件的依赖项,并确保所有依赖项都是最新的。 3. 设备连接问题:如果应用程序无法连接到我们正在运行应用程序的设备,则会出现红色的叉号。我们可以尝试在设备上启用USB调试选项,并确保设备不需要特殊的驱动程序。 4. 权限问题:如果我们的应用程序需要访问某些敏感数据或功能,则可能需要特定的权限。如果我们没有正确配置这些权限,则会出现红色的叉号。我们需要检查应用程序的清单文件,并确保所有需要的权限已被正确配置。 5. Android虚拟设备问题:如果我们在Android Studio使用的是虚拟设备,则可能需要重启设备或减小设备的内存使用量,以便应用程序能够在其正确运行。 在应用程序出现红色叉号时,我们应该冷静地分析代码并确定错误所在。只有在到问题并解决它们之后,我们才能成功地运行应用程序并获得我们想要的结果。 ### 回答3: 当我们在使用Android Studio开发应用时,经常会遇到一些错误提示,其一个常见的问题就是在我们的应用显示了红色的叉号。这个问题可能由多种原因导致,下面我将根据我的经验来给大家几个常见的解决方法。 首先,我们需要在开发过程认真阅读错误提示信息。当我们在应用程序看到红色的叉号时,我们需要查看该错误的代码行,并尝试理解错误提示所表示的意思。 我们应该观察错误的类型,例如编译错误,语法错误等等,以便更好地理解问题。 其次,我们需要检查项目是否存在任何错误。我们需要确保代码库与Gradle的版本匹配,并且确保所有库都已正确导入Android Studio。如果这些步骤没有解决问题,我们需要更进一步的调试。 第三,我们需要检查应用程序的布局。我们应该确保每个元素的ID都是唯一的,并且所有元素都是正确嵌套的。在处理使用适配器的列表或表格时,我们还需要确保适配器正确初始化和使用。 第四,我们应该检查我们的应用程序是否存在内存泄漏。如果我们的应用程序在使用时出现异常并导致崩溃,则可能是由内存泄漏造成的问题,我们应该使用内存分析工具来进行分析。 最后,我们可以尝试重新构建和清理项目。如果我们实施了所有以上步骤并且问题仍未解决,则可能是由于Android Studio自身的一些问题造成的。在这种情况下,您可以尝试重新构建和清理项目来刷新Gradle缓存。 总之,当应用程序在Android Studio显示红色的叉号时,我们应该先查看错误提示,尝试理解错误类型并排除可能的因素,以便更好地解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值