2

我需要通过Android Lollipop中的SDK附件导出隐藏的类。我可以导出非隐藏类。在尝试“常规方式”失败后,我认为问题是由@hide标记引起的。所以我决定尝试摆脱隐藏类的@hide关键字的“肮脏”方式(即使这会明显破坏与标准API的兼容性)。在移除@hide关键字并使用Android.mk中的#include(BUILD_JAVA_LIBRARY)构建类后,Java库Jar文件为空。所以我有两个问题:Android SDK附加组件隐藏类

  1. 为什么Jar文件是空的,即使DEX文件包含类?
  2. 如何在不移除@hide关键字的情况下实现相同的结果?

谢谢。

注:我已经使用了这些资源作为参考/文档:http://elinux.org/images/5/5c/Build_and_Distributing_SDK_Add-Ons.pdf https://newcircle.com/s/post/1571/exploring_sdk_add_ons_for_android_devices_larry_schiefer_video

+0

我不确定@hide关键字在我正在尝试做什么中扮演角色... – salvo

回答

0

我发现我自己的解决方案,它并没有真正涉及@hide标签。所以我恢复了@标签。 @hide标签仅在构建标准SDK时才有意义。然后,我将包名称类名称“+ package_name.class_name”替换为类似“+ package_name。*”的内容导出到附加解析文件中。清洁和重建后,附加组件具有所有导出的类。