Kivy Buildozer:.so lib文件缺少调试符号

时间:2018-03-20 16:54:23

标签: android android-studio debugging kivy buildozer

.so lib文件缺少调试符号

所以我尝试让我的bin / debug.apk在Buildozer VM中运行,但是加载adb并通过USB连接我的Android设备时出现问题,所以我将bin / debug.apk导出到我的桌面进行调试它在Android Studio中。但是,在它的第一步中,它会抛出一个错误,要求我将.so库替换为具有调试符号的相同库。

.so lib files missing debug symbols

在buildozer android调试阶段,这些是否存在于Buildozer VM中的任何位置?

有没有办法让这些带有符号的lib或者在Android Studio或Buildozer VM上没有它们?

2 个答案:

答案 0 :(得分:1)

附加本机调试符号

如果您的APK包含不包含调试符号的本机库(.so文件),则IDE会在消息窗口中向您显示警告。如果不附加可调试的本机库,则无法调试APK的本机代码或使用断点。

要附加可调试的本机库,请执行以下操作:

  1. 如果您尚未这样做,请确保download the NDK and tools
  2. Project 窗口的 cpp 目录下(仅在选择 Android 视图时可见,如下图所示),双击不包含调试符号的本机库文件。编辑器会显示一个表格,其中包含您的APK支持的所有ABI。
  3. 点击编辑器窗口右上角的添加
  4. 导航到包含要附加的可调试本机库的目录,然后单击 确定

如果APK和可调试的本机库是使用其他工作站构建的,则还需要按照以下步骤指定本地调试符号的路径:

    通过编辑编辑器窗口的 Path Mappings 部分的 Local Paths 列下的字段,将
  1. 添加到缺少的调试符号的本地路径,如下图所示。 在大多数情况下,您只需要提供根文件夹的路径,Android Studio就会自动检查子目录以映射其他源。 IDE还会自动将远程NDK的路径映射到本地NDK下载。
  2. 在编辑器窗口的路径映射部分中点击应用更改

Providing paths to local debug symbols.

您现在应该在 Project 窗口中看到本机源文件。像往常一样打开这些本机文件以添加断点和debug your app。您还可以通过在编辑器窗口的路径映射部分中单击清除来删除映射。

  

已知问题::在将调试符号附加到APK时,必须使用同一工作站或构建服务器来构建APK文件和可调试的.so文件。

Source

答案 1 :(得分:0)

我认为这些符号在构建过程的配方部分被python-for-android剥离。可能不会很难阻止这种情况(或者理想情况下添加禁用它的选项),但我认为目前没有。

如果您使用apk发布错误,我们或许可以帮助调试它,我通常不会看到需要调试符号来解决的问题。