领域支持专家或拥有其最新源代码的jar



我在这里有一点奇怪的用例,我的项目分为2个模块,一个是服务器项目,另一个是android-app,现在他们都共享相同的模型类。服务器项目在eclipse中使用maven构建工具,Android应用程序在Android studio中使用gradle。

看起来好像没有maven工件,也没有找到最新版本的jar文件。

请帮我弄清楚这个奇怪的大小写

你需要在模型中加入一种hack来在android和共享服务器项目之间共享。

你可以为你的服务器创建虚拟领域类,它可以被gradle排除,你需要在相同的包中创建相同的类。服务器类:

package io.realm;
import java.util.ArrayList;
public class RealmObject extends ArrayList
{
}
package io.realm;
import java.util.ArrayList;
public class RealmList<E> extends ArrayList
{
}

共享项目gradle应该忽略dummy类,可以使用realm类:

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.0'
        classpath "io.realm:realm-gradle-plugin:2.0.2"
    }
}
repositories {
    mavenCentral()
    jcenter()
}
apply plugin: 'com.android.library'
apply plugin: 'realm-android'
android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"
    publishNonDefault true
    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 24
    }
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java {
                srcDirs 'src'
                //Exclude server (fake) Realm dependent files to avoid conflicts with Realm framework
                exclude '**/Ignore.java'
                exclude '**/RealmObject.java'
                exclude '**/RealmList.java'
                exclude '**/PrimaryKey.java'
            }
            res.srcDirs = ['res']
            aidl.srcDirs = ['aidl']
        }
    }
    lintOptions {
        abortOnError false
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
    }
}

注意:服务器仍然不支持realm。我们只是调整,以支持android和服务器的工作。

最终模型:

import io.realm.RealmList;
import io.realm.RealmObject;
public class MyModel extends RealmObject

最新更新