crazecoder / flutter_bugly Goto Github PK
View Code? Open in Web Editor NEW腾讯Bugly flutter应用更新统计及异常上报插件,支持Android、iOS
License: Other
腾讯Bugly flutter应用更新统计及异常上报插件,支持Android、iOS
License: Other
每一次打开APP都会提示这两个权限。。。动态授权的形式
Bugly debug模式开启,请在发布时把isDebug关闭。 -- Running in debug model for 'isDebug' is enabled. Please disable it when you release.
ios端的异常日志排版有点乱,不像安卓那样清晰,希望能够优化一下
https://cdn.sinaimg.cn.52ecy.cn/large/005BYqpgly1g3en30dngvj311q0u04by.jpg
ndk {
//设置支持的SO库架构
abiFilters 'armeabi-v7a'//, 'arm64-v8a', 'x86', 'x86_64'
}
Samsung Galaxy Tab S2
型号 sm-t713
Key features:
System: Android 7.0
Processor: Octa Core / Quad 1.8 GHz & Quad 1.4 GHz
Memory: Internal: 32 GB / RAM: 3 GB / Slot type: microSD / Max. slot capacity: 128 GB
W/CrashReport(29438): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.os.Bundle.get(java.lang.String)' on a null object reference
W/CrashReport(29438): at com.tencent.bugly.crashreport.common.info.AppInfo.i(BUGLY:471)
W/CrashReport(29438): at com.tencent.bugly.crashreport.common.info.AppInfo.g(BUGLY:496)
W/CrashReport(29438): at com.tencent.bugly.crashreport.common.info.a.T(BUGLY:1074)
W/CrashReport(29438): at com.tencent.bugly.proguard.ah.a(BUGLY:295)
W/CrashReport(29438): at com.tencent.bugly.crashreport.biz.a.c(BUGLY:286)
W/CrashReport(29438): at com.tencent.bugly.crashreport.biz.a.a(BUGLY:35)
W/CrashReport(29438): at com.tencent.bugly.crashreport.biz.a$2.run(BUGLY:335)
W/CrashReport(29438): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
W/CrashReport(29438): at java.util.concurrent.FutureTask.run(FutureTask.java:266)
W/CrashReport(29438): at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
W/CrashReport(29438): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
W/CrashReport(29438): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
W/CrashReport(29438): at java.lang.Thread.run(Thread.java:764)
明明没用到热更新,为什么报这个错呢
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tencent.tinker.lib.util.TinkerLog$TinkerLogImp" on path: DexPathList[[zip file "/data/app/com.ifavorite.pet.petlittle-l9V9fh7FQ7V87N7UGRFVVw==/base.apk"],nativeLibraryDirectories=[/data/app/com.ifavorite.pet.petlittle-l9V9fh7FQ7V87N7UGRFVVw==/lib/arm, /data/app/com.ifavorite.pet.petlittle-l9V9fh7FQ7V87N7UGRFVVw==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
I/zygote (12929): at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:125)
I/zygote (12929): at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:379)
I/zygote (12929): at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
I/zygote (12929): at void com.tencent.bugly.beta.tinker.TinkerManager.setPatchRestartOnScreenOff(boolean) (BUGLY:79)
I/zygote (12929): at void com.tencent.bugly.beta.Beta.init(android.content.Context, boolean) (BUGLY:479)
I/zygote (12929): at void com.tencent.bugly.beta.Beta.init(android.content.Context, boolean, com.tencent.bugly.BuglyStrategy) (BUGLY:594)
I/zygote (12929): at void com.tencent.bugly.b.a(android.content.Context, java.lang.String, boolean, com.tencent.bugly.BuglyStrategy) (BUGLY:170)
I/zygote (12929): at void com.tencent.bugly.Bugly.init(android.content.Context, java.lang.String, boolean, com.tencent.bugly.BuglyStrategy) (BUGLY:63)
I/zygote (12929): at void com.tencent.bugly.Bugly.init(android.content.Context, java.lang.String, boolean) (BUGLY:37)
I/zygote (12929): at void com.crazecoder.flutterbugly.FlutterBuglyPlugin.onMethodCall(io.flutter.plugin.common.MethodCall, io.flutter.plugin.common.MethodChannel$Result) (FlutterBuglyPlugin.java:80)
I/zygote (12929): at void io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(java.nio.ByteBuffer, io.flutter.plugin.common.BinaryMessenger$BinaryReply) (MethodChannel.java:201)
I/zygote (12929): at void io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(java.lang.String, byte[], int) (DartMessenger.java:88)
I/zygote (12929): at void io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(java.lang.String, byte[], int) (FlutterJNI.java:219)
I/zygote (12929): at void android.os.MessageQueue.nativePollOnce(long, int) (MessageQueue.java:-2)
I/zygote (12929): at android.os.Message android.os.MessageQueue.next() (MessageQueue.java:325)
I/zygote (12929): at void android.os.Looper.loop() (Looper.java:169)
I/zygote (12929): at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:7022)
I/zygote (12929): at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:-2)
I/zygote (12929): at void com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.java:515)
I/zygote (12929): at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:837)
大家好,请帮忙分析一下这个如何解决,谢谢!不加入bugly就没有问题。
D8: Program type already present: android.support.v4.app.INotificationSideChannel
FAILURE: Build failed with an exception.
可以参考flutter_ijk这款插件,它就是用纹理接入的原生界面
bugly看不到运营统计数据,希望能够加一下
调试的时候一大堆日志实在是…影响心情
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ei8z.flutter_pluginfuuuuu_example, PID: 27328
java.lang.RuntimeException: Unable to get provider com.tencent.bugly.beta.utils.BuglyFileProvider: java.lang.ClassNotFoundException: Didn't find class "com.tencent.bugly.beta.utils.BuglyFileProvider" on path: DexPathList[[zip file "/data/app/com.example.ei8z.flutter_pluginfuuuuu_example-Egw1mRMX9vlJlZy1wIRIIA==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.ei8z.flutter_pluginfuuuuu_example-Egw1mRMX9vlJlZy1wIRIIA==/lib/arm64, /data/app/com.example.ei8z.flutter_pluginfuuuuu_example-Egw1mRMX9vlJlZy1wIRIIA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
at android.app.ActivityThread.installProvider(ActivityThread.java:6575)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6127)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6037)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tencent.bugly.beta.utils.BuglyFileProvider" on path: DexPathList[[zip file "/data/app/com.example.ei8z.flutter_pluginfuuuuu_example-Egw1mRMX9vlJlZy1wIRIIA==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.ei8z.flutter_pluginfuuuuu_example-Egw1mRMX9vlJlZy1wIRIIA==/lib/arm64, /data/app/com.example.ei8z.flutter_pluginfuuuuu_example-Egw1mRMX9vlJlZy1wIRIIA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.ActivityThread.installProvider(ActivityThread.java:6560)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6127)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6037)
at android.app.ActivityThread.-wrap1(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/core/content/FileProvider;
at java.lang.VMClassLoader.findLoadedClass(Native Method)
at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
... 12 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.core.content.FileProvider" on path: DexPathList[[zip file "/data/app/com.example.ei8z.flutter_pluginfuuuuu_example-Egw1mRMX9vlJlZy1wIRIIA==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.ei8z.flutter_pluginfuuuuu_example-Egw1mRMX9vlJlZy1wIRIIA==/lib/arm64, /data/app/com.example.ei8z.flutter_pluginfuuuuu_example-Egw1mRMX9vlJlZy1wIRIIA==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
... 15 more
作者可以看下,集成后上报异常没问题,但是运营数据里确实是空的。
flutter build apk --release --target-platform android-arm64 如果不加--target-platform android-arm64默认是怎么处理的?华为荣耀10 用这个命令打包安装后直接闪退
依赖的.so
ndk {
//设置支持的SO库架构
abiFilters 'armeabi-v7a'//, 'arm64-v8a', 'x86', 'x86_64'
}
报以下错误:
FAILURE: Build failed with an exception.
More than one file was found with OS independent path 'lib/arm64-v8a/libBugly.so'
有些插件会有异常,例如视频播放的,收集不到,又没有机器测试,能否把postCatchedException 接口单独提供一个出来
Caused by: java.lang.ClassNotFoundException: com.tencent.bugly.beta.ui.b
请问一下我在编译后第一次运行能通过调用getUpgradeInfo拿到info,关闭app后再打开拿到的都是null,是因为什么导致的?
flutter_bugly:
git:
url: git://github.com/crazecoder/flutter_bugly.git
ref: dev
ndk {
//设置支持的SO库架构
abiFilters 'armeabi-v7a'//'armeabi','armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
直接运行报错
Process: com.leimo.erp, PID: 28735
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.damo.demo-y8PSY4tok7qoAAb2V4130w==/base.apk"],nativeLibraryDirectories=[/data/app/com.damo.demo-y8PSY4tok7qoAAb2V4130w==/lib/arm, /data/app/com.damo.demo-y8PSY4tok7qoAAb2V4130w==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /product/lib]]] couldn't find "libflutter.so"
通过命令打包没问题
flutter build apk --release --target-platform android-arm
/dalvikvm(16492): Unable to resolve superclass of Lcom/tencent/bugly/beta/tinker/TinkerApplicationLike; (4601)
W/dalvikvm(16492): Link of class 'Lcom/tencent/bugly/beta/tinker/TinkerApplicationLike;' failed
I/dalvikvm(16492): Could not find method com.tencent.bugly.beta.tinker.TinkerApplicationLike.getTinkerPatchApplicationLike, referenced from method com.tencent.bugly.beta.Beta.installTinker
W/dalvikvm(16492): VFY: unable to resolve static method 34244: Lcom/tencent/bugly/beta/tinker/TinkerApplicationLike;.getTinkerPatchApplicationLike ()Lcom/tencent/tinker/entry/ApplicationLike;
D/dalvikvm(16492): VFY: replacing opcode 0x71 at 0x0003
W/CrashReport(16492): Bugly debug模式开启,请在发布时把isDebug关闭。 -- Running in debug model for 'isDebug' is enabled. Please disable it when you release.
E/CrashReport(16492): --------------------------------------------------------------------------------------------
W/CrashReport(16492): Bugly debug模式将有以下行为特性 -- The following list shows the behaviour of debug model:
W/CrashReport(16492): [1] 输出详细的Bugly SDK的Log -- More detailed log of Bugly SDK will be output to logcat;
W/CrashReport(16492): [2] 每一条Crash都会被立即上报 -- Every crash caught by Bugly will be uploaded immediately.
W/CrashReport(16492): [3] 自定义日志将会在Logcat中输出 -- Custom log will be output to logcat.
E/CrashReport(16492): --------------------------------------------------------------------------------------------
I/CrashReportInfo(16492): [init] Open debug mode of Bugly.
I/CrashReport(16492): [init] Bugly version: v2.6.5
I/CrashReport(16492): crash report start initializing...
I/CrashReportInfo(16492): [init] Bugly start initializing...
I/CrashReport(16492): [init] Bugly complete version: v2.6.5(1.3.7)
FAILURE: Build failed with an exception.
Android dependency 'androidx.fragment:fragment' has different version for the compile (1.0.0-rc01) and runtime (1.0.0) classpath. You should manually set the same version via DependencyResolution
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 54s
1.FlutterBugly.init(androidAppId: "xxxx");
2.FlutterBugly.checkUpgrade(isManual: true,isSilence: false)
我一共使用了这两个,app入口处先调用了init方法了,然后在一个按钮那里点击调用了checkUpgrade,检测的toast弹出后就没任何反应了。我有放了个versionName 和 versionCode比较高的版本到后台的,不会弹出那个已经是最新版的toast了,应该是能证明检测到了新版本的
由于一些原因获取渠道的方法会延迟到bugly init之后的某个时间段才能得到,需要一个set方法进行异步设置
Release 模式下Integer.parseInt(packageContentArray[1].split(":")[0])可能会出现数字转换异常,在Debug模式下又正常,原因暂时不知。后来使用正则匹配获取行数解决。
建议使用正则匹配获取行数,解决方法如下:
Pattern patternTrace = Pattern.compile("[1-9]\d*");
Matcher m = patternTrace.matcher(packageContentArray[1]);
if (m.find()) {
String lineNumStr = m.group();
lineNum = Integer.parseInt(lineNumStr);
}
感谢写的这个flutter插件,我这边测试了bugly应用更新的功能
首先是我在bugly平台添加了一条应用更新策略
在代码中执行了checkUpgrade
RaisedButton(
child: Text('check'),
onPressed: () async {
await FlutterBugly.checkUpgrade(
isManual: true,
isSilence: false,
);
},
),
但表现结果是没有弹窗,控制台有输出
I/CrashReport(29834): Failed to get boot time of device.
W/com.ecardhelper(29834): type=1400 audit(0.0:4319788): avc: denied { search } for name="usb" dev="sysfs" ino=53936 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_usb_supply:s0 tclass=dir permissive=0
W/com.ecardhelper(29834): type=1400 audit(0.0:4319789): avc: denied { search } for name="battery" dev="sysfs" ino=54040 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sysfs_battery_supply:s0 tclass=dir permissive=0
D/CrashReport(29834): app version is: [1.0.0.1], [deviceId:null|null|9614fe758c2ff8e7], channel: [null], base tinkerId:[], patch tinkerId:[], patch version:[]
D/CrashReport(29834): [UploadManager] Add upload task (pid=29834 | tid=29834)
D/CrashReport(29834): [UploadManager] Sucessfully got session ID, try to execute upload task now (pid=29834 | tid=29834)
D/CrashReport(29834): [UploadManager] Add upload task to queue (pid=29834 | tid=29834)
D/CrashReport(29834): [UploadManager] Try to poll all upload task need and put them into temp queue (pid=29834 | tid=29834)
D/CrashReport(29834): [UploadManager] Execute urgent upload tasks of queue which has 1 tasks (pid=29834 | tid=29834)
I/CrashReport(29834): [UploadManager] Create and start a new thread to execute a upload task: BUGLY_ASYNC_UPLOAD
D/CrashReport(29834): [AsyncTaskHandler] Post a normal task: com.tencent.bugly.proguard.ak$2
D/CrashReport(29834): [UploadManager] Local network consume: 33 KB
D/CrashReport(29834): [Upload] Run upload task with cmd: 804
D/CrashReport(29834): [UploadManager] Integrate security to HTTP headers (pid=29834 | tid=29994)
D/CrashReport(29834): [Util] Zip 1038 bytes data with type Gzip
W/com.ecardhelper(29834): type=1400 audit(0.0:4319790): avc: denied { read } for name="u:object_r:vendor_iop_prop:s0" dev="tmpfs" ino=17705 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:vendor_iop_prop:s0 tclass=file permissive=0
E/libc (29834): Access denied finding property "vendor.perf.iop_v3.enable"
E/libc (29834): Access denied finding property "vendor.perf.iop_v3.enable.debug"
W/com.ecardhelper(29834): type=1400 audit(0.0:4319791): avc: denied { read } for name="u:object_r:vendor_iop_prop:s0" dev="tmpfs" ino=17705 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:vendor_iop_prop:s0 tclass=file permissive=0
D/CrashReport(29834): [Database] deleted t_lr data 1
D/CrashReport(29834): [Database] insert t_lr success.
D/CrashReport(29834): [UploadManager] Uploading(ID:1002) time: 2019-01-31 13:10:02
D/CrashReport(29834): [Upload] Send 770 bytes
D/CrashReport(29834): [Upload] Upload to http://android.bugly.qq.com/rqd/async?aid=ce9a3138-7e31-469f-ba61-20bc33285cc1 with cmd 804 (pid=29834 | tid=29994).
D/CrashReport(29834): request: http://android.bugly.qq.com/rqd/async?aid=ce9a3138-7e31-469f-ba61-20bc33285cc1, send: 770 (pid=29834 | tid=29994)
D/CrashReport(29834): [Upload] Bugly version from headers is: bugly/1.0
D/CrashReport(29834): [Upload] Status from server is 0 (pid=29834 | tid=29994).
D/CrashReport(29834): [Upload] Received 126 bytes
D/CrashReport(29834): [Util] Unzip 110 bytes data with type Gzip
D/CrashReport(29834): [Upload] Response cmd is: 0, length of sBuffer is: 0
I/CrashReport(29834): [Upload] Success: 804
D/CrashReport(29834): [UploadManager] Local network consume: 33 KB
D/CrashReport(29834): [Database] deleted t_lr data 1
D/CrashReport(29834): [Database] insert t_lr success.
D/CrashReport(29834): [UploadManager] Network total consume: 34 KB
I/CrashReport(29834): upload succ:[804] [sended 770] [recevied 126]
其中输出的app version是否为检测到的版本信息呢?
D/CrashReport(29834): app version is: [1.0.0.1], [deviceId:null|null|9614fe758c2ff8e7], channel: [null], base tinkerId:[], patch tinkerId:[], patch version:[]
'Pods-Runner' target has transitive dependencies that include static binaries: (/Users/zhangruiyu/FlutterProjects/abc/ios/Pods/Bugly/Bugly.framework)
当前环境flutter升级后的版本号为:Flutter 1.5.4-hotfix.2
bugly版本:flutter_bugly: ^0.2.3
然后在使用插件做更新时会触发以下异常,能否协助看看:
I/flutter (18717): 0===1562652127
E/MethodChannel#crazecoder/flutter_bugly(18717): Failed to handle method call
E/MethodChannel#crazecoder/flutter_bugly(18717): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference
E/MethodChannel#crazecoder/flutter_bugly(18717): at com.crazecoder.flutterbugly.FlutterBuglyPlugin.onMethodCall(FlutterBuglyPlugin.java:137)
E/MethodChannel#crazecoder/flutter_bugly(18717): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:201)
E/MethodChannel#crazecoder/flutter_bugly(18717): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:88)
E/MethodChannel#crazecoder/flutter_bugly(18717): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:219)
E/MethodChannel#crazecoder/flutter_bugly(18717): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#crazecoder/flutter_bugly(18717): at android.os.MessageQueue.next(MessageQueue.java:330)
E/MethodChannel#crazecoder/flutter_bugly(18717): at android.os.Looper.loop(Looper.java:137)
E/MethodChannel#crazecoder/flutter_bugly(18717): at android.app.ActivityThread.main(ActivityThread.java:5546)
E/MethodChannel#crazecoder/flutter_bugly(18717): at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#crazecoder/flutter_bugly(18717): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
E/MethodChannel#crazecoder/flutter_bugly(18717): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
E/CrashReport(18717): Java Catch Happen
I/System.out(18717): [logcat, -d, -v, threadtime]
I/System.out(18717): null
I/System.out(18717): null
I/System.out(18717): Calling by::className:com.tencent.bugly.proguard.aq MethodName:a
I/CrashReport(18717): [LogUtil] Get user log from native.
I/CrashReport-Native(18717): Native log has not been initiated.
I/CrashReport(18717): user log size:0
E/CrashReport(18717): stack frame :161, has cause false
E/CrashReport(18717): #++++++++++Record By Bugly++++++++++#
E/CrashReport(18717): # You can use Bugly(http:\\bugly.qq.com) to get more Crash Detail!
E/CrashReport(18717): # PKG NAME: com.letabc.zaxt
E/CrashReport(18717): # APP VER: 0.0.4
E/CrashReport(18717): # LAUNCH TIME: 2019-07-09 14:01:02
E/CrashReport(18717): # CRASH TYPE: JAVA_CATCH
E/CrashReport(18717): # CRASH TIME: 2019-07-09 14:02:11
E/CrashReport(18717): # CRASH PROCESS: com.letabc.zaxt
E/CrashReport(18717): # CRASH THREAD: main
E/CrashReport(18717): # REPORT ID: e10355b2-7eb6-4186-964b-92e09d06872d
E/CrashReport(18717): # CRASH DEVICE: HUAWEI MT7-TL10 UNROOT
E/CrashReport(18717): # RUNTIME AVAIL RAM:1918181376 ROM:12407660544 SD:12386689024
E/CrashReport(18717): # RUNTIME TOTAL RAM:3158274048 ROM:27691012096 SD:27670040576
E/CrashReport(18717): # CRASH STACK:
E/CrashReport(18717): java.lang.Throwable: PlatformException(error, Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference, null)
E/CrashReport(18717): at Dart.0 StandardMethodCodec.decodeEnvelope(package:flutter/src/services/message_codecs.dart:564)
E/CrashReport(18717): at Dart.1 MethodChannel.invokeMethod(package:flutter/src/services/platform_channel.dart:302)
E/CrashReport(18717): at Dart.2 FlutterBugly.checkUpgrade(package:flutter_bugly/src/flutter_bugly.dart:100)
E/CrashReport(18717): at Dart.3 HomePageState.upgradeApk(package:flutter_app/pages/public/home.dart:119)
E/CrashReport(18717): at Dart.4 HomePageState.initState(package:flutter_app/pages/public/home.dart:63)
E/CrashReport(18717): at Dart.5 StatefulElement._firstBuild(package:flutter/src/widgets/framework.dart:3846)
E/CrashReport(18717): at Dart.6 ComponentElement.mount(package:flutter/src/widgets/framework.dart:3717)
E/CrashReport(18717): at Dart.7 Element.inflateWidget(package:flutter/src/widgets/framework.dart:2961)
E/CrashReport(18717): at Dart.8 Element.updateChild(package:flutter/src/widgets/framework.dart:2764)
E/CrashReport(18717): at Dart.9 SingleChildRenderObjectElement.mount(package:flutter/src/widgets/framework.dart:4876)
E/CrashReport(18717): at Dart.10 Element.inflateWidget(package:flutter/src/widgets/framework.dart:2961)
E/CrashReport(18717): at Dart.11 Element.updateChild(package:flutter/src/widgets/framework.dart:2764)
E/CrashReport(18717): at Dart.12 SingleChildRenderObjectElement.mount(package:flutter/src/widgets/framework.dart:4876)
E/CrashReport(18717): at Dart.13 Element.inflateWidget(package:flutter/src/widgets/framework.dart:2961)
E/CrashReport(18717): at Dart.14 Element.updateChild(package:flutter/src/widgets/framework.dart:2764)
E/CrashReport(18717): at Dart.15 ComponentElement.performRebuild(package:flutter/src/widgets/framework.dart:3750)
E/CrashReport(18717): at Dart.16 Element.rebuild(package:flutter/src/widgets/framework.dart:3565)
E/CrashReport(18717): at Dart.17 ComponentElement._firstBuild(package:flutter/src/widgets/framework.dart:3722)
E/CrashReport(18717): at Dart.18 ComponentElement.mount(package:flutter/src/widgets/framework.dart:3717)
E/CrashReport(18717): at Dart.19 Element.inflateWidget(package:flutter/src/widgets/framework.dart:2961)
E/CrashReport(18717): at Dart.20 Element.updateChild(package:flutter/src/widgets/framework.dart:2764)
E/CrashReport(18717): at Dart.21 ComponentElement.performRebuild(package:flutter/src/widgets/framework.dart:3750)
E/CrashReport(18717): at Dart.22 Element.rebuild(package:flutter/src/widgets/framework.dart:3565)
E/CrashReport(18717): at Dart.23 ComponentElement._firstBuild(package:flutter/src/widgets/framework.dart:3722)
E/CrashReport(18717): at Dart.24 ComponentElement.mount(package:flutter/src/widgets/framework.dart:3717)
E/CrashReport(18717): at Dart.25 ParentDataElement.mount(package:flutter/src/widgets/framework.dart:4063)
E/CrashReport(18717): at Dart.26 Element.inflateWidget(package:flutter/src/widgets/framework.dart:2961)
E/CrashReport(18717): at Dart.27 Element.updateChild(package:flutter/src/widgets/framework.dart:2764)
E/CrashReport(18717): at Dart.28 ComponentElement.performRebuild(package:flutter/src/widgets/framework.dart:3750)
E/CrashReport(18717): at Dart.29 Element.rebuild(package:flutter/src/widgets/framework.dart:3565)
E/CrashReport(18717): at Dart.30 ComponentElement._firstBuild(package:flutter/src/widgets/framework.dart:3722)
E/CrashReport(18717): at Dart.31 StatefulElement._firstBuild(package:flutter/src/widgets/framework.dart:3864)
E/CrashReport(18717): at Dart.32 ComponentElement.mount(package:flutter/src/widgets/framework.dart:3717)
E/CrashReport(18717): at Dart.33 Element.inflateWidget(package:flutter/src/widgets/framework.dart:2961)
E/CrashReport(18717): at Dart.34 Element.updateChild(package:flutter/src/widgets/framework.dart:2764)
E/CrashReport(18717): at Dart.35 SliverMultiBoxAdaptorElement.updateChild(package:flutter/src/widgets/sliver.dart:1034)
E/CrashReport(18717): at Dart.36 SliverMultiBoxAdaptorElement.createChild.<anonymous closure>(package:flutter/src/widgets/sliver.dart:1019)
E/CrashReport(18717): at Dart.37 BuildOwner.buildScope(package:flutter/src/widgets/framework.dart:2258)
E/CrashReport(18717): at Dart.38 SliverMultiBoxAdaptorElement.createChild(package:flutter/src/widgets/sliver.dart:1012)
E/CrashReport(18717): at Dart.39 RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure>(package:flutter/src/rendering/sliver_multi_box_adaptor.dart:275)
E/CrashReport(18717): at Dart.40 RenderObject.invokeLayoutCallback.<anonymous closure>(package:flutter/src/rendering/object.dart:1740)
E/CrashReport(18717): at Dart.41 PipelineOwner._enableMutationsToDirtySubtrees(package:f
E/CrashReport(18717): #++++++++++++++++++++++++++++++++++++++++++#
I/CrashReportInfo(18717): [crash] a caught exception occur, handling...
I/CrashReportInfo(18717): [crash] save crash success
I/CrashReport(18717): try to upload right now
I/System (18717): core_booster, getBoosterConfig = false
I/CrashReport(18717): [Upload] Success: crash
我依赖的版本是0.1.9 看您的readme上说已解决,但是我APP上还是有这种情况,是有什么需要特别注意的地方吗?
现在急需热更新,大佬。能更新下么
你好,如何主动上传错误日志?
是否可以考虑迁移到支持AndroidX呢?
我这边执行pod install 的时候出现了标题上的错误
参考
jpush/jmessage-flutter-plugin#3
在ios文件夹里面的flutter_bugly.podspec文件中中添加s.static_framework = true(在end前面一排即可!)
解决了这个问题
Execution failed for task ':app:processDebugManifest'.
Manifest merger failed : Attribute meta-data#android.support.FILE_PROVIDER_PATHS@resource value=(@xml/provider_paths) from [:flutter_bugly] AndroidManifest.xml:18:17-55
is also present at [:open_file] AndroidManifest.xml:20:17-50 value=(@xml/filepaths).
/Users/zhancheng/Code/haipei-flutter/android/app/src/debug/AndroidManifest.xml:13:13-64 Error:
Attribute provider#androidx.core.content.FileProvider@authorities value=(im.weshine.haipei.fileProvider) from [:flutter_bugly] AndroidManifest.xml:13:13-64
is also present at [com.sangcomz:FishBun:0.9.0] AndroidManifest.xml:14:13-60 value=(im.weshine.haipei.provider).
Suggestion: add 'tools:replace="android:authorities"' to <provider> element at AndroidManifest.xml:11:9-19:20 to override.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute provider#androidx.core.content.FileProvider@authorities value=(im.weshine.haipei.fileProvider) from [:flutter_bugly] AndroidManifest.xml:13:13-64
is also present at [com.sangcomz:FishBun:0.9.0] AndroidManifest.xml:14:13-60 value=(im.weshine.haipei.provider).
Suggestion: add 'tools:replace="android:authorities"' to <provider> element at AndroidManifest.xml:11:9-19:20 to override.
能帮忙升级下FileProvider库文件吗?
新建一个version: 1.0.1+2 传到bugly后台,然后本地装1.0.0+1
FlutterBugly.getUpgradeInfo().then((UpgradeInfo info) {});
这个info打印一直是null,从未获取到新版信息,都一个小时也没反应,反复打开都是null。奇怪的是bugly后台已下发数量会增加,求作者解答~
D/CrashReport(18375): [UploadManager] Local network consume: 61 KB
D/CrashReport(18375): [Database] deleted t_lr data 1
D/CrashReport(18375): [Database] insert t_lr success.
D/CrashReport(18375): [UploadManager] Network total consume: 62 KB
I/CrashReport(18375): upload succ:[804] [sended 800] [recevied 129]
I/CrashReport(18375): 你已放弃让SDK来处理策略
I/CrashReport(18375): betaStrategy is null
I/CrashReport(18375): 用户自定义activity,创建task失败 [strategy:null]
此项目很多需求都是关于gradle配置的问题,个人想法是如果只能看android目录下gradle里配置的话,没有任何去添加这类相关功能的必要。需要寻求一个flutter yaml里version配置的类似解决方法,如果有研究过的大佬,可以讨论指点一下
大概10分钟下发1个用户的样子,那如果有10W用户岂不是疯掉了,不太清楚具体的下发策略
如何自定义上传错误?
await FlutterBugly.init(
autoCheckUpgrade: false,
autoDownloadOnWifi: false,
androidAppId: "c4888681a0",
// iOSAppId: "c4888681a0",
);
await FlutterBugly.checkUpgrade(isManual: false, isSilence: true);
await FlutterBugly.checkUpgrade(isManual: false, isSilence: true);
await FlutterBugly.checkUpgrade(isManual: false, isSilence: true);
var info = await FlutterBugly.getUpgradeInfo();
很大几率info为空,做了延迟处理还是不行,是官方的问题还是你的问题啊?
Rejecting re-init on previously-failed class java.lang.Class<com.tencent.bugly.beta.tinker.TinkerApplicationLike>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/tencent/tinker/entry/DefaultApplicationLike;
各种错误,头疼
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.