在编译 Android SDK 源代码后,我遇到了一些有趣的问题。我试图反汇编生成的 android.jar,但发现该 jar 文件中包含的大多数方法只是一个存根,它只会抛出运行时异常,例如:
public void startActivityForResult(android.content.Intent, int);
Code:
0: new #2; //class java/lang/RuntimeException
3: dup
4: ldc #3; //String Stub!
6: invokespecial #4; //Method java/lang/
RuntimeException."<init>":(Ljava/lang/String;)V
9: athrow
我可以理解,Android.jar 可能不需要包含 Android 框架的实际实现,因为它仅用作 3rd 方应用程序的编译时库。但我的问题是:提供 android.jar 真正实现的 Jar 或 Dex 文件是什么?我认为它也应该在编译 SDK 时生成,对吗?
谢谢!二