[android-studio] 如何在Android Studio中創建庫項目以及使用庫項目的應用程序項目



Answers

我想知道為什麼沒有獨立的jar項目的例子。

在eclipse中,我們只需在項目設置對話框中選中“Is Library”框。
在Android工作室中,我按照這個步驟獲得了一個jar文件。

  1. 創建一個項目。

  2. 打開左側項目菜單中的文件(app / build.gradle): Gradle腳本> build.gradle(模塊:XXX)

  3. 更改一行: apply plugin: 'com.android.application' - > 'apply plugin: com.android.library'

  4. 刪除文件中的applicationId "com.mycompany.testproject"applicationId "com.mycompany.testproject"

  5. 構建項目: 構建>重建項目

  6. 那麼你可以得到aar文件: app> build> outputs> aar文件夾

  7. aar文件擴展名改為zip

  8. 解壓縮,你可以在文件夾中看到classes.jar 。 重命名並使用它!

無論如何,我不知道為什麼谷歌在Android工作室使jar創建非常麻煩。

Question

我不熟悉Gradle構建系統和IntelliJ。

那麼,我該如何創建一個Android庫項目(例如com.myapp.lib1)和應用程序項目(例如com.myapp.app),並使該構建系統在應用程序項目中包含com.myapp.lib1?

我去了項目結構 - >模塊 - >我的應用程序項目,並添加了一個依賴項的lib項目。 在應用程序項目中使用IntelliJ現在可以識別lib項目中的類,但是當我運行應用程序項目時,會出現如下錯誤:

Gradle: error: package com.myapp.lib1 does not exist



正如上面的捷克評論,我嘗試搜索關於Gradle Build Varians,並且我找到了這個鏈接: http://code.tutsplus.com/tutorials/using-gradle-build-variants--cms-25005 ://code.tutsplus.com/tutorials/using-gradle-build-variants--cms-25005這是一個非常簡單的解決方案。 這是我做的: - 在build.gradle:

flavorDimensions "version"

productFlavors {
    trial{
        applicationId "org.de_studio.recentappswitcher.trial"
        flavorDimension "version"
    }
    pro{
        applicationId "org.de_studio.recentappswitcher.pro"
        flavorDimension "version"
    }

}

然後我有兩個版本的我的應用程序:親和試用2 diffrent packageName這是在上面的代碼中的2 applicationId,所以我可以上傳到谷歌播放。 我仍然只是在“main”部分編碼並使用getpackageName在版本之間切換。 只需到我提供的鏈接細節。




在我的情況下,使用MAC OS X 10.11和Android 2.0,並且完全按照Aqib Mumtaz的解釋。

但是,每次我都會收到以下消息:“ 配置項目時發生問題”:app'。>無法評估模塊xxx:未找到名稱為“default”的配置

我發現這個消息的原因是Android 2.0不允許直接創建庫。 所以,我決定先創建一個應用程序projet,然後修改build.gradle以將其轉換為庫。

此解決方案不起作用,因為庫項目與應用程序項目非常不同。

所以,我已經解決了我的問題,如下所示:

  • 首先創建一個標準的應用程序(如果需要);
  • 然後選擇“文件/創建模塊”
  • 轉到查找器並移動剛剛在框架目錄中創建的模塊的文件夾

然後繼續Aqib Mumtaz提出的解決方案。

因此,您的圖書館資源將被共享,無需每次都複製源文件(這對我來說是一個異端!)

希望這可以幫助你。







不要忘記在build.gradle使用apply plugin: 'com.android.library' ,而不是應用插件: 'com.android.application'




查看關於多項目設置的鏈接

有些事情要指出,確保你有你的settings.gradle更新引用應用程序和庫模塊。

settings.gradle: include ':app', ':libraries:lib1', ':libraries:lib2'

另外請確保應用程序的build.gradle具有以下內容:

dependencies {
     compile project(':libraries:lib1')
}

你應該有以下結構:

 MyProject/
  | settings.gradle
  + app/
    | build.gradle
  + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle

應用程序的build.gradle應該使用com.android.application插件,而任何庫的build.gradle應該使用com.android.library插件。

如果您可以使用此設置從命令行構建,那麼Android Studio IDE應該更新。




創建重用圖書館項目的最簡單方法是:

  1. 在打開的項目file > new > new module (並回答UI問題)

  1. 檢查/或添加如果在文件settings.gradleinclude ':myLibrary'
  2. 檢查/或添加如果在文件build.gradle

    dependencies { ... compile project(':myLibrary') }

  3. 要在另一個項目中重新使用此庫模塊,請將其文件夾複製到項目中而不是步驟1,然後執行步驟2和3。

您也可以創建一個新的工作室應用程序項目您可以通過將build.gradle文件中的插件分配更改為com.android.library,輕鬆地將現有的應用程序模塊更改為庫模塊。

apply plugin: 'com.android.application'

android {...}

apply plugin: 'com.android.library'

android {...}

here更多






Related