研究如何将资源以及activity文件大包成jar文件供项目调用,走了很多弯路,也尝试了各类不一样方式,都不太理想,最终仍是从android的官方文档中找到了完美的解决,这里作一个总结。
最近刚刚发布了一款小应用《诗词大全》,有兴趣的朋友请实用提出您的宝贵意见,谢谢html
这篇博文内容是结合android 开发文档的翻译以及我的在开发过程当中的具体状况的一个总结
库项目也是一个标准的android项目,所以你先建立一个普通的android项目。 这个项目能够起任何的名称,任何的报名,设置其余须要设置的字段等,如图1所示。java
接着把项目设置成库项目,步骤以下android
在Package Explorer中, 鼠标右键项目文件夹,点击 Properties.app
在Properties 窗口, 选择"Android" ,Library属性显示在右下边.ide
把"is Library" 单选框选择上,再点击 Apply.工具
点击 OK 关闭Properties 窗口.ui
这时,这个项目就变成库项目了。spa
固然,java项目也可让其变成一个库项目,很是简单,执行上面的四步。其余程序项目就能够引用库项目了。翻译
图 1.使一个项目为库项目code
一个库项目的manifest文件也和标准的android应用程序同样,声明全部共享的组件。
好比APIDemo中的TicTacToeLib 这个例子,库项目声明了Activity GameActivity
:
<manifest> ... <application> ... <activity android:name="GameActivity" /> ... </application> </manifest>
若是你开发的应用程序想要包括库项目中的代码和资源,很是简单,引用步骤以下
在Package Explorer中, 鼠标右键项目文件夹,点击 Properties.
在Properties 窗口, 选择"Android" ,Library属性显示在右下边.
点击Add ,打开了Project Selection对话框.
从可用库项目列表选择一个项目,而后点击 OK.
对话框关闭以后点击 Apply (在Properties窗口).
点击 OK 关闭Properties 窗口.
完成以上六步,Eclipse 会重建项目,把库项目中的内容包含进去。 如图2所示
图 2.让项目引用一个库项目
若是你想增长多个库项目的引用,使用up和down能够设置他们的相对的优先级和合并顺序。工具在合并引用的库的时候顺序是从低优先级(列表的下面)到高优先级(列表的上面)。 若是不仅一个库定义了相同的资源ID,这个工具选择资源时会选择高优先级的资源。应用程序自身拥有最高的优先级,自身的资源zThe application itself has highest priority and its resources are always used in preference to identical resource IDs defined in libraries.
在menifest文件中声明库中的组件
在manifest文件中必须增长对在当前程序中用到的库项目中的全部的组件。好比,你必须声明任何用到的 <activity>, <service>, <receiver>, <provider>等,<permission>, <uses-library>,和其余相似的元素。
声明库项目中的组件时,必须使用包含包名的类全名。
在TicTacToeMain例子中,声明库Activity GameActivity :
<manifest> ... <application> ... <activity android:name="com.example.android.tictactoe.library.GameActivity" /> ... </application> </manifest>
须要了解更多关于androidManifest的信息请参阅 AndroidManifest.xml.