Android studio 使用JDK11无法生成javadoc问题解决
Android studio 使用JDK11无法生成javadoc问题解决
一. 背景
Android studio 升级到Arctic 后强制使用jdk11了,在通过 Tools->Generate Javadoc 时发现很多Android 系统得类找不到,配置如下:
网上基本都这么配置的,用idea生成也没碰到问题,但在Android Studio上点击ok后出现如下错误信息:
二. 当前系统环境
OS:Windows 11
Android studio:Arctic Fox | 20203.1 Patch 4
JDK: 11.0.13
随后去网上查询资料,得到的都是在 Other command line arguments 中添加android.jar的引用路径
-bootclasspath /Users/用户名/sdk/platforms/android-14/android.jar
所以 直接添加路径如下:
点击确认,得到如下错误:
也就是说JDK 11已经不支持这个 -bootclasspath这个命令选项了(从JDK9就已经没有了)
试了几个都不行,换个思路。
三. 解决方案
查了很久,看到一个和jdk11相关的问题,缺少tools.jar
https://www.klavor.com/dev/20210129-1001.html
他是通过 implementation files引用的,索性试一试
在需要生成Javadoc的模块中的build.gradle 引用android.jar
dependencies {implementation 'androidx.appcompat:appcompat:1.2.0'implementation 'com.google.android.material:material:1.3.0'implementation files('D:\\Users\\Administrator\\AppData\\Local\\Android\\Sdk\\platforms\\android-31\\android.jar')compileOnly files('libs/liba-release.aar')compileOnly files('libs/libb-release.aar')testImplementation 'junit:junit:4.+'androidTestImplementation 'androidx.test.ext:junit:1.1.2'androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
再次执行
Tools->Generate JavaDoc
把刚添加的android.jar 的路径去掉,点击确定:
大功告成!!!
四. 其他
Java 9 改进 Javadoc
https://www.runoob.com/java/java9-improved-javadocs.html
最明显能看到的不同就是,在右上角可以看到搜索功能:
Java 9及以后的版本 的 javadoc 的输出现在符合兼容 HTML5 标准。使用 jdk 9 javadoc 命令中的 -html5 参数可以让生成的文档支持 HTML5 标准
五. JDK 11存在的问题
JDK 11通过此方式可以生成javadoc,但存在一个问题,那就是 生成的html 的搜索功能无法使用,会出现大量的undefined.undefined.xxx
如下图
这些方法你就点不了了,无法索引到你所搜索的方法
解决方案:
换JDK版本为17.02
六. 更换Android default JDK
把设置翻遍了,也没有找到更换默认jdk的菜单选项,只能从其他途径下手,Android studio里面带的都是更换编译项目使用的sdk,在使用idea的ide时发现idea可以更换,如下图:
但Android studio中没有(在加载出问题的时候才会有,正常不会有,很难碰到),下图是Android studio的右键菜单
通过搜索配置文件发现,有一个地方记录了默认jdk的路径,那就是 C:\Users\用户名\AppData\Roaming\Google\AndroidStudio版本号\options\jdk.table.xml
这个文件不仅记录了默认jdk,编译jdk,依赖的sdk的路径,最大最小sdk版本等等等等。
那么我们可以直接把这个文件修改掉。但最后发现直接修改好像不太行(手动修改的方式可能有问题,不能简单的替换成我们自己的jdk),Android studio启动后会再次改为默认的jdk 版本。
idea同样存在 这个文件,通过更换idea的jdk默认版本信息,得到一个jdk.table.xml . idea的jdk.table.xml 存放在:C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea版本号\options\jdk.table.xml
右键-> Open Library Settings
通过上面的路径拿到这个jdk.table.xml文件
直接替换Android studio的这个文件(先退出Android studio)
替换后打开Android studio,会看到如下界面
同时,左边依赖项也没有了Java 和SDK
点击configure,出现下图,选择刚刚安装的jdk的版本
选择完成之后,左边依赖框也会出现如下图所示
到此为止,默认的jdk算是更换完成了,但此时Android SDK还没有配置,项目无法编译,带个红叉
点击 File->Project Structure
然后选择sdk的路径就行了,重启一下Android studio
如果不行,点击上图中的Gradle Settings,那么再配置一下
如果还报错,那么就点击SDK管理的图标重新选择一下sdk的路径,总之,就是要把sdk列表刷出来
点击edit
点击next
点击next
等待一会儿
点击finish
然后再看左边依赖框中就有了Android SDK的依赖,这个时候jdk.table.xml 中就有sdk的信息了
到此,我们就可以使用JDK 17.02生成Html5带搜索的Javadoc文档了。
Android studio 使用JDK11无法生成javadoc问题解决相关推荐
- Android Studio的res自动生成的文件出错了_莫韵乐与bug的奇妙冒险
Android Studio的res自动生成的文件出错了_莫韵乐与bug的奇妙冒险 无论学什么编程语言都要跟奇怪的bug过不去 奇怪的bug出现了 今天满怀欣喜地进行安卓开发学习,创建好一个新的项目之 ...
- [Android Studio]Failed to install Intel HAXM 问题解决
问题描述: 在安装 android-studio-bundle-135.1740770-windows.exe时弹出如下信息 安装环境: 分析问题: 1. 错误日志haxm_silent_run.lo ...
- android studio mvpplugin,MVPHelper Android Studio 插件,一键生成 MVP 代码接口以及实现类。 @codeKK Android开源站...
一款适用于 Intellij IDEA 和 Android Studio 的插件, 可用于为 MVP 架构生成接口以及实现类, 解放双手. 欢迎 Issue Report, 欢迎 Feature Re ...
- Android Studio 开发NDK项目生成.h文件方法
参看文章原文 1, 从Android Studio的Terminal里进入到, /src/main/java 目录下,一定要刀这个文件夹下来执行命令操作. 2, 执行javah XXX.XX.XXX ...
- 问题文件Android Studio 安装完成不能打开等问题解决记录
在本篇文章中,我们主要介绍问题文件的内容,自我感觉有个不错的建议和大家分享下 1.下载Android Studio http://developer.android.com/sdk/installin ...
- Android Studio ADB不是内部命令问题解决方法
好记性不如烂笔头 ,博客是最好的笔记本 . 一 .重安装Android Studio后 ,会出现ADB无法使用或不是内部命令的问题 ,解决方法如下 1.确认SDK文件夹下的 platform-to ...
- android studio程序打不开,Android Studio project 文件打不开问题解决
现象: Android项目的所有文件都打不开,搜了一圈,和此篇原因可能类似: 解决: 打开工程,Android studio右下角出现error提示: com.intellij.diagnostic. ...
- Android studio创建一个根目录生成手电修改参数app
分享Java小白的第一个实用程序,其中因为android权限问题差点挠破头,最后通过查找各类教程终于成功.下面是源代码: package com.example.timemachine; import ...
- Android studio无法创建类和接口问题解决办法。提示 Unable to parse template Class
重新配置了studio 的工作环境, 没问题,后来加需求要新增java类和接口,这就出现问题了,新建的时候,就会报错: Unable to parse template "Interface ...
最新文章
- Linux统计文件行数
- C++中用vectors改进内存的再分配
- php 芝麻认证think_PHP 芝麻信用接入的注意事项
- Java使用iText实现对PDF文件的操作
- 设计专业作品展示舞台,灵感源泉
- win2k,XP下用setupapi.dll自动安装Driver
- OpenStack常见命令与问题集合
- 2.1 Hadoop环境搭建
- 推荐9个能让你看一天的网站
- 旅游数据,没想到你这个数据小白也能轻松分析
- 使用音频分析工具audacity分析wave文件
- voicewo在线语音识别转换jQuery插件
- python yield 与 yield from
- Spring事务管理理解
- VDA6.5认证咨询,产品审核与其他审核方式及检验的区别
- WIN10恢复文件默认打开方式
- 写作副业怎么弄?写文章的副业应该怎么做?
- python的快捷键查看函数用法_python快捷键与命令函数
- 计算机学院毕业典礼口号,毕业典礼创意标语口号
- Xmanage远程连接Linux常用命令与常见问题(整理)
热门文章
- 仙人掌[cactus]
- ioremap和ioremap_nocache函数笔记
- 高防CDN和高防IP防护的不同之处
- oracle+转换成omf,Oracle 11g r2基于OMF方式手工创建数据库
- Python:让繁琐工作自动化
- 药企常用计算机化系统,GMP附录《计算机化系统》法规解读之“对制药企业的影响”...
- ArduPilot之H743快速加减油门抬头现象分析
- html5u1 li,HTML5 li 标签
- android商城首页demo,FanZhengxi
- biee java_CAS做单点登陆(SSO)——集成BIEE 11g