我这里有个奇怪的用例,我的项目分为2个模块,一个是服务器项目,另一个是android-app,现在它们都共享相同的模型类.在Eclipse中使用Maven构建工具进行服务器项目,在Android Studio中使用gradle进行androID-app应用.
看起来像是没有maven工件的领域,也没有找到最新版本的jar文件.
请帮助我找出奇怪的情况.
解决方法:
您需要在模型中加入某种技巧才能在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应该忽略虚拟类,并且可以使用领域类:
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' }}
注意:服务器仍然不支持领域.我们只是调整以支持androID和服务器工作.
最终模型:
import io.realm.RealmList;import io.realm.RealmObject;public class MyModel extends RealmObject
总结 以上是内存溢出为你收集整理的android-Realm支持maven或拥有jar的最新资源全部内容,希望文章能够帮你解决android-Realm支持maven或拥有jar的最新资源所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)