react-native-amap-geolocation icon indicating copy to clipboard operation
react-native-amap-geolocation copied to clipboard

错误: 不兼容的类型: List<AMapGeolocationModule>无法转换为List<NativeModule> return Collections.singletonList(new AMapGeolocationModule(reactContext));

Open wenjianli92 opened this issue 1 year ago • 7 comments

/Users/wenjianli/muyuan/my-slaughter-logistics-driver/node_modules/react-native-amap-geolocation/lib/android/src/main/java/cn/qiuxiang/react/geolocation/AMapGeolocationPackage.java:22: 错误: 不兼容的类型: List<AMapGeolocationModule>无法转换为List<NativeModule> return Collections.singletonList(new AMapGeolocationModule(reactContext)); ^ 1 个错误

wenjianli92 avatar Oct 31 '22 12:10 wenjianli92

修改nodemodal中文件代码已解决

wenjianli92 avatar Oct 31 '22 14:10 wenjianli92

修改nodemodal中文件代码已解决 改了哪里?

tvsj avatar Nov 02 '22 09:11 tvsj

@tvsj node_modules/react-native-amap-geolocation/lib/android/src/main/java/cn/qiuxiang/react/geolocation/AMapGeolocationPackage.java

复制下面的内容替换上面文件中内荣 package cn.qiuxiang.react.geolocation;

import com.facebook.react.ReactPackage; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.uimanager.ViewManager; import org.jetbrains.annotations.NotNull;

import java.util.ArrayList; import java.util.Collections; import java.util.List;

public class AMapGeolocationPackage implements ReactPackage { @NotNull @Override public List<ViewManager> createViewManagers(@NotNull ReactApplicationContext reactContext) { return Collections.emptyList(); }

@NotNull
@Override
public List<NativeModule> createNativeModules(@NotNull ReactApplicationContext reactContext) {

    List<NativeModule> modules = new ArrayList<>();
    modules.add(new AMapGeolocationModule(reactContext));

    return  modules;
}

}

wenjianli92 avatar Nov 02 '22 14:11 wenjianli92

@tvsj node_modules/react-native-amap-geolocation/lib/android/src/main/java/cn/qiuxiang/react/geolocation/AMapGeolocationPackage.java

复制下面的内容替换上面文件中内荣 package cn.qiuxiang.react.geolocation;

import com.facebook.react.ReactPackage; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.uimanager.ViewManager; import org.jetbrains.annotations.NotNull;

import java.util.ArrayList; import java.util.Collections; import java.util.List;

public class AMapGeolocationPackage implements ReactPackage { @NotNull @OverRide public List createViewManagers(@NotNull ReactApplicationContext reactContext) { return Collections.emptyList(); }

@NotNull
@Override
public List<NativeModule> createNativeModules(@NotNull ReactApplicationContext reactContext) {

    List<NativeModule> modules = new ArrayList<>();
    modules.add(new AMapGeolocationModule(reactContext));

    return  modules;
}

}

@OverRide 应该是 @Override

bianxuerui avatar Jun 06 '23 07:06 bianxuerui

结合两个issue,同时修改掉单词拼写错误,完成解决方案: 第一步:node_modules/react-native-amap-geolocation/lib/android/src/main/java/cn/qiuxiang/react/geolocation/AMapGeolocationPackage.java 截屏2023-07-07 14 11 23

package cn.qiuxiang.react.geolocation;

import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class AMapGeolocationPackage implements ReactPackage {
    @NotNull
    @Override
    public List<ViewManager> createViewManagers(@NotNull ReactApplicationContext reactContext) {
        return Collections.emptyList();
    }

    @NotNull
    @Override
    public List<NativeModule> createNativeModules(@NotNull ReactApplicationContext reactContext) {

        List<NativeModule> modules = new ArrayList<>();
        modules.add(new AMapGeolocationModule(reactContext));
        return modules;
    }
}

第二步: 0d96b404b2a029b2514b0a3b6e43c27c

/node_modules/react-native-amap-geolocation/lib/android/build.gradle按上图加 compileOnly 'org.jetbrains:annotations:23.0.0'

inkcrazy666 avatar Jul 07 '23 06:07 inkcrazy666

也可以把@NotNull都删掉,文件如下

package cn.qiuxiang.react.geolocation;

import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class AMapGeolocationPackage implements ReactPackage {
    @Override
    public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
        return Collections.emptyList();
    }

    @Override
    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
        List<NativeModule> modules = new ArrayList<>();
        modules.add(new AMapGeolocationModule(reactContext));
        return modules;
    }
}

inkcrazy666 avatar Jul 07 '23 06:07 inkcrazy666

为什么没人看这个问题呢

zjjjjjjjjjjd avatar Jan 31 '24 08:01 zjjjjjjjjjjd