如何将项目转换为库项目 - 然后使用它

时间:2013-07-05 16:12:44

标签: android

我已经在Google Play上使用了一个完整的应用程序已有好几个月了。

我通过编辑/取消编辑来制作许多不同的版本,但要明白这样做的正确方法是将您的应用转换为库项目,然后拥有各种不同的项目/清单文件,然后包含图书馆。

我知道我可以去属性/ android并点击“is library”将我现有的项目变成一个库,但那么我的新“包装”项目会是什么样子?是否有一篇很好的在线文章描述了这个过程?

编辑:为了清楚起见,我的问题不是“如何制作图书馆项目”(我想我已经将其排序),我的问题是“项目是什么除了执行库看起来什么都没做?“......它会包含任何.java文件吗?

2 个答案:

答案 0 :(得分:0)

这篇文章展示了如何使用优秀的教程AndroidLibraryProjects

创建图书馆项目的基础知识

我们有Android文档,其中提到了在创建库项目时应该记住的约束,这里是链接Android Library Project doc

答案 1 :(得分:0)

结合猜测和实验,我最终得到了以下食谱......

第一步,清除原始项目清单中的内容,以便最终简化为:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mycompany.mylibraryname"
    android:versionCode="1"
    android:versionName="1.00" >

</manifest>

然后在properties-android中,勾选“Is Library”,然后构建新的库项目。

步骤2,要求eclipse制作一个新的Android应用程序项目,但取消选中create activity。

步骤3.在新项目中转到属性 - android并在“库”框中选择“添加”,您现在应该可以选择原始项目作为库。

步骤4.现在粘贴您从原始项目中获取的清单的内容,并将它们粘贴到新清单的主体中。

现在只需点击“运行 - 无其他任何内容即可添加。”

需要注意的事项。如果原始项目有资产(如字体),请将这些资源复制到新项目,因为它们似乎无法从库中访问。

您的库对资源ID的引用不再是简单的常量,因此在switch-case语句中不允许它们(转换为if-then-else)。

如果您在清单中有引用,例如:android:name=".my_class",则需要将这些引用更改为全名,如android:name="com.company.mylibraryname.my_class"