2017-11-11 63 views
1

我正在使用realm database来维护我的应用程序中的产品日志。我的应用程序在配置领域生成器时发生崩溃。我使用下面的代码来配置领域构建器。无法在Gradle 3.0.0 beta2中配置Realm构建器

RealmConfiguration configuration = new RealmConfiguration.Builder(AddProductItems.this).build(); 
realm = Realm.getInstance(configuration); 
realmHelper = new RealmHelper(realm); 

我也试过这段代码。

realm = Realm.getInstance(MyActivity.this); 

我仍然得到同样的error.I正在使用Android Studio 3.0 beta 23.0.0-beta2 of gradle version

apply plugin: 'com.android.application' 
android { 
    compileSdkVersion 26 
    buildToolsVersion "26.0.0" 
    defaultConfig { 
     applicationId "come.ajay.bill" 
     minSdkVersion 21 
     targetSdkVersion 26 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    implementation fileTree(dir: 'libs', include: ['*.jar']) 

    implementation 'com.android.support:appcompat-v7:26.0.0' 
    implementation 'com.android.support.constraint:constraint-layout:1.0.2' 
    implementation 'com.android.support:design:26.0.0' 
    testImplementation 'junit:junit:4.12' 

    compile 'com.android.support:recyclerview-v7:26.0.0' 
    compile 'com.android.support:cardview-v7:26.0.0' 
    provided 'io.realm:realm-android:0.87.5' 
    annotationProcessor 'io.realm:realm-android:0.87.5' 

} 

gradle这个(项​​目)

buildscript { 
    repositories { 
     google() 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:3.0.0-beta2' 
    } 
} 
allprojects { 
    repositories { 
     google() 
     jcenter() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

这里添加我的控制台日志

enter image description here

+0

显示您的其他Gradle文件以及应用的插件 – EpicPandaForce

+0

@EpicPandaForce现在检查。我更新了我的帖子 –

回答

1

提供“io.realm:境界 - 安卓:0.87.5”

这是行不通的,因为这意味着你实际上并不包括境界在你的代码(这就是为什么你得到你得到的错误)。

在AS 3.0,providedcompileOnly

不过你的情况来替代,它应该是

implementation 'io.realm:realm-android:0.87.5' 
annotationProcessor 'io.realm:realm-android:0.87.5' 

(我希望作品,因为有一个机会,你只会得到以下错误 - 我没有测试过这个:

注释处理器必须现在显式声明以下依赖关系编译classpath被发现包含注释处理器。请将它们添加到annotationProcessor配置中。

或者,设置android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true以继续以前的行为。请注意,此选项已被弃用,将来会被删除。 有关更多详细信息,请参阅https://developer.android.com/r/tools/annotation-processor-error-message.html


值得一提的是境界0.88.0 2.1.1不支持annotationProcessor范围,但(仅apt范围,而如果你使用apply plugin: 'realm-android'不是由AS 3.0的支持!) ,在这种情况下,你需要手动做什么境界摇篮插件确实在后台(添加合适的依赖性+注册RealmTransformer任务)


而且w ^请注意,此时的最新版本是Realm-Java 4.1.1,这比0.87.5更新。

+0

谢谢!!这很有帮助。其实,我不知道最新版本。我只是从几个教程来。让我在最新的文档帮助下使用最新版本。谢谢@EpicPandaForce –

相关问题