2017-03-24 16 views
0

私は、fastadapter、nanotask、realmなどの依存関係を含むライブラリプロジェクトを持っています。どういうわけか私は図書館プロジェクトとメインアプリケーションでも領域が必要です。レルムとAndroidライブラリプロジェクト

apply plugin: 'realm-android' 

ビルドエラー:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. 
> com.android.build.api.transform.TransformException: 
com.android.ide.common.process.ProcessException: 
java.util.concurrent.ExecutionException: com.android.dex.DexException: 
Multiple dex files define Lio/realm/DefaultRealmModule; 

これ以上の建物エラーがないよりも、私は図書館プロジェクトでプラグインを適用していた場合。しかし、レルムを使用しているときにこのエラーが発生する。ここで

Task is not part of the schema for this Realm. 
        at io.realm.internal.RealmProxyMediator.getMissingProxyClassException(RealmProxyMediator.java:242) 
        at io.realm.DefaultRealmModuleMediator.getTableName(DefaultRealmModuleMediator.java:107) 
        at io.realm.RealmSchema.getTable(RealmSchema.java:295) 
        at io.realm.Realm.checkHasPrimaryKey(Realm.java:1530) 
        at io.realm.Realm.copyToRealmOrUpdate(Realm.java:952) 

は、レルムがライブラリプロジェクトで使用されている場合、あなたはあなたのスキーマとRealmModuleを定義する必要があり、ライブラリのGradle

答えて

1

です。それ以外の場合は、アプリ用に生成されたスキーマと競合します。これは複数のDefaultRealmModuleエラーの原因です。あなたはそれについてもっと読むことができます:https://realm.io/docs/java/latest/#sharing-schemas。何のプロジェクトレベルのGradleがないので、アプリでレルムなしで、私は唯一のライブラリにレルムをインポートするにはどうすればよい

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

} 

RealmConfiguration config = new RealmConfiguration.Builder() 
    .modules(new MyLibraryModule()) 
    .build(); 
+1

具体的には、ライブラリでRealmConfigurationはこのような何かを見なければならないことを意味しライブラリのファイルですか? – ono

+1

こんにちは、どこでRealmConfigurationをライブラリに設定しますか?どこでもOKですか、それを設定する特定の場所はありますか?または、ライブラリモジュールの代わりにアプリケーション内に設定する必要がありますか? –

+0

私も@onoとalessandroが直面しているのと同じ問題に直面しています。 –

関連する問題