【问题标题】:Modifying and recompiling the Android SDK修改并重新编译 Android SDK
【发布时间】:2011-01-18 17:24:16
【问题描述】:

我知道在Android中实现的一些方法和一些类没有导出到Android公共SDK。通过编译我的应用程序并将其放置在 Android 树中,我已经能够创建一个使用其中一些功能的应用程序。 是否可以通过从源代码重新编译将这些功能导出到 Android SDK?如何才能做到这一点?我是否也可以在 Android SDK 中包含自定义类和函数(当然,假设我创建了一个新的 SDK 和一个新的固件)? 谢谢!

【问题讨论】:

    标签: android android-2.2-froyo


    【解决方案1】:

    我没有尝试过,但这应该是我问题的答案:https://android.googlesource.com/platform/sdk/+/master/docs/howto_build_SDK.txt

    【讨论】:

      【解决方案2】:

      可以下载 SDK 并对其进行更改。

      如果您要发布公共应用程序,则不应使用任何非公共 API,因为无法保证它们将在所有手机或未来版本的操作系统中可用。

      【讨论】:

      • 我正在开发我正在编译的固件,所以我可以控制它。但无论如何,据我所知,SDK 源代码位于 Android 系统源代码的同一棵树中。可以使用 mm sdk 进行编译。事实上,我可以做到这一点。我编译了自己的 SDK。但是,我该如何对其进行更改?它编译什么类?和编译系统时编译的一样吗?但是,如果源文件相同,怎么可能有些 API 没有导出到 SDK 中呢?我可以对系统进行更改并编译我自己的,但是如何对 SDK 执行此操作呢?谢谢!
      • 我不确定您所说的“未导出到 SDK”是什么意思。能给我举个例子吗?我认为他们所做的最多就是将它们标记为隐藏,这样它们就不会出现在文档中,但你仍然可以访问它们..
      • 好吧,我以前见过这种情况。现在我记得两个例子:类 FileUtils,android.os.FileUtils,被 MediaProvider 之类的应用程序使用,但我找不到它的文档,也无法在 Eclipse 的 Android 项目中使用该类。另一个例子是我希望能够添加安装包(使用方法 installPackage)到 SDK 的可能性。这可以由 PackageManager 应用程序完成,因为它是在系统中编译的,但使用默认 SDK 是不可能的(出于安全原因,我正在创建固件,不适用于我)。
      猜你喜欢
      • 1970-01-01
      • 2021-02-20
      • 2017-12-05
      • 2013-09-13
      • 2023-03-12
      • 2015-08-08
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      相关资源
      最近更新 更多