这里列举了一些在 Android 设备上调试应用的方法.
打包前在 game.project 打开 android.debuggable
选项
编译时选择 debug 模式.
选择 Profile or debug APK
选择刚打包好的apk文件
选择主 .so
文件, 确保其包含调试信息
如果没有调试信息, 提交一个带调试信息的 .so
文件. (文件大概 20mb 左右)
路径映射帮助你重新把应用的各个路径从编译的地方 (在云端) 映射到你的本地目录下.
选择 .so 文件, 再添加一个到本地的映射
如果你访问了引擎代码, 同样要添加一个对引擎代码的路径映射
* 确定checkout的是你正在调试的版本
defold$ git checkout 1.2.148
点击 Apply changes
现在你应该可以看到你的项目的代码映射了
加入断点
点击 Run
-> Debug "Appname"
然后调用加入断点代码
现在你就可以在调用栈中步进调试和查看变量状态了
目前, 工作流对于项目开发有点麻烦. 这是因为job目录名是随机的, 没法进行路径映射.
但是对于调试来说还是可行的.
路径映射保存在 Android Studio 项目的
这样就能获得当前应用的job目录名
$ arm-linux-androideabi-readelf --string-dump=.debug_str build/armv7-android/libdmengine.so | grep /job
job目录命名类似 job1298751322870374150
, 每次编译都随机命名.
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB