需求
有两个项目A、B。两个项目相互独立,功能业务逻辑均不同。现在需要实现将两个项目整合成一个,打包出一个apk文件,安装也是只安装一个App的过程,展示上也是只展示为主项目A的App,通过主项目A的某个按钮跳转,启动项目B,然后执行项目B的业务逻辑。直到B项目退出,又回到A项目。
方案

  1. 将B项目设置成Library类型的项目。B项目右键–Buidle Path–Android 勾选 Is Library。
  2. 项目A中将B项目加入进来,也是A项目右键–Buidle Path–Android界面中。
  3. 由于项目B设置成了Is Library后导入到A项目中,但是项目的配置文件却无法跟着导入进去,所以需要将B项目的AndroidManifest.xml的配置信息统一整合到A项目的AndroidManifest中。将B项目的权限要求、Server、Activity的申明都整合到A项目的配置文件中。对于在B中申明的形式如“android:name=”.NotificationService””需要改为带上B项目的包命“android:name=”com.drainemer.server.NotificationService””。

    总结:配置到该程度即已经完成了。在实现过程中,会出现很多问题与冲突。需要一一解决后即可实现项目的整合。

错误一:项目报存在两个V4包或者V7包错误,这是两个整合的项目都有相同的V4或者V7包,删除一份即可。

错误二:B中有使用R.id,当A工程引用了B工程时会在A工程的gen目录中生成B的R文件,里面也包含了A的R文件中的内容,但是当B的id定义在layout文件中时需要注意layout的名称,如果A下有个main.xml的layout,B下也有个main.xml的layout,那么A编译时就会将B的main.xml中的所有id忽略,导致混淆报错提示找不到id。所有问题出在,被引用的项目和当前项目之间的资源冲突。假如当前项目存在与被引用项目相同的资源(除了layout外,还包括图片,styles等等)就会默认使用当前项目的资源,完全忽略被引用项目的资源。

更多相关文章

  1. Android用户空间的处理及移植需要注意的情况
  2. Android菜单详解(五)——使用XML生成菜单
  3. Android(安卓)提示Your project contains error(s),please fix t
  4. Android手机软件汉化教程---第二课 arsc文件汉化
  5. 【android】使用android-resource-remover删除项目中无用的资源,
  6. Android(安卓)zip文件中读取图片实现Gallery放大缩小,移动,图片弹
  7. android 性能分析(优化)-利用AOP技术,字节码方法插桩,实现 android
  8. 原有Android项目集成RN入坑计(一)
  9. android/c++ opencv 攻坚篇(一) ndk运行环境搭建

随机推荐

  1. Android(安卓)-SharedPreferences
  2. 【Android】各式各样的弹出框与对菜单键
  3. Android:Samsung Android devices resolu
  4. Android崩溃日志-混淆前后映射表
  5. Android下滑条ScrollView
  6. Android之Fragment界面布局实例
  7. 【Android Studio】Resource Merging资源
  8. Android中自定义Dialog
  9. ch08 Android Intent
  10. Android(安卓)仿美团网,大众点评购买框悬