已经有一个 Android工程 A 。现在的工程 B 中 需要集成A工程作为一个模块。
怎么样实现?

首先我想 B工程中能否直接包含 A的apk文件, 发现不可行。
然后 想到 用jar包的方式,
1将A工程 的src文件夹下面所有的内容 导出 jar包。
2保留reg下的图片,xml 等资源文件, 还有 AndroidManifest.xml 的内容。
3将A工程的jiar包导入到B工程中,reg中的文件放到相应的文件夹下面。 AndroidManifest里面的Activity复制到B的对应文件。

这个时候存在两个工程 包名 不相同的情况,容易出错, 最好两个工程保持一致。


这样完成了 B 工程 对 A工程的集成。


另外: 查了一些相关的信息。
如果 AB 两个 APK 独立安装到 手机上。AB之间怎么交互可以通过Intent实现。

如下 是在B 工程中 启动 A工程中指定的 Activity 的方法。
Intent toAnother = new Intent("android.intent.action.MAIN");
toAnother.addCategory("android.intent.category.LAUNCHER");
toAnother.addCategory("android.com.androidjar");
// “android.com.androidjar” 为A工程中Activity属性里配置的 gategory name
List<ResolveInfo> toActivityList=getPackageManager()
.queryIntentActivities(toAnother, 0);

ResolveInfo anotherProgectActivity = toActivityList.get(0);//如果找不到对应的的ActivityName这里会数组越界
toAnother = new Intent().setClassName(anotherProgectActivity.activityInfo.packageName,
anotherProgectActivity.activityInfo.name);
startActivity(toAnother);

完毕 !

另外 还可以 通过 Intent 的 search 找到 指定 的 Activiy

  • Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
  • intent.putExtra(SearchManager.QUERY,"searchString")

//searchString为要启动的 Activity Name
3. startActivity(intent);

更多相关文章

  1. 长聚微嵌 DMA-210U Android(安卓)入门第一天------烧写uboot、ke
  2. Android中导入工程出现Project has no default.properties file!
  3. Android(安卓)利用Java实现压缩与解压缩(zip、gzip)支持中文路径
  4. Android学习札记21:Android中App工程结构的搭建
  5. [置顶] Android(安卓)Studio Lint 自动检查清除冗余资源
  6. android 开发 socket发送会有部分乱码,串码,伴随着数据接收不完整
  7. 如何使用android的ndk建立native的开发环境
  8. Android对View进行截图并保存到本地相册
  9. 关于.jks和.keystore文件互相转换问题

随机推荐

  1. 解析ANDROID ps命令执行后各项参数的含义
  2. [Android] 该文件包与具有同一名称的现有
  3. 开发可统计单词个数的Android驱动程序(1)
  4. OpenCV4 --Android(安卓)环境配置【详细
  5. Android日志系统Logcat源代码简要分析
  6. Android开发者的演示工具——asm.jar
  7. Android(安卓)lint 删除无用图片文件和配
  8. Android外派(安卓外派) — 长年提供安卓开
  9. Android的Activity屏幕切换动画(一)-左右
  10. android 笔记 --- 自定义Android主题风格