我正在使用realm database
在我的应用中维护产品日志。我的应用程序在配置域构建器时崩溃了。我使用以下代码来配置域构建器。
RealmConfiguration configuration = new RealmConfiguration.Builder(AddProductItems.this).build();
realm = Realm.getInstance(configuration);
realmHelper = new RealmHelper(realm);
我也尝试过这段代码。
realm = Realm.getInstance(MyActivity.this);
我仍然遇到同样的错误。我正在使用Android Studio 3.0 beta 2
和3.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
}
这里我添加了我的控制台日志
答案 0 :(得分:2)
提供'io.realm:realm-android:0.87.5'
这不起作用,因为这意味着你实际上并没有在你的代码中包含Realm(这就是你得到错误的原因)。
在AS 3.0中,provided
应替换为compileOnly
但是在你的情况下,它应该是
implementation 'io.realm:realm-android:0.87.5'
annotationProcessor 'io.realm:realm-android:0.87.5'
(我希望有效,因为你有可能会得到以下错误 - 我没有测试过这个:
现在必须显式声明注释处理器。发现以下对编译类路径的依赖包含注释处理器。请将它们添加到annotationProcessor配置。
或者,设置
android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true
以继续之前的行为。请注意,此选项已弃用,将来会被删除。 有关详细信息,请参阅https://developer.android.com/r/tools/annotation-processor-error-message.html。
)
值得注意的是,如果使用{{1},Realm 0.88.0到2.1.1不支持annotationProcessor
范围(仅apt
范围,AS 3.0不支持!)在这种情况下,您需要手动执行Realm Gradle Plugin在后台执行的操作(添加正确的依赖项+注册RealmTransformer任务)
另外值得注意的是,此时的最新版本是Realm-Java 5.7.0 ,这比0.87.5要新得多。