【问题标题】:android how to import libraries not in public sdkandroid如何导入不在公共sdk中的库
【发布时间】:2017-11-16 17:29:28
【问题描述】:

在 android studio 中如何导入不在公共 SDK 中的库,例如 android.os.ServiceManager ? 有没有我可以在 gradle 文件中编写的命令来解决这个问题?

【问题讨论】:

    标签: android sdk servicemanager


    【解决方案1】:

    android.jar 中的ServiceManager@hide 注释标记。

    在设计时,所有标有隐藏注释的类、枚举、字段和方法都被排除在 android.jar 中,尽管在运行时 android 加载 framework.jar(相当于 android.jar),其中还包含类、方法、用 hide 注释标记的枚举和字段。

    不过,您可以在设计时使用反射或构建包含这些类的 android.jar。

    考虑到您无法在 Google Play 上发布您的应用,因为您违反了 EULA。

    【讨论】:

    • 我在 github 中看到了 UnifiedNLP(一个未捆绑的位置提供程序)代码,他们导入了 LocationProviderBase 也就是 @hide 。他们是怎么做到的?
    • 如何构建 android.jar 里面的类?
    • Building android.jar。他们可以导入 LocationProviderBase 因为他们在 android.jar 的范围内,他们正在构建 android.jar
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 2013-07-06
    • 1970-01-01
    相关资源
    最近更新 更多