0
点赞
收藏
分享

微信扫一扫

Android中打包含有Activity以及资源文件的jar包在工程中调用


如何将资源以及activity文件打包成jar文件供项目调用,从android的官方文档中找到的完美的解决,这里做一个总结。

最近刚刚发布了一款小应用《诗词大全》,有兴趣的朋友请实用提出您的宝贵意见,谢谢

这篇博文内容是结合android 开发文档的翻译以及个人在开发过程中的具体情况的一个总结

第一步,把普通的android project设置成库项目

库项目也是一个标准的android项目,因此你先创建一个普通的android项目。 这个项目可以起任何的名称,任何的报名,设置其他需要设置的字段等,如图1所示。

接着把项目设置成库项目,步骤如下

  1. Package Explorer中, 鼠标右键项目文件夹,点击 Properties.
  2. Properties 窗口, 选择"Android" ,Library
  3. Apply.
  4. OK 关闭Properties

这时,这个项目就变成库项目了。

当然,java项目也可以让其变成一个库项目,非常简单,执行上面的四步。其他程序项目就可以引用库项目了。


图 1.使一个项目为库项目

创建manifest文件

一个库项目的manifest文件也和标准的android应用程序一样,声明所有共享的组件。

比如APIDemo中的TicTacToeLib 这个例子,库项目声明了Activity ​​GameActivity​​:


<manifest> ... <application> ... <activity android:name="GameActivity" /> ... </application></manifest>


第二步 引用库项目

如果你开发的应用程序想要包括库项目中的代码和资源,非常简单,引用步骤如下

  1. Package Explorer中, 鼠标右键项目文件夹,点击 Properties.
  2. Properties 窗口, 选择"Android" ,Library
  3. Add ,打开了Project Selection
  4. OK.
  5. Apply (在Properties
  6. 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.

举报

相关推荐

0 条评论