Git Product home page Git Product logo

datareporter's Issues

【Android】关于使用\文档问题

关于使用有几点疑惑:
看了demo的代码,还是有点疑惑,
一般以为使用是这样的,启动统一初始化DataReporter(相关设置)、在各处需要上传的时候添加到上报队列、上报(处理回调)
疑问在第二点添加上报数据哪里,初始化的时候把DataReporter设置为全局对象,添加直接拿到对象添加吗?

爆内存的风险

发送速度跟不上产生数据的速度,这个时候内存一直在涨,长时间下来有可能爆内存。

java.lang.UnsatisfiedLinkError

No implementation found for long com.iget.datareporter.DataReporter.makeReporter(java.lang.String, java.lang.String, java.lang.String, com.iget.datareporter.IReport) (tried Java_com_iget_datareporter_DataReporter_makeReporter and Java_com_iget_datareporter_DataReporter_makeReporter__Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Lcom_iget_datareporter_IReport_2)

gradle:
minSdkVersion 21
targetSdkVersion 30
versionCode 23
versionName "1.1.6"
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}

packagingOptions {
    pickFirst 'lib/arm64-v8a/libc++_shared.so'
    pickFirst 'lib/armeabi-v7a/libc++_shared.so'
}

使用的版本: api 'com.luojilab.component:datareporter:1.4.4'

UnsatisfiedLinkError

使用Kotlin代码实例化mDataReporter的时候报错。

使用这行代码实例化:
mDataReporter = DataReporter.makeDataReporter(uuid, applicationContext.filesDir.path, key, reportImp)

报错信息如下:
java.lang.UnsatisfiedLinkError: No implementation found for long com.iget.datareporter.DataReporter.makeReporter(java.lang.String, java.lang.String, java.lang.String, com.iget.datareporter.IReport) (tried Java_com_iget_datareporter_DataReporter_makeReporter and Java_com_iget_datareporter_DataReporter_makeReporter__Ljava_lang_String_2Ljava_lang_String_2Ljava_lang_String_2Lcom_iget_datareporter_IReport_2) at com.iget.datareporter.DataReporter.makeReporter(Native Method) at com.iget.datareporter.DataReporter.<init>(DataReporter.java:82) at com.iget.datareporter.DataReporter.makeDataReporter(DataReporter.java:37)

gradle是这样引入的:
api 'com.luojilab.component:datareporter:1.3.8'

未做代码混淆

数据不上报问题

我push了很多条数据,却一直不会走到upload回调,不知道是什么情况?和我这边是多进程APP有关吗,reporter的实例化是放在Application的onCreate()中做的

会有APP长时间使用时上报线程被杀死的情形

从用户反馈的文件分析看,初始的一段时间上报都是正常的,APP连续使用超过二十个小时后,只有push记录,没有upload记录,怀疑是线程挂了。
目前版本1.3.9,尚未升级到最新版本。
这是一个已知问题吗,当前最新版本里有修复这个问题吗?

armeabi libdata-reporter.so

因项目仅支持armeabi下so,请问armeabi-v7a 下so可以放入armeabi下吗? 或者提供下armeabi so
谢谢

接入后出现crash: SIGBUS(BUS_ADRERR)

版本:1.3.9
image

image

麻烦看下

额外说明下,我们项目里配置只会把armeabi-v7a的so打进apk,但是我看出现这个crash的设备CPU架构基本都是arm64-v8a。之前版本接的是1.3.8,并没有看到有报这个问题,新版本换到1.3.9发布后,突然报上来100多次crash。

上报间隔传参问题

image
demo里写的10秒间隔传的是10,我怎么觉得是传10*1000呢,是我哪个地方没注意到吗

1.3.3和1.3.4的用户麻烦尽快升级1.3.5

1.3.3 和 1.3.4版本的用户麻烦尽快升级1.3.5
1.3.3和 1.3.4 为了修复 reweaken不及时问题,有概率性造成数据上报顺序不正确 和 上报数据不及时问题。 1.3.5已经修复该问题。
麻烦尽快升级1.3.5
1.3.5接口进行了重新封装,功能不变,只是把native指针封装起来,不再对外暴漏,请知悉。

upload数据重复

当本地多条数据上传失败后本地数据会重复
这个方法是转换成STring
private String getDataToString(byte[][] data) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
for (int i = 0; i < data.length; i++) {
if (data[i] != null) {
out.write(data[i]);
}
}
out.close();
} catch (Exception e) {

            }

多条数据上传失败后,数据重复
数据监听_DataReporter获取地址: /data/user/0/com.iflytek.apm/files/tombstones/tombstone_00001662382446920000_1.0__com.iflytek.apm.java.xcrash/data/user/0/com.iflytek.apm/files/tombstones/tombstone_00001662382449409000_1.0__com.iflytek.apm.java.xcrash/data/user/0/com.iflytek.apm/files/tombstones/tombstone_00001662382452176000_1.0__com.iflytek.apm.java.xcrash/data/user/0/com.iflytek.apm/files/tombstones/Martix_exception1662382457344.txt/data/user/0/com.iflytek.apm/files/tombstones/Martix_exception1662382460344.txt

正常数据为:/data/user/0/com.iflytek.apm/files/tombstones/Martix_exception1662383143151.txt

解码时造成的crash

Binder:21540_1(21589)

SIGSEGV(SEGV_MAPERR)
#00 pc 0005f48c /apex/com.android.runtime/lib/bionic/libc.so (__memcpy_base_a55+180) [armeabi-v7a]
#1 pc 000a81d7 /apex/com.android.runtime/lib/bionic/libc.so (fread_unlocked+102) [armeabi-v7a]
#2 pc 000a813f /apex/com.android.runtime/lib/bionic/libc.so (fread+38) [armeabi-v7a]
#3 pc 0002b3fc libdata-reporter.so DecodeData (/Users/lzt/Downloads/DataReporter-master/src/core/base/MiniPBCoder.cpp:193) [armeabi-v7a]
#4 pc 0002ae9c libdata-reporter.so DecodeItem (/Users/lzt/Downloads/DataReporter-master/src/core/base/MiniPBCoder.cpp:31) [armeabi-v7a]
#5 pc 0003cc5c libdata-reporter.so ReadData (/Users/lzt/Downloads/DataReporter-master/src/core/reporter/FileInputStream.cpp:68) [armeabi-v7a]
#6 pc 00030c2c libdata-reporter.so ReadFromFile (/Users/lzt/Downloads/DataReporter-master/src/core/reporter/DataProvider.cpp:114) [armeabi-v7a]
#7 pc 0002f398 libdata-reporter.so ReadData (/Users/lzt/Downloads/DataReporter-master/src/core/reporter/DataProvider.cpp:58) [armeabi-v7a]
#8 pc 0003f238 libdata-reporter.so Report (/Users/lzt/Downloads/DataReporter-master/src/core/reporter/Reporter.cpp:203) [armeabi-v7a]
#9 pc 0004a750 libdata-reporter.so __call<std::__ndk1::__bind<void (future::Reporter::*)(), future::Reporter *> &> (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/functional:2227 [Inline: __mu<future::Reporter , std::__ndk1::tuple<> >]) [armeabi-v7a]
#10 pc 0004a4a8 libdata-reporter.so operator() (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/functional:1562) [armeabi-v7a]
#11 pc 0005740c libdata-reporter.so operator() (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/functional:1924) [armeabi-v7a]
#12 pc 00058194 libdata-reporter.so operator() (/Users/lzt/Downloads/DataReporter-master/src/core/reporter/Reporter.cpp:424) [armeabi-v7a]
#13 pc 00058138 libdata-reporter.so __call<(lambda at /Users/lzt/Downloads/DataReporter-master/src/core/reporter/Reporter.cpp:422:26) &> (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/__functional_base:349 [Inline: forward<(lambda at /Users/lzt/Downloads/DataReporter-master/src/core/reporter/Reporter.cpp:422:26) &>]) [armeabi-v7a]
#14 pc 00057eec libdata-reporter.so operator() (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/functional:1562) [armeabi-v7a]
#15 pc 0005740c libdata-reporter.so operator() (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/functional:1924) [armeabi-v7a]
#16 pc 000624f4 libdata-reporter.so run (/Users/lzt/Downloads/DataReporter-master/src/core/thread/HandlerThread.cpp:89) [armeabi-v7a]
#17 pc 00064ee8 libdata-reporter.so __call<std::__ndk1::__bind<void (WTF::HandlerThread::
)(), WTF::HandlerThread *> &> (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/functional:2227 [Inline: __mu<WTF::HandlerThread , std::__ndk1::tuple<> >]) [armeabi-v7a]
#18 pc 00064c60 libdata-reporter.so operator() (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/functional:1562) [armeabi-v7a]
#19 pc 0005740c libdata-reporter.so operator() (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/functional:1924) [armeabi-v7a]
#20 pc 00065060 libdata-reporter.so __thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_deletestd::__ndk1::__thread_struct >, std::__ndk1::function<void ()> > > (/Users/lzt/android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/thread:352 [Inline: __thread_execute<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_deletestd::__ndk1::__thread_struct >, std::__ndk1::function<void ()>>]) [armeabi-v7a]
#21 pc 000ac4dd /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void
)+20) [armeabi-v7a]
#22 pc 00062989 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30) [armeabi-v7a]

SIGSEGV(SEGV_MAPERR)

版本:1.3.9
image
麻烦看下
额外说明下,我们项目里配置只会把armeabi-v7a的so打进apk,但是我看出现这个crash的设备CPU架构基本都是arm64-v8a。之前版本接的是1.3.8,并没有看到有报这个问题,新版本换到1.3.9发布后,突然报上来100多次crash。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.