android 方法不会覆盖或实现超类型的方法,ReactNative使用支付宝支付报错:方法不会覆盖或实现超类型的方法react-native-yunpeng-alipay...

根据项目需求需要集成支付宝支付,如果报了以下错误,仅需注释四行代码就可以搞定哟!

我使用的是 react-native-yunpeng-alipay

当根据文档在Android上集成的时候,运行时报错:如下:

/Users/abysskitty/Desktop/RNProject/KakouApp/node_modules/react-native-yunpeng-alipay/android/src/main/java/com/yunpeng/alipay/

AlipayPackage.java:25: 错误: 方法不会覆盖或实现超类型的方法

@Override

^

1 个错误

:react-native-yunpeng-alipay:compileReleaseJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ':react-native-yunpeng-alipay:compileReleaseJavaWithJavac'.

> Compilation failed; see the compiler error output for details.

* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 26.017 secs

Could not install the app on the device, read the error above for details.

Make sure you have an Android emulator running or a device connected and have

set up your Android development environment:

https://facebook.github.io/react-native/docs/android-setup.html

在提示的错误中明确指出了

AlipayPackage.java:25: 错误: 方法不会覆盖或实现超类型的方法

@Override

^

1 个错误

:react-native-yunpeng-alipay:compileReleaseJavaWithJavac FAILED

错误原因解析:因为在安卓中 @Override是复写父类的方法,而它的父类没有这个方法,所以不能复写。

因为你报错的这个方法在老版本的RN中是存在的,估计这个三方是以前用的老版本,新版本没有这个方法了,注释掉就可以了。

解决办法:根据下面图片打开这个文件,注释掉报错的代码就好了。

我为大家提供了两种操作方法,会用androidstudio的和不会用的

第一种:AndroidStudio操作方法:(下面有直接从文件夹的操作方法)

b5f66bd5fb907ffd9bc84f17652b7702.png

9699d1e51f2313b08c476587c04a4561.png

这个错误其实就是这个 AlipayPackgae 实现的ReactPachger接口里没有注释掉的那个方法了,所以找不到就报错了。

第二种:项目文件夹内进行操作。

如果你不会用AndroidStudio,也可以直接在ReactNative项目中寻找。

具体目录如下所示:

打开ReactNative根目录下的node_modules文件夹

找到react-native-yunpeng-alipay文件夹并打开

依次打开目录:

android -> src -> main -> java -> com -> yunpeng -> alipay -> AlipayPackage.java

最后打开这个文件并注释掉这段代码

/**

* Created by m2mbob on 16/5/6.

*/

public class AlipayPackage implements ReactPackage {

@Override

public List createNativeModules(ReactApplicationContext reactContext) {

List modules = new ArrayList<>();

modules.add(new AlipayModule(reactContext));

return modules;

}

// @Override

// public List> createJSModules() {

// return Collections.emptyList();

// }

@Override

public List createViewManagers(ReactApplicationContext reactContext) {

return Collections.emptyList();

}

}

问题就这么简单的解决了(仅需注释四行代码)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Native的 `react-native-android-keyboard-adjust` 库可以用来调整安卓键盘的行为。在0.63版本中,使用方法如下: 1. 安装库 使用以下命令安装库: ``` npm install react-native-android-keyboard-adjust ``` 2. 链接原生代码 使用以下命令来链接原生代码: ``` npx react-native link react-native-android-keyboard-adjust ``` 或者手动链接,按照以下步骤: (1) 在 `android/settings.gradle` 文件中添加以下代码: ``` include ':react-native-android-keyboard-adjust' project(':react-native-android-keyboard-adjust').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-android-keyboard-adjust/android') ``` (2) 在 `android/app/build.gradle` 文件中添加以下代码: ``` dependencies { // ... implementation project(':react-native-android-keyboard-adjust') } ``` (3) 在 `MainApplication.java` 文件中导入以下代码: ``` import com.reactnativeandroidkeyboardadjust.ReactNativeAndroidKeyboardAdjustPackage; ``` (4) 在 `MainApplication.java` 文件的 `getPackages()` 方法中添加以下代码: ``` new ReactNativeAndroidKeyboardAdjustPackage() ``` 3. 使用 在需要调整键盘行为的组件上,添加 `androidKeyboardAdjust` 属性,值可以为以下三种: - `none`: 不调整键盘行为 - `pan`: 键盘出现时,组件会向上滚动,以避免被键盘遮挡 - `resize`: 键盘出现时,组件会自动调整大小,以避免被键盘遮挡 例如: ```jsx <TextInput androidKeyboardAdjust="pan" // ... /> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值