第一步、第二步 网上有比较详细的教程,我只是粗略的写一下。
第三步,貌似没有详细说明,自己摸索了一段时间的结果
如果错误,欢迎指正
一. 封装
- react-native init xx 创建项目
- cd xx 进入项目
- 启动项目:react-native run-android
- 新建一个module:ihealthlibrary
- 创建 iHealthDeviceManagerPackage.java implements ReactPackage(用来暴露模块) iHealthDeviceManagerModel.java extends ReactContextBaseJavaModule (实现模块功能)
- MainApplication.java 引用iHealthDeviceManagerPackage,引用模块 protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new iHealthDeviceManagerPackage()
);
}
7. 此时,模块已经完成
二. 发布
- 创建空文件夹,cd 文件夹,创建 android iOS两个文件夹,将上一步ihealthlibrary里的所有文件copy到android目录下。
- 将此文件夹上传到Github上,如没有账号,自己创建哈,得到连接:https://github.com/iHealthDeviceLabs/iHealthLibrary_ReactNative
- 创建 index.js package.json,具体内容自己百度,一堆堆
- npm add user,配置npm账号,没有的自己申请哈
- 配置成功后,npm publish
三. 调用
- react-native init xx 创建项目
- cd xx 进入项目
- npm install ihealthlibrary-react-native,下载安装插件 ihealthlibrary-react-native
- 下载完成后,cd node_modules,发现多了文件夹ihealthlibrary-react-native
- cd.. 回到xx根目录
- cd android, 进入android工程根目录
- 打开settings.gradle,输入 include ':app' , ':ihealthlibrary-react-native'
project(':ihealthlibrary-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/ihealthlibrary-react-native/android')
- cd app,进入模块目录
- 打开build.gradle, 输入依赖: compile project(':ihealthlibrary-react-native')
- cd src/main/java/com/xx/MainApplication.java
- 输出模块:protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new iHealthDeviceManagerPackage() //具体模块名字
);
} - cd….. 回到项目根目录
- 打开 index.android.js,引用:import {
iHealthDeviceManagerModel,
BP5Model
} from 'ihealthlibrary-react-native' - 调用Api:iHealthDeviceManagerModel.startDiscovery(1)
-
启动项目:react-native run-android
Over