准备Android API以进行分发

时间:2011-08-17 22:56:10

标签: android xml api distribution

我正在为Android开发一个API,但效果很好,但我不确定如何打包/分发它。我已经把API的“肉”变成了一个jar文件 - 这是res/values/attrs.xml中的所有类和一个XML文件(我不确定用户是否可以引用它而无需复制我的attrs .xml进入他们的/ values文件夹,但那是另一个问题。)

在测试用例中尝试我的API时,我已将.jar添加到构建路径中,如果需要,我可以成功导入类,但我不想:P我的API允许用户实现自定义View到他们自己的XML文件中,因此代码中没有任何实例化。

问题:用户如何在我的API中引用自定义视图?例如,如果我的View被称为FooView且位于包com.myfoo中,则无法加载以下XML:

<com.myfoo.FooView
android:layout_width="fill_parent"
android:layout_height="100dp"
/>

2 个答案:

答案 0 :(得分:0)

这是否必须打包到jar中,因为我看到facebook android sdk他们给出了源代码。我把它设置为一个新的android项目,并从我的android项目引用它作为库。在这种情况下,我能够访问所有暴露的apis

答案 1 :(得分:0)

您可能需要查看Android Library Projects。这些基本上是普通的android项目,可以作为库引用。这意味着您可以像平常一样定义类,布局和资源,只需在主应用程序中使用它们(在本例中为客户端应用程序),就好像它们是在同一个项目中定义的一样。这允许您像上面通过<packagename.classname ... />一样在XML中引用视图。

但是有一个巨大的缺点(在创建自定义视图时尤其重要):
styleable-resources根本不起作用。这是一个错误。 根据{{​​3}},它将在下一个devtool版本中修复。

考虑到这一点,我建议使用测试库项目设置一个小测试项目,看看你需要的所有东西是否正常工作。