多个project打包成一个apk
来源:互联网 发布:矩阵奇异值分解的意义 编辑:程序博客网 时间:2024/05/16 15:00
1. 将一个project作为主project,其他的project均设置为library,安装完成后会只显示一个app。
第一步,把普通的android project设置成库项目
库项目也是一个标准的android项目,因此你先创建一个普通的android项目。 这个项目可以起任何的名称,任何的报名,设置其他需要设置的字段等,如图1所示。
接着把项目设置成库项目,步骤如下
- 在Package Explorer中, 鼠标右键项目文件夹,点击 Properties.
- 在Properties 窗口, 选择"Android" ,Library 属性显示在右下边.
- 把"is Library" 单选框选择上,再点击 Apply.
- 点击 OK 关闭Properties 窗口.
这时,这个项目就变成库项目了。
当然,java项目也可以让其变成一个库项目,非常简单,执行上面的四步。其他程序项目就可以引用库项目了。
创建manifest文件
一个库项目的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所示
如果你想增加多个库项目的引用,使用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>
For more information about the manifest file, see the documentation for AndroidManifest.xml.
转自: http://blog.csdn.net/com360/article/details/7234135
2. 将源码放到一块,设置AndroidManifest.xml.如下:
< ?xml version="1.0" encoding="utf-8"? >
< manifest xmlns:android="http://schemas.android.com/apk/res/android";
package="com.foobar"
android:versionCode="1"
android:versionName="1.0" >
< application android:icon="@drawable/icon" android:label="Foobar" >
< activity android:name=".Foobar1" android:label="Foobar1" android:taskAffinity=".Foobar1" >
< intent-filter >
< action android:name="android.intent.action.MAIN"/ >
< category
android:name="android.intent.category.LAUNCHER"/ >
< /intent-filter >
< /activity >
< activity android:name=".Foobar2" android:label="Foobar2" android:taskAffinity=".Foobar2" >
< intent-filter >
< action android:name="android.intent.action.MAIN"/ >
< category
android:name="android.intent.category.LAUNCHER"/ >
< /intent-filter >
< /activity >
< /application >
< uses-sdk android:minSdkVersion="3"/ >
< /manifest >
叫几个project中的主Activity 都响应 Main Intent, 注意红字部分关于 taskAffinity 的设置 。
该方法设置完成后,每个app都会显示一个图标。
转自: http://www.zhihu.com/question/19688278
- 多个project打包成一个apk
- 如何把多个Android Project打包成一个APK
- 如何把多个Android Project打包成一个APK
- 如何把多个android project打包成一个apk(你的项目如何引用其他项目)
- Android一个项目打包N个APK
- 两个apk打包成一个apk发布
- Android 开发中,如何将多个程序打包成一个apk文件,但是安装完成后显示多个程序?
- 关于多个apk打包一起安装
- Android Studio 一个工程打包多个不同包名的APK
- 转载将多个工程打包成一个apk
- 一个apk多个icon
- 【Android实测】多个apk类似-多渠道共存打包
- Android Studio 打包多个APK对应不同API
- Android 一个apk多个入口
- 一个apk多个icon入口
- Android一个apk多个入口
- 通过Ant将Android project编译打包成APK文件并安装到手机
- 在eclipse android project打包成Apk文件 android 安装程序
- android binder机制Bp端对象理解
- 【LeetCode】 Linked List Cycle II
- 查看和设置rpm的默认安装路径
- ALAssetsLibrary获取所有图片
- 学习收集地址
- 多个project打包成一个apk
- virtualbox 复制ubuntu操作系统之后不能上网的解决办法
- java自学笔记之多线程
- 收集进程执行信息
- Linux如何查看mount的源路径?
- Js获取当前日期时间及其它操作
- Learn How to Develop Android Application
- js 获得地址栏参数
- 我的学习笔记02-Android下利用Jsoup从工行网页提取白银价格到自己的app