像Android一样使用存根方法创建API jar吗?

时间:2016-09-12 21:01:37

标签: java android jar compilation android-source

我希望分发自定义API,并知道这些类在运行时可用。我希望我的公共和受保护的方法/类包含在我可以分发的jar中,但我不想要任何其他源代码,如果实际执行了jar代码,我想抛出异常。

这是Android框架jar在您尝试直接执行jar时的确切行为。

我的问题是如何从我的源创建相同的jar而无需手动完成并创建每个stubbed方法。我希望这可以随着API的增长而扩展。

2 个答案:

答案 0 :(得分:2)

我相信您可以使用mkstubs工具https://github.com/android/platform_development/tree/master/tools/mkstubs

由于@CommonsWare提到AOSP中的存根是由javadoc DroidDoc脚本生成的,请在此处阅读:How are .java files in android_stubs_current_intermediates directory generated?

答案 1 :(得分:0)

一种可能性是编写一个Java编译器,它使用空方法体输出源代码的副本,或者编写一个抛出异常的单个语句。然后,您可以使用普通的开发工具来编译生成的类。