android - 如何使用 Gradle/Android Studio 中外部库项目的代码修改来更新导入的模块

标签 android android-studio android-gradle-plugin build.gradle

我正在开发一个 Android 应用程序,我最近从 Eclipse 迁移到了 Android Studio 和 Gradle。

在我的项目中,我创建了 5 个 UI 库,并将它们作为模块添加到我的项目中,我创建的库被推送到我的 github 帐户(公开)。

在 Eclipse 中,当您为标记为 lib 的项目添加外部依赖项时,当您更新外部项目的代码时,您会清理构建,您的项目会获得这些更新,但在 Gradle 中,我注意到它会创建物理副本,完全独立于他们的来源,我的问题是如何只更改外部库并更新我的项目。

这是我的 gradle 配置的 fragment :

dependencies {
    // Libraries
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:5.0.89'
    .
    .
    . 
    compile 'com.squareup.picasso:picasso:2.4.0'

    // Projects
    compile project(':com.shehabic.helpicon')
    .
    .
}

最佳答案

如何实际使用外部库

我读过不推荐,但它对调试很实用:

  1. 文件 > 项目结构... > 加号添加模块

  2. “创建新模块”对话框:

    • 选择“导入 .JAR/.AAR 包”
    • 找到并选择您的包裹,但在继续之前复制路径
    • 为您的包裹命名
  3. 回到“项目结构”对话框:

    • 消息“Gradle project sync in progress..”出现,但需要单击“确定”才能真正开始构建。相反,您可以继续依赖。
    • 选择“app”模块,转到DEPENDENCIES 选项卡,然后加号添加MODULE DEPENDENCY
    • 选择您的模块
    • 单击“确定”以运行构建。

这确实会在您的 android 项目中创建您的包的副本,但它还会生成所有必要的信息和文件,您可以随时删除该副本或保留它。

您的模块已添加到 settings.gradle 文件中:

':app', ':module_name'

您的模块的 build.gradle 文件已创建:

configurations.maybeCreate("default")
artifacts.add("default", file('package.jar'))

并且依赖项已添加到“:app”的 build.gradle 中:

compile project(':module_name')
  1. 现在,访问您添加的模块的 build.gradle 文件并粘贴您复制的路径:

configurations.maybeCreate("default") artifacts.add("default", file('X:\Java\Applications\YourApplication\dist\package.jar'))

无论您在何处编辑您的包,只需“清理并构建”它。 每当您希望您的应用程序从您的 android 项目外部反射(reflect)包中的“更新”时,只需同步即可。 完成调试后,您可以删除模块、依赖项和旧副本,并将包的最后构建添加为副本。

关于android - 如何使用 Gradle/Android Studio 中外部库项目的代码修改来更新导入的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26962948/

相关文章:

android - 如何在 Android 中显示联系人

java - 如何在特定条件下隐藏 toast ?

java - 何时 "native pixel object"仍将在方法 nativeRecycle() 中的 native 级别使用?

android - Kotlin 类型不匹配,需要 : x found: x?

android - Facebook SDK 出现“ANDROID_BUILD_SDK_VERSION”错误

android - 使用@ org.parceler.Parcel后,Android Studio Gradle错误

android-studio - gradle将下载的jar放在哪里?

java - 从大字符串中获取显示行

android - com.google.android.gms 版本不匹配

android - 构建时重命名的APK不运行