我的构建和 APK 已成功生成,但是当我运行应用程序时出现错误,强制关闭应用程序。如果我使用 Gradle 构建相同的依赖项,而不是使用 OkBuck,它会完美运行。日志猫:
E/AndroidRuntime( 3447): FATAL EXCEPTION: main
E/AndroidRuntime( 3447): Process: mobile.nonaka.com.nonakaapp.ci, PID: 3447
E/AndroidRuntime( 3447): 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/
E/AndroidRuntime( 3447): at io.realm.RealmConfiguration.<clinit>(RealmConfiguration.java:77)
E/AndroidRuntime( 3447): at io.realm.RealmConfiguration$Builder.initializeBuilder(RealmConfiguration.java:428)
E/AndroidRuntime( 3447): at io.realm.RealmConfiguration$Builder.<init>(RealmConfiguration.java:391)
E/AndroidRuntime( 3447): at mobile.nonaka.com.nonakaapp.NONAKAApplication.onCreate(NONAKAApplication.java:44)
E/AndroidRuntime( 3447): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
E/AndroidRuntime( 3447): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4344)
E/AndroidRuntime( 3447): at android.app.ActivityThread.access$1500(ActivityThread.java:135)
E/AndroidRuntime( 3447): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
E/AndroidRuntime( 3447): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 3447): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 3447): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime( 3447): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3447): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 3447): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/AndroidRuntime( 3447): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime( 3447): at dalvik.system.NativeStart.main(Native Method)
NONAKAApplication.java 第 44 行有以下代码:
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder(this)
.schemaVersion(1)
.encryptionKey(realmKeyProvider.getRealmKey())
.deleteRealmIfMigrationNeeded()
.build();
https://realm.io/news/android-installation-change没有帮助。这是我用来生成 Buck 文件的 Gradle 配置:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "io.realm:realm-gradle-plugin:2.2.1"
}
}
apply plugin: 'realm-android'
版本:
OkBuck 0.13.1
Realm 2.2.1
Gradle 3.2
Android Gradle Plugin 2.2.3
Android Studio 2.2.3
minSdkVersion 18
targetSdkVersion 25
compileSdkVersion 25
buildToolsVersion '25.0.2'
非常感谢!