读书人

Android工程依赖:android中打包带有A

发布时间: 2013-12-15 22:17:18 作者: rapoo

Android工程依赖:android中打包含有Activity以及资源文件的jar包在工程中调用
Library属性显示在右下边.

  • 把"is Library" 单选框选择上,再点击?Apply.
  • 点击?OK?关闭Properties?窗口.

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

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

    Android工程依赖:android中打包带有Activity以及资源文件的jar包在工程中调用

    ? ? 图 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所示

    Android工程依赖:android中打包带有Activity以及资源文件的jar包在工程中调用

    ? ? ? 图 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.

    ?

    ? ? ?例子参见android-SDK下的\android-sdk\samples\android-x下的两个例子工程:TicTacToeLib和TicTacToeMain。可以看见两个工程下的project.properties文件。

    ?

    ? ? 库工程TicTacToeLib的:

    ? ? ?android.library=true

    ? ? ?target=android-3

    ?

    ? ? ?主工程TicTacToeMain的:

    ? android.library.reference.1=../TicTacToeLib/

    ? target=android-8

    ?

    ??可以参考SDK下的自带的例子,很好的学习库::\android-sdk\samples\... 真是一个大的宝库

    ? ??

    ?

  • 读书人网 >Android

    热点推荐