怎样把多个Android Project打包成一个APK(你的项目怎样引用其它项目)。

怎样把多个android project 打包成一个apk呢,事实上原理是这种。一个主project引用其它的project。其它project类似于jar包一样被引用,当然和jar的引用原理有非常大的差别。以下是具体的说明。

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

库项目也是一个标准的android项目,因此你先创建一个普通的android项目。

这个项目能够起不论什么的名称。不论什么的报名,设置其它须要设置的字段等。如图1所看到的。

接着把项目设置成库项目,过程例如以下

1.在Package Explorer中, 鼠标右键项目目录,点击 Properties.

2.在Properties 窗体, 选择"Android" ,Library 属性显示在右下边.

3.把"is Library" 单选框选择上。再点击 Apply.

4.点击 OK 关闭Properties 窗体.

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

当然。java项目也能够让其变成一个库项目,很easy,运行上面的四步。

其它程序项目就能够引用库项目了。



创建manifest文件

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

比方APIDemo中的TicTacToeLib 这个样例,库项目声明了Activity GameActivity:

<span style="font-size:14px;"><manifest>
...
<application>
...
<activity android:name="GameActivity" />
...
</application>
</manifest></span>

引用库项目

假设你开发的应用程序想要包含库项目中的代码和资源,很easy。引用过程例如以下

  1. Package Explorer中, 鼠标右键项目目录,点击 Properties.
  2. Properties 窗体, 选择"Android" ,Library 属性显示在右下边.
  3. 点击Add ,打开了Project Selection 对话框.
  4. 从可用库项目列表选择一个项目,然后点击 OK.
  5. 对话框关闭之后点击 Apply (在Properties 窗体).
  6. 点击 OK 关闭Properties 窗体.

完毕以上六步,Eclipse 会重建项目。把库项目中的内容包括进去。 如图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>


怎样把多个Android Project打包成一个APK的更多相关文章

  1. [UE4]安卓打包成一个apk

    勾上就可以了

  2. 将java project打包成jar包,web project 打包成war包的几种演示 此博文包含图片

    转: http://blog.csdn.net/christine_ruan/article/details/7491559 http://developer.51cto.com/art/200907 ...

  3. ant:如何用ant将web project打包成war包

    说明:src中的文件将不会呈现出来,诸位可以自己写一个简单的web项目,然后依照我所提供的ant脚本配置来设置. 文件结构如图所示:               配置为下: build.xml < ...

  4. 将java project打包成jar包,web project 打包成war包的几种演示

    将java项目打包成jar 第一种:MyEclipse将java项目打包成jar. 1,右击项目,选择export . 2,点击Java,选择JAR file . 3,在JAR file文本中浏览打包 ...

  5. 将多个jar包重新打包成一个jar包

    我介绍的方法是使用java命令来操作的,所以首先的安装jdk,这个就自己搞定吧. 提取jar包 为了将多个jar包打包成一个jar包,首先要将每个jar包的内容提取出来放到一个文件夹下,具体的操作命令 ...

  6. 【Maven jar】打包单个或多个文件,有依赖jar包的将架包一起打包成一个jar包供别的项目引用

    之前有一片文章,是打包单个java文件的.这次想要将http://www.cnblogs.com/sxdcgaq8080/p/8398780.html  打包成jar包,发现这个java文件中引用了多 ...

  7. 如何将Debug文件夹下的资源打包成一个EXE文件直接执行

    前言:前段时间写了个小程序,想分享给好友看看,可所以资源都放在Debug文件夹下,整个文件夹发给人家这也太……,为了显得稍微专业一点,想把它们打包一个EXE文件执行,因为我见到到这样的程序,直接一个E ...

  8. 用py2exe打包成一个exe文件

    用py2exe打包成一个exe文件 http://blog.csdn.net/franktan2010/article/details/46514607

  9. winform把所有dll打包成一个exe

    大家都知道做winform开发,是可以利用visual studio进行打包的,但是这种打包的方式需要双击安装,那么有没有什么方法,可以把winform程序打包成绿色版呢?当然,这里的“绿色版”也是相 ...

随机推荐

  1. 为Anaconda添加新的源

    为Anaconda添加新的源 在cmd中输入以下内容即可, 清华的源,速度非常快 conda config --add channels https://mirrors.tuna.tsinghua.e ...

  2. 硅谷和国内的 iOS 开发到底有何不同?

    前段时间在国内各大互联网公司转了一圈.与各位 iOS 业界大佬交流了之后,深感国内变化之大,敬佩诸位国内开发者的实力和韧劲.除此之外,我还发现硅谷和国内的 iOS 开发还是差别很大,且听我慢慢道来. ...

  3. [luoguP2336] [SCOI2012]喵星球上的点名(后缀数组 + 暴力)

    传送门 原本的想法是把所有的串不管是名字还是询问都连起来,记录一下询问串在sa数组中的位置 对于每个询问可以在sa数组中二分出左右边界,第一问用莫队,第二问差分乱搞. 结果发现我差分的思路想错了,先写 ...

  4. Cannot open include file: 'initializer_list': No such file or directory

    Cannot open include file: 'initializer_list': No such file or directory今天使用VS2012编译一个项目的时候,遇到了这个问题,上 ...

  5. Process类,Thread类,Pool类,gevent类,ProcessPoolExecutor,ThreadPoolExecutor的用法比较

    一 Process类 multiprocessing模块下的一个类 创建子进程. 有两种方法 方法一 from multiprocessing import Process import os def ...

  6. 标准C程序设计七---32

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  7. LeetCode OJ--Triangle **

    https://oj.leetcode.com/problems/triangle/ 一个三角形,类似于杨辉三角的形状,求从上到下最小的路径和,但走每一步都得是相邻的. 动态规划,从下到上一层层来. ...

  8. vsCode 开发微信小程序插件

    用 vsCode 开发微信小程序可以配置以下插件,让开发更美好: 1. vscode weapp api 2. vscode wxml 3. vscode-wechat 4. Easy WXLESS ...

  9. String()和.toString()的区别

    一.相同点:都可以转为字符串类型: 二.不同点: 1..toString() :null.toString()和undefined.toString() 程序报错误; 2..toString(): . ...

  10. PythonWeb开发教程(二),搭建第一个django项目

    这篇写怎么创建django项目,以及把django项目运行起来. 1.创建django项目 a.使用命令创建,安装完django之后就有django-admin命令了,执行命令创建即可,命令如下:   ...