如何知道android sdk的哪个jar文件包含我需要的类
Posted
技术标签:
【中文标题】如何知道android sdk的哪个jar文件包含我需要的类【英文标题】:How to know which jar file of android sdk contains the class I need 【发布时间】:2013-05-30 22:28:57 【问题描述】:我想从源代码在eclipse中重新创建android uiautomator.jar(不是整个android框架),并且需要:
import android.accessibilityservice.UiTestAutomationBridge;
import android.os.SystemService;
但看到以下错误:
package android.accessibilityservice does not exist
package android.os does not exist
我正在使用安卓 sdk-17。从sdk附带的源代码中,我可以看到包确实存在,它们在sources/android-17/android下,我可以看到java源文件在那里。
我的构建路径只包含android.jar,显然它不包含这些包。有没有办法知道我应该包括哪个罐子?我了解整个android框架需要在Linux环境中编译。是否可以使用 Eclipse 编译 uiautomator。它只是一个用于 UI 测试的 jar 文件。谢谢。
【问题讨论】:
【参考方案1】:据我了解您的问题,您想要的是导入 .jar 格式的外部库。 (将库添加到项目的 java 构建路径中)在这种情况下,您不需要编译整个框架。 您可以导入所需的任何外部库。 在日食中:
Right click your project >> Select Properties >> Java build path >> Libraries >> Add External JARs
并选择您需要从本地磁盘导入的库 (uiautomator.jar)。
【讨论】:
我真正的问题是:哪个 jar 文件包含我需要的 java 包(如 android.accessibilityservice 和 android.os)。【参考方案2】:嗯,有两种方法可以查看 jar 文件:
在 Eclipse 中,一旦将 jar 文件添加到项目中,您就可以打开它们并查看内部 在命令行中,可以使用jar -tf
。例如,如果您使用的是 linux,则可以尝试:
jar -tf somejarfile.jar | grep 无障碍服务
在 Windows 上,您可以尝试:
jar -tf somejarfile.jar |查找 /i "无障碍服务"
...然后在不同的 jar 文件上尝试这些,直到找到包含所需内容的那个。
【讨论】:
以上是关于如何知道android sdk的哪个jar文件包含我需要的类的主要内容,如果未能解决你的问题,请参考以下文章
Android SDK 工具第 19 版:外部 jar 文件问题
如何将PayPal sdk与Gradle Android集成