如何使 Google Play 服务 API 和 Firebase API 的 API javadocs 出现在 Android Studio 中,而不是没有文档的反编译类?

Posted

技术标签:

【中文标题】如何使 Google Play 服务 API 和 Firebase API 的 API javadocs 出现在 Android Studio 中,而不是没有文档的反编译类?【英文标题】:How to make API javadocs for Google Play Services APIs and Firebase APIs show up in Android Studio rather than decompiled classes with no docs? 【发布时间】:2016-11-11 22:54:32 【问题描述】:

当我点击我在 android Studio 的 android 项目中使用的任何 Google Play Services API 或 Firebase API 时,IDE 会将我带到该类的反编译版本,其中变量名被混淆并且没有任何方法的文档。任何想法如何直接在 IDE 中查看文档?

我怀疑原因是播放服务和 firebase 服务不是开源的,我对看到 impls 没意见,我知道他们想要保护它。但我真的会从直接在 IDE 中查看文档而不是使用 alt-tabbing 浏览器中受益。感谢您的帮助。

【问题讨论】:

复制:***.com/q/38141103/435605 我认为这个答案比链接问题中的答案质量更高 【参考方案1】:

Javadocs 确实应该与客户端库一起分发。我们在 Google 内部对此有一个未解决的问题,但我没有关于何时提供适当解决方案的时间表。但是,我可以为您提供一种解决方法,您可以将其应用于您的项目。这不是一个很好的解决方案,但它是一些东西。

在我的 OSX 机器上,Android SDK 安装在这里:

/Users/[myusername]/Library/Android/sdk

Play Services 和 Firebase javadocs 的本地副本在这里(您的可能会有所不同):

/Users/[myusername]/Library/Android/sdk/extras/google/google_play_services/docs/reference/

您实际上可以通过以下过程将此路径附加到 Android Studio 中的 Firebase 客户端库:

    在“外部库”下的项目视图中查找 Firebase/Play 客户端库。 右键单击您最感兴趣的 javadoc。例如,对于 Firebase 实时数据库,您可以使用“firebase-database-9.2.0”。 在上下文菜单中,单击底部的库属性。 在“库属性”窗口中,有一个带有 + 号的按钮。点击那个。这使您可以将 javadoc 路径附加到该库中的类。 从上方导航/粘贴您的 javadoc 路径到对话框中。 在下一个对话框中,告诉它“JavaDocs”。

现在,当您为该库中的类调用 javadoc 时,您会看到它。但是,您必须为每个需要 javadoc 的库执行此操作。

如果您由于某种原因没有安装本地 javadoc,您可以附加 javadoc 的远程 url。为此,请使用下方带有小地球的加号按钮,然后粘贴 javadoc url。对于 Firebase,这是 https://firebase.google.com/docs/reference/android,对于 Play Services,这是 https://developers.google.com/android/reference/

完成所有这些手动工作并不好,但至少它可以让您在 IDE 中获得 javadoc。

如果您想编写一个脚本来为您使用的所有内容附加此内容,请知道此过程本质上只是修改 .idea/libraries 下的文件。当您在 IDE 中进行更改时,您可以很容易地观察到被修改的 javadoc XML 元素,如果需要,您可以自己编写/编辑更改。

【讨论】:

非常感谢道格!谷歌任务在任何问题跟踪系统上都是公开可见的,还是全部是内部的?我想“关注”该领域的发展,即使目前还没有固定的交货日期 不幸的是,没有像这样的 Play 服务或 Firebase 错误的跟踪器(希望有!)。如果您将其记录为 firebase.google.com/support/contact/bugs-features 的错误,这实际上非常有帮助 - 这也应该在内部冒泡,您可以从自己的错误报告的角度跟踪它。 完成了,但是我刚刚意识到我将其记录为“功能请求”而不是“错误”...可能无助于确定优先级,但现在无法更改... 应该没什么大不了的,不过多角度记录就好了。谢谢! 在线 javadocs URL 现已更改为 firebase.google.com/docs/reference/android【参考方案2】:

就我而言,添加此https://firebase.google.com/docs/reference/android/packages 有效。

【讨论】:

以上是关于如何使 Google Play 服务 API 和 Firebase API 的 API javadocs 出现在 Android Studio 中,而不是没有文档的反编译类?的主要内容,如果未能解决你的问题,请参考以下文章

如果没有 INTERNET,如何阻止 Google Play 游戏窗口弹出

如何在较低的 API 模拟器中使用 Google Play 服务

如何在应用程序处于后台时保持GPS接收器位置更新(Google Play服务位置API)

Google Play 游戏服务中的多人游戏 API 将不再可用。如何迁移到 Firebase?

如何限制到最大值。在 Google Play 游戏服务排行榜 API 中提交 1x 分数?

在服务中访问 Google Play 服务位置 API