Bugly的使用

bugly已经改版了,免费的基础版本,速度很慢,勉强够用,这里大概介绍一下。

1.Android使用bugly

可以参考官网

1.上传符号表

参考bugly官网

上传SO符号表文件
bash 复制代码
cd 上传符号表工具文件夹【才能进下下一步操作】
bash 复制代码
java -jar buglyqq-upload-symbol.jar -appid a278f01047 -appkey 1e5ab6b3-b6fa-4f9b-a3c2-743d31dffe86  -version 4.3.0 -platform Android -inputSymbol /Users/lilyxie/Downloads/upload_target/obj/arm64-v8a/libbugly_dumper.so 

注意事项: 找到正确的SO符号表文件位置,暂时通过第八条中的方法找到SO符号表文件

在Android Studio中没有找到ndk和cmake文件夹的情况下,你可以通过以下几种方式查找so文件的符号表:

1. 查找已安装的NDK路径

首先检查你的项目是否配置了NDK:

arduino 复制代码
// 在app模块的build.gradle中查看
android {
    ndkVersion "21.4.7075529" // 如果有指定版本
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
}
2. 通过Android Studio查找NDK路径
  • 方法一:File → Project Structure → SDK Location → Android NDK location

  • 方法二:查看本地文件系统中的默认NDK安装路径:

    • Windows: %USERPROFILE%\AppData\Local\Android\Sdk\ndk
    • Mac: ~/Library/Android/sdk/ndk/
    • Linux: ~/Android/Sdk/ndk/
3. 使用adb命令获取设备上的so文件
bash 复制代码
# 查看应用安装目录下的so文件
adb shell ls -la /data/app/你的应用包名*/lib/arm64/

# 拉取so文件到本地
adb pull /data/app/你的应用包名*/lib/arm64/ libs/
4. 使用readelf查看符号表
bash 复制代码
# 如果有NDK工具链
readelf -s your_library.so

# 或者使用NDK中的readelf
${ANDROID_NDK_HOME}/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-readelf -s your_library.so
5. 使用objdump查看符号表
bash 复制代码
# 使用NDK中的objdump
${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-objdump -T your_library.so
6. 使用nm工具(如果可用)
复制代码
nm -D your_library.so
7. 在线符号表解析工具

如果只有so文件而没有编译环境,可以使用在线工具:

8. 从编译产物中查找

检查项目的以下目录:

  • app/build/intermediates/merged_native_libs/
  • app/build/intermediates/stripped_native_libs/
  • app/build/intermediates/transforms/mergeJniLibs/
9. 配置NDK的替代方案

如果确实没有安装NDK,可以通过以下方式安装:

bash 复制代码
# 使用sdkmanager安装
sdkmanager --install "ndk;21.4.7075529"

# 或在Android Studio中安装
# Tools → SDK Manager → SDK Tools → 勾选NDK

2.上传mapping.txt

bash 复制代码
cd 上传符号表工具文件夹【才能进下下一步操作】
bash 复制代码
java -jar buglyqq-upload-symbol.jar -appid a278f01047 -appkey 1e5ab6b3-b6fa-4f9b-a3c2-743d31dffe86  -version 4.3.1 -buildNo 1 -platform Android -inputMapping /Users/temp/app/build/outputs/mapping/r8/release/mapping.txt

产生mapping.txt需要在app/build.gradle设置,才能生产mapping.txt文件

arduino 复制代码
android {
    buildTypes {
        release {
            minifyEnabled true    // 必须为true才会生成mapping
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            // 自定义mapping文件输出路径
            applicationVariants.all { variant ->
                variant.outputs.all { output ->
                    def outputDir = new File("${project.buildDir.absolutePath}/mapping/${variant.name}")
                    variant.assembleProvider.get().doLast {
                        copy {
                            from variant.mappingFile
                            into outputDir
                        }
                    }
                }
            }
        }
    }
}
相关推荐
冬天vs不冷3 小时前
Java基础(十三):内部类详解
android·java·python
落叶霞枫4 小时前
【uniapp安卓原生语言插件】之华为统一扫码插件【保姆级】开发教程。
android·uni-app·android studio
wodongx1234 小时前
从零开始部署Android环境的Jenkins CI/CD流水线(docker环境,Win系统)
android·docker·jenkins
loitawu4 小时前
Rockchip平台 Android 11 到 Android 16 系统占用内存对比分析
android·ddr·内存占用·rockhip·android内存
用户2018792831674 小时前
浅谈View经GPU渲染绘制的过程
android
AD钙奶-lalala4 小时前
Android中开一个线程是ULT还是KLT
android
冬天vs不冷5 小时前
Java基础(十四):枚举类详解
android·java·python
2501_915106326 小时前
上架 App 全流程解析,iOS 应用上架步骤、App Store 审核流程、ipa 文件上传与测试分发经验
android·ios·小程序·https·uni-app·iphone·webview
补补2345612 小时前
解决漫步者H180Plus(TypeC)耳机连接三星手机后每次播放音频出现滴滴声
android·音视频·三星·typec·edifier·h180plus·滴滴声