IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android studio 使用JDK11无法生成javadoc问题解决 -> 正文阅读

[移动开发]Android studio 使用JDK11无法生成javadoc问题解决

Android studio 使用JDK11无法生成javadoc问题解决

一. 背景

Android studio 升级到Arctic 后强制使用jdk11了,在通过 Tools->Generate Javadoc 时发现很多Android 系统得类找不到,配置如下:

image-20220322131516236

网上基本都这么配置的,用idea生成也没碰到问题,但在Android Studio上点击ok后出现如下错误信息:

image-20220322131638457

二. 当前系统环境

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

所以 直接添加路径如下:

image-20220322132154927

点击确认,得到如下错误:

image-20220322132239138

也就是说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 的路径去掉,点击确定:

image-20220322132847563

大功告成!!!

四. 其他

Java 9 改进 Javadoc

https://www.runoob.com/java/java9-improved-javadocs.html

最明显能看到的不同就是,在右上角可以看到搜索功能:

Java 9及以后的版本 的 javadoc 的输出现在符合兼容 HTML5 标准。使用 jdk 9 javadoc 命令中的 -html5 参数可以让生成的文档支持 HTML5 标准

image-20220322134634477

五. JDK 11存在的问题

JDK 11通过此方式可以生成javadoc,但存在一个问题,那就是 生成的html 的搜索功能无法使用,会出现大量的undefined.undefined.xxx
如下图

image-20220328115511682

这些方法你就点不了了,无法索引到你所搜索的方法

解决方案:

换JDK版本为17.02

六. 更换Android default JDK

把设置翻遍了,也没有找到更换默认jdk的菜单选项,只能从其他途径下手,Android studio里面带的都是更换编译项目使用的sdk,在使用idea的ide时发现idea可以更换,如下图:

image-20220329162841269

但Android studio中没有(在加载出问题的时候才会有,正常不会有,很难碰到),下图是Android studio的右键菜单

image-20220329162950759

通过搜索配置文件发现,有一个地方记录了默认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

image-20220329163745410

通过上面的路径拿到这个jdk.table.xml文件

直接替换Android studio的这个文件(先退出Android studio)

替换后打开Android studio,会看到如下界面

image-20220329164210775

同时,左边依赖项也没有了Java 和SDK

image-20220329164243635

点击configure,出现下图,选择刚刚安装的jdk的版本

image-20220329164338902

选择完成之后,左边依赖框也会出现如下图所示

image-20220329164727120

到此为止,默认的jdk算是更换完成了,但此时Android SDK还没有配置,项目无法编译,带个红叉

image-20220329165137680

点击 File->Project Structure

image-20220329165101742

然后选择sdk的路径就行了,重启一下Android studio

如果不行,点击上图中的Gradle Settings,那么再配置一下

image-20220329165545170

如果还报错,那么就点击SDK管理的图标重新选择一下sdk的路径,总之,就是要把sdk列表刷出来

image-20220329165838929

点击edit

image-20220329165810326

点击next

image-20220329165916010

点击next

image-20220329165948707

等待一会儿

image-20220329170011643

点击finish

image-20220329170041176

然后再看左边依赖框中就有了Android SDK的依赖,这个时候jdk.table.xml 中就有sdk的信息了

image-20220329170147239

到此,我们就可以使用JDK 17.02生成Html5带搜索的Javadoc文档了。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:13:15  更:2022-04-01 00:15:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 19:46:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码