簡體   English   中英

如何通過Gradle / Android Studio中的外部庫項目修改導入的模塊並修改代碼

[英]How to update imported modules with code modification from the their external library project in Gradle/Android Studio

我正在開發一個Android應用程序,我最近從Eclipse遷移到Android Studio和Gradle。

在我的預測中,我創建了5個UI Libs,並將它們作為模塊添加到我的項目中,我創建的庫被推送到我的github帳戶(公開)。

在eclipse中為標記為lib的項目添加外部依賴項時,當您更新外部項目的代碼然后清理構建時,您的項目會獲得這些更新,但在Gradle中我注意到它創建了物理副本,完全獨立於其源,我的問題是如何只更改外部庫並更新我的項目。

這是從我的gradle的配置剪切:

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. 文件>項目結構...> PLUS標志添加模塊

  2. “創建新模塊”對話框:

    • 選擇“導入.JAR / .AAR包”
    • 查找並選擇您的包,但在繼續之前復制路徑
    • 為您的包裹命名
  3. 返回“項目結構”對話框:

    • 出現“正在進行Gradle項目同步...”消息,但是單擊“確定”以使構建實際啟動。 相反,您可以繼續使用依賴項。
    • 選擇“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項目外部反映包中的“更新”時,只需同步即可。 完成調試后,可以刪除模塊,依賴項和舊副本,並將包的最后一個版本作為副本添加。

您不能將外部庫添加為模塊。 它將在項目文件夾下復制它。

你要做的是:

1)刪除當前項目中的庫文件夾。 2)打開'seeting.gradle'文件並添加以下內容:

include ':your_external_library_module_name', ':perhaps_second_external_library'

project (':your_external_library_module_name').projectDir = new File('../path/to/your/external/library')
project (':perhaps_second_external_library').projectDir = new File('../path/to/your/second/external/library')

2)在'build.gradle'文件中添加依賴關系:

dependencies {
    compile project(':your_external_library_module_name')
    compile project(':perhaps_second_external_library')
}

3)同步項目,你就完成了。

請勿使用Studio的“打開模塊設置”添加模塊。

只需在子應用程序的構建gradle中添加庫的AAR文件的完整路徑:

實現文件('/ workspace / AndroidAppsBase / base_app / build / outputs / aar / base_app-debug.aar')

當您對庫項目進行更改並重建項目時,將創建一個新的.aar文件。 要反映子項目中的更改,只需重建它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM