我的RN 版本0.65已经不能这么用了 ,import { Clipboard} from 'react-native';这是错误的做法,新版本已经丢弃了。
应该
import Clipboard from '@react-native-community/clipboard'; (请先自己安装 模块)
但是根据 react-native-community/clipboard官方的代码出现 错误:
null is not an object (evaluating 'NativeClipboard_1.default.getString')
这时候我们需要这么解决
mobile/android/settings.gradle
include ':@react-native-community-clipboard'
project(':@react-native-community-clipboard').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/clipboard/android')
mobile/android/app/build.gradle
dependencies {
...
implementation project(':@react-native-community-clipboard')
...
}
MainApplication.java(如果出现错误这一步就不要做,我就是不做这一步偏偏好了)
这一步是本文的重点,因为Google所有的资料都是使用这一步偏偏解决不了。
import com.reactnativecommunity.clipboard.ClipboardPackage;
...
//这一步未必需要,我加上就出错,不动就正确复制使用咯
@Override
protected List<ReactPackage> getPackages() {
@SuppressWarnings("UnnecessaryLocalVariable")
List<ReactPackage> packages = new PackageList(this).getPackages();
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
....
packages.add(new ClipboardPackage());
return packages;
}