Open gaoyong06 opened 4 years ago
上面有个可疑的地方,就是“阿里云oss初始化成功”被打印了2次,我又增加一日志看了一下,我使用的没错,是回调里面调用了2次 相关的代码和日志,如下:
logger.i("阿里云oss初始化开始");
String stsPath = UrlPath.baseUrl + UrlPath.stsToken;
AliOSSFlutter alioss = AliOSSFlutter();
alioss.init(stsPath, "http://oss-cn-hangzhou.aliyuncs.com");
//监听初始化
alioss.responseFromInit.listen((data){
if(data) {
logger.i("阿里云oss初始化成功");
}else{
logger.i("阿里云oss初始化失败");
}
});
打印的日志:
I/flutter (23991): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (23991): │ #0 Global.init (package:qzone_app/common/Global.dart:132:12)
I/flutter (23991): │ #1 <asynchronous suspension>
I/flutter (23991): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
I/flutter (23991): │ 💡 阿里云oss初始化开始
I/flutter (23991): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
W/System.err(23991): android.os.NetworkOnMainThreadException
W/System.err(23991): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
W/System.err(23991): at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
W/System.err(23991): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
W/System.err(23991): at java.net.InetAddress.getByName(InetAddress.java:305)
W/System.err(23991): at com.alibaba.sdk.android.oss.common.utils.OSSUtils.isValidateIP(OSSUtils.java:795)
W/System.err(23991): at com.alibaba.sdk.android.oss.OSSImpl.<init>(OSSImpl.java:133)
W/System.err(23991): at com.alibaba.sdk.android.oss.OSSClient.<init>(OSSClient.java:116)
W/System.err(23991): at com.jlcool.aliossflutter.AliossflutterPlugin.init(AliossflutterPlugin.java:246)
W/System.err(23991): at com.jlcool.aliossflutter.AliossflutterPlugin.onMethodCall(AliossflutterPlugin.java:93)
W/System.err(23991): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:226)
W/System.err(23991): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
W/System.err(23991): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
W/System.err(23991): at android.os.MessageQueue.nativePollOnce(Native Method)
W/System.err(23991): at android.os.MessageQueue.next(MessageQueue.java:143)
W/System.err(23991): at android.os.Looper.loop(Looper.java:122)
W/System.err(23991): at android.app.ActivityThread.main(ActivityThread.java:5305)
W/System.err(23991): at java.lang.reflect.Method.invoke(Native Method)
W/System.err(23991): at java.lang.reflect.Method.invoke(Method.java:372)
W/System.err(23991): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:922)
W/System.err(23991): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:717)
W/System.err(23991): android.os.NetworkOnMainThreadException
W/System.err(23991): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147)
W/System.err(23991): at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
W/System.err(23991): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
W/System.err(23991): at java.net.InetAddress.getByName(InetAddress.java:305)
W/System.err(23991): at com.alibaba.sdk.android.oss.common.utils.OSSUtils.isValidateIP(OSSUtils.java:795)
W/System.err(23991): at com.alibaba.sdk.android.oss.OSSImpl.<init>(OSSImpl.java:133)
W/System.err(23991): at com.alibaba.sdk.android.oss.OSSClient.<init>(OSSClient.java:116)
W/System.err(23991): at com.alibaba.sdk.android.oss.OSSClient.<init>(OSSClient.java:104)
W/System.err(23991): at com.jlcool.aliossflutter.AliossflutterPlugin.secretInit(AliossflutterPlugin.java:140)
W/System.err(23991): at com.jlcool.aliossflutter.AliossflutterPlugin.onMethodCall(AliossflutterPlugin.java:95)
W/System.err(23991): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:226)
W/System.err(23991): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
W/System.err(23991): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
W/System.err(23991): at android.os.MessageQueue.nativePollOnce(Native Method)
W/System.err(23991): at android.os.MessageQueue.next(MessageQueue.java:143)
W/System.err(23991): at android.os.Looper.loop(Looper.java:122)
W/System.err(23991): at android.app.ActivityThread.main(ActivityThread.java:5305)
W/System.err(23991): at java.lang.reflect.Method.invoke(Native Method)
W/System.err(23991): at java.lang.reflect.Method.invoke(Method.java:372)
W/System.err(23991): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:922)
W/System.err(23991): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:717)
I/flutter (23991): Global 开始完成
I/flutter (23991): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (23991): │ #0 Global.init.<anonymous closure> (package:qzone_app/common/Global.dart:139:18)
I/flutter (23991): │ #1 _rootRunUnary (dart:async/zone.dart:1192:38)
I/flutter (23991): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
I/flutter (23991): │ 💡 阿里云oss初始化成功
I/flutter (23991): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (23991): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter (23991): │ #0 Global.init.<anonymous closure> (package:qzone_app/common/Global.dart:139:18)
I/flutter (23991): │ #1 _rootRunUnary (dart:async/zone.dart:1192:38)
I/flutter (23991): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
I/flutter (23991): │ 💡 阿里云oss初始化成功
I/flutter (23991): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
今天下午又测试一遍,依然还是不行,真不知道是哪里不对 总是报 Compute signature failed!
就一个stsPath https://api4.qqhot.com/sts/token
而且我们线上也一直在用,怎么会错呢?真是奇怪
alioss.responseFromInit.listen放到initState里,注意sts返回格式,你们自己用的格式可能和需要的不一致
我也同样 iOS上可以 Android不可以
我也一样 iOS上可以, Android不可以,报Compute signature failed错误,请问这个怎么解决
同问 安卓里 Compute signature failed
在应用刚打开的时候,调用初始化
stsPath是后台提供的一个api接口地址, 接口返回值是:
执行后打印了下面的日志
从日志上面看,初始化已成功:
然后选择图片上传,我封装了下面方法:
执行后,一直在报错,相关的日志如下:
请问我是哪里搞错了?