簡體   English   中英

如何在同一應用程序項目中多次將一個庫模塊包含到多個庫模塊中?

[英]How to include a library module multiple times into multiple library modules in the same app project?

我有一個項目結構為:
-應用模塊
-多個庫模塊。
-...
-上面的庫模塊消耗的公共庫模塊(commonlib)^(具有領域(編譯為io.realm:realm-android:0.82.2'作為依賴項)

現在commonlib作為依賴項包含在許多模塊中,當我嘗試運行該項目時,我發現了多個dex文件錯誤:

:app:preDexDebug UP-TO-DATE
:app:dexDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lio/realm/DefaultRealmModule;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
    at com.android.dx.command.dexer.Main.run(Main.java:246)
    at com.android.dx.command.dexer.Main.main(Main.java:215)
    at com.android.dx.command.Main.main(Main.java:106)
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/home/user/java/jdk1.7.0_75/bin/java'' finished with non-zero exit value 2

有人可以幫助我如何包含領域庫,但同時又將其以及commonlib模塊也包含在所有從屬模塊中嗎? 謝謝

看起來您的某些庫項目尚未將其Schema定義為庫模塊。 如果不這樣做,他們還將創建文件DefaultRealmModule ,這就是為什么您在應用程序項目中遇到沖突的原因。

您所有的庫都應該有一個類似於以下內容的類:

@RealmModule(library = true, allClasses = true)
public class MyLibraryModule() {

}

您可以在此處閱讀更多有關如何在庫和應用程序項目中包含Realm的信息: https : //realm.io/docs/java/latest/#sharing-schemas

暫無
暫無

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

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