构建库项目

时间:2012-03-10 08:19:05

标签: android jar android-library

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

2 个答案:

答案 0 :(得分:5)

现在不可能。

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

  1. 创建一个Android库项目,包含您的源代码等 - 这是您的主项目,您将从中创建一个版本 分发的图书馆项目
  2. 编译Java源代码(例如,ant编译)并将其转换为JAR文件
  3. 创建一个分发Android库项目,具有相同的功能 资源作为主库项目,但没有源代码
  4. 将JAR文件放入分发Android库项目的libs / 目录 由此产生的分发Android库项目将拥有一切 主项目需要,只需要没有源代码。
  5. 此解决方案存在一些限制:

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

答案 1 :(得分:5)

我使用Eclipse并且从不单独手动构建我的Android库项目,但我认为官方开发指南here中所述的开发注意事项应该回答您的问题:

  

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

     

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

更新与官方发言人Library Projects引用的另一条说明:

  

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