我想在我的应用程序中使用realm数据库,因为我将此行添加到app中的build.gradle文件
apply plugin: 'realm-android'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "io.realm:realm-gradle-plugin:1.1.0"
}
}
这是我的表格代码:
public class Country extends RealmObject {
@Ignore
public static String NAME="name";
@Ignore
public static String POPULATION="population";
@PrimaryKey
private String name;
private int population;
public Country() { }
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPopulation() {
return population;
}
public void setPopulation(int population) {
this.population = population;
}
}
但是当我使用这段代码而没有别的时候"我的意思是永远不要使用国家表"运行我的应用程序时出现此错误:
An exception has occurred in the compiler (1.8.0_05). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for rx.Observable not found
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
编译失败;请参阅编译器错误输出以获取详细信
我的app.gradle文件
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.sss.ddd"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
repositories {
maven { url "https://jitpack.io" }
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
}
这是我的project.gradle文件
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
classpath "io.realm:realm-gradle-plugin:1.1.0"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
是谁能帮助我呢?
谢谢。
答案 0 :(得分:5)
非常感谢您的关注,但我找到了解决办法 我将这些行添加到我的项目Gradle文件中:
allprojects {
repositories {
jcenter()
maven {
url 'https://github.com/uPhyca/stetho-realm/raw/master/maven-repo'
}
}
}
这是我的app gradle文件
compile 'com.uphyca:stetho_realm:0.9.0'
compile 'io.reactivex:rxjava:1.1.0'
compile 'com.facebook.stetho:stetho:1.3.1'
我不知道为什么我应该添加这些行,而领域文档从不参考这个但是知道我的项目工作正常 我知道这是有线行为,但它的工作 如果你知道更好的答案,请与我分享。
答案 1 :(得分:1)
将JDK更新到版本1.8.3解决了这个问题。 JDK可以从
下载http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在android上设置JDK可以使用 How to set Java SDK path in AndroidStudio?
答案 2 :(得分:0)
这就是我解决问题的方法:
1。)创建一个新包并将其命名为rx 2.)在这个包中添加一个名为Observable的类,空类。
现在编译得很好。