构建库项目

Rom*_*ack 3 android jar android-library

所有.我已经创建了一个android库项目,当我从主项目中引用它时,它的工作正常.但是当我分开构建库项目时,它不包含R.java和资源.有没有办法用资源和R.java构建一个库项目?

Rom*_*ack 5

现在不可能.

现在我们可以通过以下步骤创建一个仅二进制库项目:

  1. 创建一个Android库项目,包含您的源代码等 - 这是您的主项目,您将从中创建一个用于分发的库项目版本
  2. 编译Java源代码(例如,ant编译)并将其转换为JAR文件
  3. 创建一个分发Android库项目,使用与主库项目相同的资源,但没有源代码
  4. 将JAR文件放在分发Android库项目的libs /目录中生成的分发Android库项目将包含主项目所需的所有内容,只是没有源代码.

此解决方案有一些限制:

  1. 我们仍然需要运送资源.
  2. 我们必须重写代码以避免使用R.值,因为它们是错误的.我们必须使用getResources().getIdentifier()和/或反射来查找所有资源ID.


yor*_*rkw 5

我使用Eclipse,从来没有手动独立建立自己的Android库项目,但我认为发展考虑官方开发指南说这里应该回答你的问题:

每个库项目都创建自己的R类

构建依赖的应用程序项目时,库项目将与应用程序项目一起编译和合并.每个库都有自己的R类,根据库的包名命名.从主项目和库项目生成的R类在所有需要的包中创建,包括主项目的包和库的包.

更新与官方开发图书馆项目引用的另一个说明:

但是,库项目与标准Android应用程序项目的不同之处在于,您无法将其直接编译为自己的.apk并在Android设备上运行它.同样,您无法将库项目导出到自包含的JAR文件,就像对真正的库一样.相反,您必须通过引用依赖应用程序中的库并构建该应用程序来间接编译库.