美文网首页Android开发Android开发经验谈
Android 如何将主module变为library

Android 如何将主module变为library

作者: 实例波 | 来源:发表于2018-07-28 18:40 被阅读23次

    前言

    最近在做项目的过程中,遇到了这样一个情况,上来新建了一个工程,把代码都写在了主 module 里,功能写完调通后发现,需要将这些代码变成一个 library,方便别的项目依赖,转变的过程中还是遇到了一些问题,在此总结一下。

    正文

    这里我新建的项目,主module自动命名为app,下文中就以app指代主module。

    1. 打开 app 的 build.gradle 文件
      apply plugin: 'com.android.application' 修改为 apply plugin: 'com.android.library'
    2. 仍然在 app 的 build.gradle 文件中
      去掉 applicationId "com.xxxx.xxxx.xxxx" 这一行,library 是没有 applicationId 的

    完成前两步,你的主 module 已经变成一个 library 了,但是离你真正用上它,还有一小段距离

    1. 你需要依赖这个 library
      你需要在 settings.gradle 里 include 这个 library,
      并且在新的主 module 里,compile 这个 library。
      这个时候问题来了,运行到手机上发现,桌面出现了两个图标
      很简单,只需要把 library 里清单文件中的:
      <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>

      删掉即可

    到这里基本就完成了,但是还有可能出现一些问题,比如:

    • 你的 library 里的资源文件命名和新的主 module 里的命名冲突
    • 引用的三方库版本不同
    • 使用了ButterKnife
    • 使用了switch{}语法

    这些都有可能导致问题,根据错误提示一个一个解决即可。

    结语

    下班!周末愉快!

    相关文章

      网友评论

        本文标题:Android 如何将主module变为library

        本文链接:https://www.haomeiwen.com/subject/xvzomftx.html