- 使用 Realm 需要有
node-pre-gyp
和rnpm
命令的支持,所以首先查看电脑中有没有这两个命令;如果不存在,使用以下命令安装即可:
npm install node-pre-gyp -g
npm install rnpm -g
- 为项目安装 Realm ;
npm install --save realm
- 使用rnpm来把项目和realm原生模块库添加关联;
rnpm link realm
- 项目到此配置完成,但是针对 Android 还需要以下步骤才可以:
- 在 MainApplication 中添加以下代码,
import io.realm.react.RealmReactPackage;
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(), // 注意:该对象不可以删除
new RealmReactPackage() // 使用 Realm 时添加
);}
- 检查 setting.gradle中是否包含以下内容,没有,则手动添加
include ':realm'
project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android')
- 检查 build.gradle 中是否包含以下内容,没有,则手动添加
dependencies {
compile project(':realm')
}
Android 运行时有可能报以下错误
.../node_modules/realm/android/src/main/java/io/realm/react/RealmReactPackage.java:18: 错误: 方法不会覆盖或实现超类型的方法
@Override
^
可进入到/node_modules/realm/android/src/main/java/io/realm/react/RealmReactPackage.java
路径下,将createJSModules()
方法上面的@Override
注释掉即可
// @Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
网友评论