如何在包中分发android可重用代码?

Vas*_*asu 6 android jar

我开发了一些可重用的android组件,它基本上是一个类.这个类有一些资源依赖,例如一些png drawable,一些xml布局等等.所以这个类引用了自动生成的R文件.我想将这个代码分发到一个像jar文件这样的包给其他开发人员,以便在他们的应用程序中使用.

我已经读过,唯一可行的解​​决方案是将代码与我的所有资源一起分发,其他人必须将其复制到"res"文件夹().

所以我创建了一个jar文件,其中包含类文件(比如包中的MyClass com.xyz.android.app)和资源,并尝试在我的新应用程序中使用它.

所以我使用add external jarseclipse中的选项将jar文件添加到我的新应用程序构建路径中,并将所有资源复制到我的新应用程序的res文件夹中.(活动类说我的新应用程序的MainActivity是在com.abc.myapplication包中,只是在它可能有帮助的情况下)

但是当我运行这个新的应用程序java.lang.ClassCastException时,MyClass类就存在了.我试图调试应用程序,然后我发现在MyClass类中,存在"R无法解决"的问题.

然后我将MainActivity的包更改为com.xyz.android.app(这不是方式,其他开发人员将很乐意这样做),但同样的问题.

但是,当我只复制源java文件,使MainActivity.java和MyClass.java都在com.xyz.android.app包中时,应用程序运行正常.

因此,如果我需要分发其他用户不需要打扰这些包命名的东西,我该如何实现呢?请帮忙 !!

编辑

在android.jar中,也有一些资源.它们如何在项目中引用?它们如何在android类中使用?还有android.R文件?

是不是可以做同样的事情,即为我的可重用代码制作像android.jar这样的jar文件?

Com*_*are 3

正如 Nic Strong 指出的那样,该项目没有内置任何内容来管理此问题,目前的迹象表明,即将对 SDK 工具进行的更改可能只会起到一点帮助。

我正在组织一些其他工具来帮助解决这个问题。我希望几天后发布开发人员文档。