2011年6月5日
摘要: 在上一篇中,我已经展示了如何创建一个包含所有internal和hidden API的original-android.jar。 接下来的工作就是要修改已经存在的Android平台(SDK_DIR/platforms/platform-X/android.jar,X表示API等级)。你可以直接使用Part2中创建的original-android.jar替换android.jar。但这样的话,你的所有工程都将直接使用internal和hidden API而没有任何限制。这不够方便,因为在多数的工程中你不希望这样。甚至,你可能更希望禁止这些API(ADT/android.jar的默认行为)。但对于一些特定的工程,你希望能够使用这些internal和hidden API。 为了达到这样的灵活性,你需要创建一个新的自定义的Android平台。当不需要访问internal和hidden API时,你只需使用原有的Android平台。当你使用这些API时,你使用自定义的Android平台。 阅读全文
posted @ 2011-06-05 13:51 xirihanlin 阅读(3705) 评论(3) 推荐(1) 编辑
摘要: 在上一篇中,我解释了为什么我们不通过反射就会很难使用internal和hidden API。这是因为android.jar中就没包含这些API,因此,没人能够在编译时引用这些类。 这篇文章将描述如何还原最初的android.jar。这将允许我们像使用公开的API那样使用internal和hidden API。 阅读全文
posted @ 2011-06-05 13:48 xirihanlin 阅读(4816) 评论(0) 推荐(3) 编辑
摘要: Android有两种类型的API是不能经由SDK访问的。 第一种是位于com.android.internal包中的API。我将称之为internal API。第二种API类型是一系列被标记为@hide属性的类和方法。从严格意义上来讲,这不是一个单一的API,而是一组小的被隐藏的API,但我仍将其假设为一种API,并称之为hidden API。 阅读全文
posted @ 2011-06-05 13:45 xirihanlin 阅读(8251) 评论(1) 推荐(2) 编辑