注意
我当前使用的react native 版本为:"react-native": "0.63.4"
React Native Image Picker 简介
安装
链接库
android\settings.gradle
include ':react-native-image-picker'
project(':react-native-image-picker').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-image-picker/android')
android\app\build.gradle
dependencies {
implementation project(':react-native-image-picker')
}
设置AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.social_app" xmlns:tools="http://schemas.android.com/tools">
................
<uses-permission android: />
<uses-permission android:/>
<uses-sdk tools:overrideLibrary="com.imagepicker"/>
<application
android:requestLegacyExternalStorage="true">
................
</application>
</manifest>
注册react native picker
我是没有进行注册,最开始注册了之后反而报错了。应该是 0.6 版本以上的版本,引入大多数的第三方包都不需要注册。
//android\app\src\main\java\com\social_app\MainApplication.java
import com.imagepicker.ImagePickerPackage; // <-- add this import
public class MainApplication extends Application implements ReactApplication {
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new ImagePickerPackage(), // <-- add this line
// OR if you want to customize dialog style
new ImagePickerPackage(R.style.my_dialog_style)
);
}
}
//android\app\src\main\java\com\social_app\MainActivity.java
// 1. 添加以下两行:
import com.imagepicker.permissions.OnImagePickerPermissionsCallback; // <- add this import
import com.facebook.react.modules.core.PermissionListener; // <- add this import
public class MainActivity extends ReactActivity {
// 2. 添加如下一行:
private PermissionListener listener; // <- add this attribute
/**
* Returns the name of the main component registered from JavaScript.
* This is used to schedule rendering of the component.
*/
@Override
protected String getMainComponentName() {
return "native_camera";
}
}
使用过程中可能会遇到的问题
1、报错 提示 image-picker 和 sdk 版本问题 ,可以打开你项目下 android/app/src/main/AndroidManifest.xml 文件添加以下两行代码:
xmlns:tools="http://schemas.android.com/tools"
<uses-sdk tools:overrideLibrary="com.imagepicker"/>
调试错误
Task :app:processDebugManifest FAILED
打包错误
- 原因:
修改这几个地方即可
- 参考 ReactNative 打包错误:Execution failed for task ‘:xxxxx:verifyReleaseResources’.
参考
react-native-image-picker 2.x 版本和 3.x 版本(最新版本)的使用详解
错误解析
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!