Android Studio中不能展开jdk源码的问题

一、前言

有时候新建项目会出现jdk无法展开的情况。情况如下图:

在这里插入图片描述

现在项目基本上都是有kotlin环境的,所以使用Java写其实也没事儿。因为使用的java包其实都是调用的是kotlin包下面的,比如Stringkotlin的包是kotlin.Stringjdk的包是java.lang.String。所以不是非要调用jdk下面的包的话是没有问题的。但是假如自己新建一个lib。写java代码,或者某些插件生成java代码时候,凡是调用jdk库的代码就都会报错。如下

在这里插入图片描述

二、解决方式

首先这个问题跟jdk版本没有关系,跟windows、mac也都没有关系,跟哪一种jdk使用也没有关系(比如使用openjdk就会解决该问题)。主要问题是开发工具的问题,可能是某个bug。

主要修改.idea->misc.xml中的代码。位置如下:

在这里插入图片描述

这里看下有问题的代码内容是什么

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="DesignSurface">
    <option name="filePathToZoomLevelMap">
      <map>
        <entry key="app/src/main/res/layout/activity_main.xml" value="0.335" />
      </map>
    </option>
  </component>
  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/build/classes" />
  </component>
  <component name="ProjectType">
    <option name="id" value="Android" />
  </component>
</project>

不同项目的这个文件会有不同。不过无需过多关注,这里注意nameProjectRootManager<component>标签中的project-jdk-name属性。可以看到如下代码:

project-jdk-name="Android Studio default JDK"

看到这个名字正是我们看到的不能展开的jdk的名字。这里只需要将该字段修改为正确的版本名字即可。比如1.81115即可。但是注意版本名字只需要标注大版本即可,不需要写上小版本,例如11.0.10。改完代码后关掉项目,重新打开即可。修改完的代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="DesignSurface">
    <option name="filePathToZoomLevelMap">
      <map>
        <entry key="app/src/main/res/layout/activity_main.xml" value="0.335" />
      </map>
    </option>
  </component>
  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/build/classes" />
  </component>
  <component name="ProjectType">
    <option name="id" value="Android" />
  </component>
</project>

重新运行程序的效果如下:

在这里插入图片描述

另外需要注意下有时候程序会出现一个提示,说是选择的jdk版本不符合。让重新选择。问题如下:

11:54 上午	Project HelloWorld is using the following JDK location when running Gradle:
					/Users/rockey211119/Library/Java/JavaVirtualMachines/liberica-1.8.0_312
					Using different JDK locations on different processes might cause Gradle to
					spawn multiple daemons, for example, by executing Gradle tasks from a terminal
					while using Android Studio.
					More info...
					Select a JDK
					Do not show this warning again

在这里插入图片描述

这时候检查刚才的标签里面是否有default="true"属性,没有的话添加上即可。这种问题是没有办法通过修改重新设置版本号来解决的,例如以下的方式:

在这里插入图片描述

综合所述,猜测找不到jdk的问题应该是idea没有正确的将jdk匹配上的问题。当你检查过环境变量,版本等各种方式均无法解决该问题的时候,不妨尝试下本文提供的解决方式。

这个问题可以参考下面的帖子:
Using different JDK locations on different processes might cause Gradle to spawn multiple daemon

如果不能解决,那么检查下面的代码是不是设置的版本和安装的版本不符合,设置的版本系统没有安装:

  compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
    kotlinOptions {
        jvmTarget = '11'
    }
玛丽是一款经典的游戏,也是许多人的童年回忆。在Android Studio,我们可以找到各种版本的玛丽游戏源码,以便进行学习和开发。以下是关于Android Studio游戏源码玛丽的一些信息: 1. 游戏开发环境:使用Android Studio进行开发,需要下载安装Java Development Kit(JDK)和Android SDK等相关工具。 2. 游戏资源:玛丽游戏的源码通常包括游戏图形素材、音频素材和背景音乐等。这些资源可以在游戏引擎使用,例如使用libgdx或Unity等游戏引擎。 3. 游戏逻辑与功能:在Android Studio开发玛丽游戏源码时,需要实现玛丽的移动、跳跃、攻击等基本功能。还需要包含关卡设计、碰撞检测、计分系统、游戏暂停和继续等功能。 4. 游戏界面设计:使用Android Studio提供的图形界面编辑器可以设计游戏的用户界面,包括菜单、角色状态栏、敌人和障碍物等。同时,可以利用XML文件进行布局和视觉效果的调整。 5. 游戏编程语言:Android Studio可以使用JavaKotlin等编程语言进行游戏开发。这些语言各有特点,使用哪种语言取决于开发者的个人喜好和项目需求。 总之,Android Studio提供了一个强大且灵活的开发环境,可以用于开发各种类型的游戏,包括经典的玛丽游戏。使用源码开发游戏可以在学习提升编程技能,同时也可以进行自定义的创作和创新。如果你对游戏开发感兴趣,不妨尝试使用Android Studio来开发你自己的玛丽游戏吧!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值