生成Javadoc错误的Andr​​oid工作室 [英] Generate Javadoc error Android Studio

查看:869
本文介绍了生成Javadoc错误的Andr​​oid工作室的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

出于某种原因我无法生成与Android Studio中的javadoc,像96后的警告它给了我这样的:

  95的警告
显示java.lang.NullPointerException
在com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:83)
在com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:44)
在com.sun.tools.javadoc.ClassDocImpl.superclassType(ClassDocImpl.java:496)
在com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:453)
在com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:491)
在com.sun.tools.doclets.internal.toolkit.util.ClassTree.processType(ClassTree.java:194)
在com.sun.tools.doclets.internal.toolkit.util.ClassTree.buildTree(ClassTree.java:146)
在com.sun.tools.doclets.internal.toolkit.util.ClassTree< INIT>(ClassTree.java:91)
在com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:123)
在com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:83)
在com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:63)
在com.sun.tools.doclets.standard.Standard.start(Standard.java:39)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在java.lang.reflect.Method.invoke(Method.java:601)
在com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:280)
在com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:160)
在com.sun.tools.javadoc.Start.parseAndExecute(Start.java:397)
在com.sun.tools.javadoc.Start.begin(Start.java:167)
在com.sun.tools.javadoc.Main.execute(Main.java:59)
在com.sun.tools.javadoc.Main.main(Main.java:49)
 

javadoc中退出,退出code 1

有没有一种方法来创建机器人工作室的javadoc?如果不是这样,我怎么能创建一个,我需要用我的项目给它。

解决方案

这两个答案,这里给出的组合工作很适合我。虽然文档生成细,我仍然得到900警告和140错误,但他们都涉及到Android包。这仅仅是给定的解决方案相结合,并解释了一下的人谁不熟悉的Andr​​oid Studio或命令行界面。

如何生成Javadoc Android中STUDIO

  1. 开启Android的工作室>工具>生成Javadoc
  2. 选择的范围,通常是整个项目
  3. 检查包括JDK和库源代码
  4. 指定的输出目录。文件的负载将被倾倒在这里,所以我建议创建一个新的文件夹。
  5. 选择您要公开哪些方法。通常保护的是可取的,除非它看起来IM pressive上学。

在棘手的一部分,其他的命令行参数。根据pretty的图形用户界面,有一个直接调用的javadoc 命令,它运行的Javadoc生成器。该命令行使用的结构是这样的: PROGRAM_NAME [-flag]参数[-flag]参数,正如你可以猜到调用某些可选的行为程序,传递了什么这些应该是。

因此​​,通过指定其他命令行参数下的以下

<醇开始=6>
  • -encoding UTF-8 -bootclasspath /路径/要/ SDK /平台/机器人 - ## /的android.jar 依次点击确定
  • 你实际上调用这些标志和参数的Javadoc程序。这两个标志允许的javadoc程序忽略UNI code字,找到的android.jar但似乎一切都标有#读作一些和Android的javadoc都充满了他们。

    我希望你通过你的类的警告读取尽管看似大量的垃圾邮件,因为的javadoc 会告诉你,当你忘记的东西一样空@返回声明。

    For some reason I cannot generate a javadoc with Android Studio, after like 96 warnings it gives me this:

    95 warnings
    java.lang.NullPointerException
    at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:83)
    at com.sun.tools.javadoc.TypeMaker.getType(TypeMaker.java:44)
    at com.sun.tools.javadoc.ClassDocImpl.superclassType(ClassDocImpl.java:496)
    at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:453)
    at com.sun.tools.doclets.internal.toolkit.util.Util.getAllInterfaces(Util.java:491)
    at com.sun.tools.doclets.internal.toolkit.util.ClassTree.processType(ClassTree.java:194)
    at com.sun.tools.doclets.internal.toolkit.util.ClassTree.buildTree(ClassTree.java:146)
    at com.sun.tools.doclets.internal.toolkit.util.ClassTree.<init>(ClassTree.java:91)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:123)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:83)
    at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:63)
    at com.sun.tools.doclets.standard.Standard.start(Standard.java:39)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:280)
    at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:160)
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:397)
    at com.sun.tools.javadoc.Start.begin(Start.java:167)
    at com.sun.tools.javadoc.Main.execute(Main.java:59)
    at com.sun.tools.javadoc.Main.main(Main.java:49)
    

    javadoc exited with exit code 1

    Is there a way to create the javadoc in android studio? If not, how could i create one, I need to give it with my project.

    解决方案

    A combination of the two answers given here worked well for me. Though the docs generate fine, I still get 900 warnings and 140 errors BUT they're all related to the android packages. This is just the given solutions combined and explained a bit for people who aren't familiar with Android Studio or command line interfaces.

    HOW TO GENERATE JAVADOC IN ANDROID STUDIO

    1. Open Android Studio > Tools > Generate Javadoc
    2. Select the scope, usually the whole project
    3. Check include jdk and library sources
    4. Specify the output directory. A load of files will be dumped here, so I recommend creating a new folder.
    5. Select which methods you want to expose. Usually protected is desirable unless it has to look impressive for school.

    The "tricky" part, "Other command line arguments". Under the pretty GUI, there's a direct call to the javadoc command, which runs the javadoc generator. The command line uses a structure like this: program_name [-flag] argument [-flag] argument, which as you can guess calls the program with certain optional behaviours, passing in what those should be.

    So by specifying the following under "Other command line arguments"

    1. -encoding utf-8 -bootclasspath /path/to/sdk/platforms/android-##/android.jar followed by clicking OK

    you're really calling the javadoc program with these flags and arguments. These two flags allow the javadoc program to ignore unicode characters and find the android.jar though it seems that everything marked with # is read as a number and the android javadocs are filled with them.

    I urge you to read through the warnings for your classes despite the seemingly large amount of spam, as javadoc will tell you when you've forgotten things like empty @return statements.

    这篇关于生成Javadoc错误的Andr​​oid工作室的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆