通过configuration配置调试so
已有应用hap包entry-default-signed.hap,hap包包名com.example.soliba 要调试的三方源码so(需携带调试信息)liblocalso.so和其hello.cpp源码文件。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
通过configuration配置调试本地源码无法编译的so
727浏览 • 1回复 待解决
如何调试引用的外部so
797浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过配置so压缩选项减少应用包大小?
115浏览 • 1回复 待解决
在Camkelist配置so后,编译报错
743浏览 • 1回复 待解决
支持调试本地源码无法编译的so
716浏览 • 1回复 待解决
har包集成怎么配置so的架构
396浏览 • 1回复 待解决
HarmonyOS 如何通过dlopen的方式加载so
52浏览 • 1回复 待解决
Native Module依赖怎么配置且支持源码调试?
185浏览 • 1回复 待解决
Could not resolve all artifacts for configuration ':classpath'.
6396浏览 • 1回复 待解决
调试模式下 报Cause: Can't find any .so file in current module Solution
2047浏览 • 1回复 待解决
native如何通过命令行编译成so?
2539浏览 • 1回复 待解决
使用迁移调试工具报supportScene配置错误
196浏览 • 0回复 待解决
. > An error occur in configuration.
6135浏览 • 1回复 待解决
如何通过 DevEcostudio 正确配置项目依赖关系?
231浏览 • 0回复 待解决
安装hap提示:BundleName in the project configuration does not match that in the SigningConfigs.
1687浏览 • 1回复 待解决
HarmonyOS MAC系统利用DevTool工具调试Web页面无法配置端口映射
494浏览 • 1回复 待解决
Image默认支持拖拽事件,是否可以通过配置禁用?
300浏览 • 1回复 待解决
HarmonyOS 通过LLDB建立调试通道经常导致App崩溃退出
331浏览 • 1回复 待解决
升级鸿蒙3以后,虚拟机被限制进程,由于没有无线调试,通过usb调试激活也无法使用。
5421浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙JSVM中正确配置和使用调试器?
49浏览 • 1回复 待解决
Native so 编译 opencv,报找不到 libunwind.so
923浏览 • 1回复 待解决
openssl.so和ffrt.so异常日志分析
895浏览 • 1回复 待解决
有了代码签名特性后,开发者的so文件在调试,发布等阶段该如何部署
2101浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过ArkTools开发者接口进行调试垃圾回收?
96浏览 • 1回复 待解决
详细步骤
1、基于本地C++代码构建生成新so库。demo见solibA; solibA做了如下操作:
a、新建solibA工程,新建C++模块取名为localso;在localso的hello.cpp中定义方法并打多个断点;build编译生成so,路径solibA\localso\build\default\intermediates\libs\default\arm64-v8a
b、将arm64-v8a文件夹复制到entry-libs下,即entry\libs\arm64-v8a\liblocalso.so
c、在entry的build-profile.json5下设置编译选项,"abiFilters" : ["arm64-v8a"],即 "externalNativeOptions": { "path": "./src/main/cpp/CMakeLists.txt", "arguments": "", "cppFlags": "", "abiFilters" : ["arm64-v8a"] }
d:entry增加头文件apple.h,写入方法 int getvalue_local(); int add_local(int a, int b);
e:entry的hello.cpp调用方法 #include "apple.h" int value_b = getvalue_local(); value_b += add_local(1,2) + add_local(3, 4);
f、签名,编译entry,在solibA\entry\build\default\outputs\default目录下生成hap包entry-default-signed.hap
2、通过命令将entry-default-signed.hap运行到设备并拉起,参考 hdc install entry-default-signed.hap hdc shell aa start -a EntryAbility -b com.example.soliba
3、打开demo2工程,demo2做了如下操作
a、在entry的build-profile.json5下设置编译选项,"abiFilters" : ["arm64-v8a"]
b、进到entry的configuration配置,选择Debugger页签,点击Symbol Directories页签下的+号添加liblocalso.so,路径到arm64-v8a,即C:\Users\......\solibA\localso\build\default\intermediates\libs\default\arm64-v8a 保存configuration (若是复用demo工程,那么每次重新打开demo2需要删除Symbol Directories配置然后重新添加,因为此处没有做持久化)
4、demo2工程选中entry,build编译,签名,点击attach,勾选Show all processes,选择com.example.soliba,OK;
设备上点击控件触发调用关系,会打开源码文件即localso的hello.cpp,可进入断点进行调试;点Step Over执行到下一行、点Resume Program执行到下一个断点、点Step Into进到汇编。