问题描述:
在使用react-native-image-crop-picker时出现
ImagePicker.openPicker undefined/is notobject之类的错误,使用npm指令安装组件包并且link后依然如此,所以尝试手动配置组件信息。
使用 Android Studio 来开发 Android 工程的过程中,接触 Gradle 是不可避免的,比如配置签名、引入依赖等。Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化建构工具。它使用一种基于 Groovy 的特定领域语言 (DSL) 来声明项目设置,抛弃了基于 XML 的各种繁琐配置。
创建的react native Android 版本是0.44.0
$: react-nativeinit AppName --version 0.44.0
手动添加local.properties文件,标记sdk路径
路径:android文件夹下
添加:sdk.dir = /Users/username/Library/Android/sdk
创建工程后,配置组件
$: npm install react-native-video
查看路径android/build.gradle文件中gradle版本应该为2.2.3及以上
I. 声明模块
路径:android/setting.gradle
添加:
include ':react-native-video'
project(':react-native-video').projectDir =new File(rootProject.projectDir, '../node_modules/react-native-video/android')
include ':react-native-image-crop-picker'
project(':react-native-image-crop-picker').projectDir= new File(settingsDir, './android')
注意在上述地址添加android文件,也就是同一级目录下
文件内容地址如下:
百度网盘
II. 然后引入依赖
路径:android/app/build.gradle
添加:
compile project(':react-native-video')
compileproject(':react-native-image-crop-picker')
III. 在表单添加注册信息
路径:android/app/src/main/AndroidManifest.xml
添加:
<uses-permissionandroid:name="android.permission.CAMERA" />
IV. 导入包到工程
路径;android/app/src/main/java/com/AppName/MainApplication.java
添加:
1.
importcom.reactnative.ivpusic.imagepicker.PickerPackage;
importcom.brentvatne.react.ReactVideoPackage;
2.
new ReactVideoPackage(),
newPickerPackage()
按照上述步骤配置的工程是一个单独调用相机的页面。组件提供了丰富的功能。附一份完整工程。
百度网盘: