android realm jar,java – Realm android,似乎没有应用RealmTransformer

本文介绍了新手在使用Android Studio 2.2.3及Realm plugin 2.2.1时,遇到Realm.init()异常的问题,原因在于Jack与Realm Transformer不兼容。解决方法是弃用Jack,转而使用Retrolambda支持Java 8。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是新手

我用:

> Android studio 2.2.3

> Gradle:2.14.1

> Realm-plugin:“classpath”io.realm:realm-gradle-plugin:2.2.1“”

但是当我调用Realm.init(context)时它抛出一个异常;在onCreate of my Activity中.

日志:

12-14 16:40:51.096 3541-3541/? E/AndroidRuntime: FATAL EXCEPTION: main

Process: *.demo, PID: 3541

java.lang.ExceptionInInitializerError: RealmTransformer doesn't seem to be applied. Please update the project configuration to use the Realm Gradle plugin. See https://realm.io/news/android-installation-change/

at io.realm.RealmConfiguration.(RealmConfiguration.java:77)

at io.realm.RealmConfiguration$Builder.initializeBuilder(RealmConfiguration.java:414)

at io.realm.RealmConfiguration$Builder.(RealmConfiguration.java:402)

at io.realm.Realm.init(Realm.java:188)

at *.demo.MainActivity.onCreate(MainActivity.java:21)

at android.app.Activity.performCreate(Activity.java:6237)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)

at android.app.ActivityThread.-wrap11(ActivityThread.java)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)

at android.os.Handler.dispatchMessage(Handler.java:102)

at android.os.Looper.loop(Looper.java:148)

at android.app.ActivityThread.main(ActivityThread.java:5417)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

我的课:

import io.realm.Realm;

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Realm.init(this); //crashing line

}

}

Build.gradle模块级别:

apply plugin: 'com.android.application'

apply plugin: 'realm-android'

android {

compileSdkVersion 25

buildToolsVersion "25.0.2"

defaultConfig {

applicationId "*.demo"

minSdkVersion 10

targetSdkVersion 25

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

jackOptions {

enabled true

}

// Enabling multidex support.

multiDexEnabled true

}

buildTypes {

release {

minifyEnabled false

//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

compileOptions {

targetCompatibility 1.8

sourceCompatibility 1.8

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {

exclude group: 'com.android.support', module: 'support-annotations'

})

compile 'com.android.support:appcompat-v7:25.1.0'

compile 'com.android.support:design:25.1.0'

compile 'com.android.support:multidex:1.0.1'

compile 'com.github.pwittchen:reactivenetwork:0.7.0'

testCompile 'junit:junit:4.12'

}

在此先感谢您的帮助.

解决方法:

Jack无法使用Gradle中的Transform API.

因此,依赖于Transform API的Realm-Transformer不能与Jack一起使用.

使用Retrolambda而不是Jack for Java 8功能支持.

标签:android,java,realm

来源: https://codeday.me/bug/20190823/1702073.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值