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

研究如何将资源以及activity文件大包成jar文件供项目调用,走了不少弯路,也尝试了各种不同方式,都不太理想,最终还是从android的官方文档中找到了完美的解决,这里做一个总结。

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

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

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

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

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

  1. Package Explorer中, 鼠标右键项目文件夹,点击 Properties.
  2. Properties 窗口, 选择"Android" ,Library属性显示在右下边.
  3. 把"is Library" 单选框选择上,再点击 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.

时间: 2024-10-13 05:44:03

android中打包含有Activity以及资源文件的jar包在工程中调用的相关文章

Android 使用系统的Activity播放音频文件 intent

Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/sdcard/record.wav")), "audio"); startActivity(intent); 这里可以播放wav.amr.MP3等

在.NET中读取嵌入和使用资源文件的方法

转http://www.jb51.net/article/84660.htm 本文分别介绍了使用GetManifestResourceStream读取嵌入资源,和使用. resx资源文件嵌入资源,希望对大家有所帮助. Dotnet中嵌入资源(位图.图标或光标等)有两种方式,一是直接把资源文件加入到项目,作为嵌入资源,在代码中通过Assembly的GetManifestResourceStream方法获取资源的Stream.另一种方法是在项目中加入. resx资源文件,在资源文件中添加资源,由Re

从指定的路径中查找含有特殊字符串的文件

import java.io.*;import java.util.*;import java.util.concurrent.*;public class SearchFile{    public static void main(String ... strings)    {        final int FILE_Queue_SIZE = 10;        final int SEARCH_THREADS = 100;        Scanner in = new Scann

如何打包成多个资源文件

九:如何打包成多个资源文件 我们在开发页面的时候,有时候需要有多个入口文件,做到文件是按需加载,这样就可以使用缓存提升性能:那么我们接下来需要如何配置呢?现在我们继续做demo,现在比如我现在的项目文件结构如下: 我们直接看 webpack.config.js配置代码变成如下: module.exports = { entry: { "main": "./src/main.js", "index": "./src/index.js&qu

檢查php文件中是否含有bom的php文件

原文链接: http://www.cnblogs.com/Athrun/archive/2010/05/27/1745464.html 另一篇文章:<关于bom.php>,http://hi.baidu.com/aullik5/blog/item/f0e589127a28a2f0f7039e5e.html 另一篇文章:<[BOM]PHP程序的UTF8神秘编码问题之解>,http://www.mlecms.com/tech/56.html 类似WINDOWS自带的记事本等软件,在保存

关于安卓工程导出带res资源文件的jar的总结

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 29.0px; font: 16.0px "Microsoft YaHei"; color: #323333 } span.s1 { } 1.打包时,将资源放在asset文件夹内,通过AssetsManager获取指定资源: 目标应用和jar中的assets文件夹会合并,所以可以通过获取该应用的此类文件夹来获取目标资源 2.使用library项目 此类方法不能混淆代码,也就是说发布

nios ii 建立库文件,并在新工程中被调用

选择Nios II Library 选择location,这样的话库文件时独立的,而如果选择 Make library depend on a BSP的话会依赖BSP,如果BSP被删除了那新工程编译时会报错. 添加c源文件和h头文件 然后build project 然后新建工程: file->Nios II Application and BSP from Template 然后在工程中添加库文件的搜索路径: 右击工程文件—>properties->展开Nios II Applicati

将properties文件放在Jar包并读取

有时候需要在一个library内部打包一个properties文件,包含一些配置信息,而不能部署在外部. 在maven工程里面,将properties文件放在src/main/resources目录下.就会自动打包到classes目录下. 然后在jar包的代码中想要读取这个文件,可以用类似下面的代码: [java] view plaincopyprint? public class Client { private final static String NAME = "engine.prope

.bat文件和Jar包的生成及运行

.bat文件和Jar包的生成及运行 1.Jar包简单介绍 Jar包是Java中所特有的一种压缩文档,有点类似于zip包,区别在于Jar包中有一个META-INF\MANIFEST.MF文件(在生成Jar包的过程中会自动创建,具体的后面会进行讲解). Jar包是由JDK安装目录\bin\jar.exe命令生成的,若已成功将其路径设置在系统环境变量中,就可以在CMD中直接使用jar.exe命令了,而它会调用lib\tool.jar工具包中的类. 2.Jar包常用命令 Jar包生成命令格式:jar