android 导入别的项目或module作为library 步骤和注意点

本文详细介绍了在Android项目中导入新模块并进行AndroidX迁移的步骤,包括修改build.gradle文件、调整Manifest配置及解决常见错误的方法。

特别注意
如果主项目和要导入的项目其中已经有已升级androidX 建议全部升级androidx 不然很多到会让你放弃重来

1 选择import Module:

在这里插入图片描述

2,选择要导入的module,如果此module还依赖了其他module会在下面图片里一起显示,默认勾选

在这里插入图片描述

3 修改导入的module的build.gradle文件内容(如果它之前在项目里是主module的话)

  1. apply plugin: ‘com.android.application’
    改成
    apply plugin: ‘com.android.library’

  2. 删除defaultConfig或productFlavors里的
    applicationId
    在这里插入图片描述

  3. 删除 AndroidMenifest.xml里定义的包含android.intent.action.MAIN的 intent-filter(注意不是删除整个activity标签)
    在这里插入图片描述

4 修改导入后的项目中主module也就是app里的文件:

  1. AndroidMenifest.xml兼容android:allowBackup,android:icon
    增加 tools:replace=“android:allowBackup,android:icon”
<application
 ...
 tools:replace="android:allowBackup,android:icon">
  1. 编译时如果有AndroidMenifest报错:
    在这里插入图片描述
    找到左边报错的erro根据提示点击修改意见会自动合并.

5 当导入的modle未被系统识别到:

就是module旁边没有下图图案
在这里插入图片描述

  1. 检查这个文件 如果include 里没有这个module名称 手动添加即可
    在这里插入图片描述
  2. 检查 Project Structure 配置sdkLocation 特别NDK路径 (如果用到的话)
    在这里插入图片描述

6 其他报错

  1. Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。

Editor->File Encodings 改成相同编码试试

  1. Error:error: resource previously defined here. AAPT2 error: check logs for details
    根据报错信息查找 即使报错信息的内容是自动生成的文件
    去查找 例如 重命名textColor,名称不与系统的textColor一样即可。
    在这里插入图片描述
<declare-styleable name="xxx">
        <attr name="不能和系统属性关键字同名" format="xxx"/>
</declare-styleable>
### 在Android Studio中将一个工程作为Library Module导入步骤Android Studio中,将一个工程作为Library Module导入的过程需要遵循一系列明确的步骤。以下是详细的说明: #### 1. 打开现有项目 首先,在Android Studio中打开你希望添加Library Module的目标项目[^2]。 #### 2. 导入模块 在菜单栏中选择 `File` -> `New` -> `Import Module`。这将弹出一个对话框,提示你选择要导入的模块的根目录[^2]。 #### 3. 选择模块根目录 在弹出的对话框中,选择包含目标Library Module的根目录。通常情况下,这个目录会包含一个 `build.gradle` 文件,表明它是一个可构建的模块。 #### 4. 完成导入 击 `Finish` 按钮后,Android Studio将开始导入模块。此过程可能需要一些时间,具体取决于模块的大小复杂性。 #### 5. 修改 `settings.gradle` 确保在项目的 `settings.gradle` 文件中包含了新导入的模块。例如,如果模块名称为 `my-library`,则需要在文件中添加以下内容: ```gradle include ':my-library' ``` 这是确保Gradle能够识别并构建该模块的关键步骤[^4]。 #### 6. 添加依赖 在目标项目的 `build.gradle` 文件中,添加对新导入模块的依赖。例如: ```gradle dependencies { implementation project(path: ':my-library') } ``` 这一步确保了主项目可以使用Library Module中的代码。 #### 7. 同步项目 完成上述所有步骤后,击 `Sync Now` 按钮以同步项目配置。如果一切设置正确,项目将成功同步,并且你可以开始使用导入Library Module。 #### 8. 处理潜在问题 如果遇到编译错误依赖冲突,检查Library Module的 `build.gradle` 文件中的版本号依赖项是否与主项目兼容。必要时调整版本号以避免冲突[^5]。 ```python # 示例:调整版本号以解决冲突 android { compileSdkVersion 30 defaultConfig { minSdkVersion 16 targetSdkVersion 30 } } dependencies { implementation 'com.android.support:appcompat-v7:30.0.0' } ``` ### 注意事项 - 如果导入的是Eclipse工程,则需要先将其转换为Gradle工程再进行导入[^3]。 - 确保Library Module的 `build.gradle` 文件中没有与主项目冲突的配置项[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值