我正在为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"
/>
答案 0 :(得分:0)
这是否必须打包到jar中,因为我看到facebook android sdk他们给出了源代码。我把它设置为一个新的android项目,并从我的android项目引用它作为库。在这种情况下,我能够访问所有暴露的apis
答案 1 :(得分:0)
您可能需要查看Android Library Projects。这些基本上是普通的android项目,可以作为库引用。这意味着您可以像平常一样定义类,布局和资源,只需在主应用程序中使用它们(在本例中为客户端应用程序),就好像它们是在同一个项目中定义的一样。这允许您像上面通过<packagename.classname ... />
一样在XML中引用视图。
但是有一个巨大的缺点(在创建自定义视图时尤其重要):
styleable-resources根本不起作用。这是一个错误。
根据{{3}},它将在下一个devtool版本中修复。
考虑到这一点,我建议使用测试库项目设置一个小测试项目,看看你需要的所有东西是否正常工作。