4

这只是我的信息的一般问题。我知道如何创建标准的 Android 应用程序,但我想知道:人们怎么可能/如何增强 Android 核心功能并更深入地挖掘系统?

例如:假设我想修改被许多应用程序使用的DownloadManager类。因此,例如,可以调整类,以便在下载进度下方的通知栏中显示的下载文本以某种方式更改。

对不起以下愚蠢的问题,但我不知道这些高级主题,这就是我在这里问的原因;-)

  • 可以更改(例如)DownloadManager 类,使其具有扩展功能,然后由 3rd 方应用程序使用,对吗?
  • 然后可以将修补的类放在 Play 商店中供其他人下载/扩展他们的 DownloadManager 功能吗?
  • 人们是否需要 Root 才能安装这样的更改?
  • 最重要的是:有人如何更改 Android API 类?我在这里真的是个菜鸟:我不知道从哪里获取源代码,如何用增强的类替换标准,需要什么等等。甚至有关于这样的高级主题的教程吗?

请给我一点启发:-)

4

1 回答 1

2

可以更改(例如)DownloadManager 类,使其具有扩展功能,然后由 3rd 方应用程序使用。

是的,当然,Android 源代码是在 Apache 许可下开放的,你可以修改这个源代码,并公开发布到世界上。关于类和许多其他类的一些细节DownloadManager,在 Android OS 结构中,这些类是在上层编程的,通常完全用 Java 编写。

然后可以将修补的类放在 Play 商店中供其他人下载/扩展他们的 DownloadManager 功能吗?

我不太明白你的问题。在 Play 商店(和另一个 android 应用商店)中,人们上传他们的应用程序(用有趣的一句话,上传的源代码已经编译),那么如何上传源代码以供用户扩展他们的应用程序呢?

您可以将您的源代码公开到 github,或者程序员经常遇到的其他地方,这样他们就可以查看您的源代码,并且经常给您提供有价值的想法和意见:)

人们是否需要 Root 才能安装这样的更改?

如果是高级用户,他们可以为他们的设备安装新的 Android 操作系统。但我认为,这个答案比你真正需要的还要远。

从哪里获得源代码,如何用增强的类替换标准,需要什么等等。甚至有关于这样的高级主题的教程吗?

在 Android SDK 文件夹中,有一个名为“Source”的文件夹,你可以去那里看到很多 Android 源代码。您可以接受、阅读和修改您想要的内容。Android的某些部分不在这里,您应该为此谷歌,在互联网上很容易找到。

但是你应该记住,当你修改这个或那个类时,它不再属于Android OS,你必须将这个类文件作为普通类导入到你的项目中。

所以,如果你想修改基本的 Android API:这些 API 通常都是用 Java 编写的,你仔细阅读并理解它们,如果你想修改一些部分,然后将这个类导入你的项目。

最后一句话,为什么你应该这样做:) 因为你可以扩展你想要的类,并为这个类添加一些额外的特性。它更容易,更好。

希望这有帮助:)

于 2012-12-14T10:45:22.793 回答