2017-11-11 88 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 –

相關問題