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
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
/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库文件吗?
'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
新建一个version: 1.0.1+2 传到bugly后台,然后本地装1.0.0+1
FlutterBugly.getUpgradeInfo().then((UpgradeInfo info) {});
这个info打印一直是null,从未获取到新版信息,都一个小时也没反应,反复打开都是null。奇怪的是bugly后台已下发数量会增加,求作者解答~
大概10分钟下发1个用户的样子,那如果有10W用户岂不是疯掉了,不太清楚具体的下发策略
每一次打开APP都会提示这两个权限。。。动态授权的形式
此项目很多需求都是关于gradle配置的问题,个人想法是如果只能看android目录下gradle里配置的话,没有任何去添加这类相关功能的必要。需要寻求一个flutter yaml里version配置的类似解决方法,如果有研究过的大佬,可以讨论指点一下
感谢写的这个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:[]
由于一些原因获取渠道的方法会延迟到bugly init之后的某个时间段才能得到,需要一个set方法进行异步设置
你好,我使用了您的flutter_bugly,感觉挺不错的,不过遇到一个问题,虚拟机可以收到更新,根据教程中配合armeabi-v7a可以打出32位64位通用包,真机安装后却不能收到更新通知,这个不知怎么解决。更新的高版本也是配合armeabi-v7a打出的32位64位通用包,上传上去的。
有些插件会有异常,例如视频播放的,收集不到,又没有机器测试,能否把postCatchedException 接口单独提供一个出来
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
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
调试的时候一大堆日志实在是…影响心情
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;
各种错误,头疼
1.FlutterBugly.init(androidAppId: "xxxx");
2.FlutterBugly.checkUpgrade(isManual: true,isSilence: false)
我一共使用了这两个,app入口处先调用了init方法了,然后在一个按钮那里点击调用了checkUpgrade,检测的toast弹出后就没任何反应了。我有放了个versionName 和 versionCode比较高的版本到后台的,不会弹出那个已经是最新版的toast了,应该是能证明检测到了新版本的
我依赖的版本是0.1.9 看您的readme上说已解决,但是我APP上还是有这种情况,是有什么需要特别注意的地方吗?
flutter build apk --release --target-platform android-arm64 如果不加--target-platform android-arm64默认是怎么处理的?华为荣耀10 用这个命令打包安装后直接闪退
你好,如何主动上传错误日志?
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).
请问一下我在编译后第一次运行能通过调用getUpgradeInfo拿到info,关闭app后再打开拿到的都是null,是因为什么导致的?
大家好,请帮忙分析一下这个如何解决,谢谢!不加入bugly就没有问题。
D8: Program type already present: android.support.v4.app.INotificationSideChannel
FAILURE: Build failed with an exception.
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)
作者可以看下,集成后上报异常没问题,但是运营数据里确实是空的。
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
是否可以考虑迁移到支持AndroidX呢?
如何自定义上传错误?
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_ijk这款插件,它就是用纹理接入的原生界面
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]
明明没用到热更新,为什么报这个错呢
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)
Caused by: java.lang.ClassNotFoundException: com.tencent.bugly.beta.ui.b
我这边执行pod install 的时候出现了标题上的错误
参考
jpush/jmessage-flutter-plugin#3
在ios文件夹里面的flutter_bugly.podspec文件中中添加s.static_framework = true(在end前面一排即可!)
解决了这个问题
依赖的.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'
/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)
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);
}
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.