通过configuration配置调试so
已有应用hap包entry-default-signed.hap,hap包包名com.example.soliba 要调试的三方源码so(需携带调试信息)liblocalso.so和其hello.cpp源码文件。
HarmonyOS
赞
收藏 0
回答 1
相关问题
通过configuration配置调试本地源码无法编译的so
1269浏览 • 1回复 待解决
如何调试引用的外部so
1272浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过配置so压缩选项减少应用包大小?
1040浏览 • 1回复 待解决
支持调试本地源码无法编译的so
1368浏览 • 1回复 待解决
在Camkelist配置so后,编译报错
1173浏览 • 1回复 待解决
多人开发的情况下,IDE中的Run/Debug Configuration下Application配置项是否有同步配置项的能力支持
1205浏览 • 1回复 待解决
har包集成怎么配置so的架构
1233浏览 • 1回复 待解决
Could not resolve all artifacts for configuration ':classpath'.
7131浏览 • 1回复 待解决
HarmonyOS 如何通过dlopen的方式加载so
713浏览 • 1回复 待解决
Native Module依赖怎么配置且支持源码调试?
967浏览 • 1回复 待解决
. > An error occur in configuration.
7216浏览 • 1回复 待解决
调试模式下 报Cause: Can't find any .so file in current module Solution
2672浏览 • 1回复 待解决
native如何通过命令行编译成so?
3372浏览 • 1回复 待解决
使用迁移调试工具报supportScene配置错误
912浏览 • 0回复 待解决
安装hap提示:BundleName in the project configuration does not match that in the SigningConfigs.
2813浏览 • 1回复 待解决
如何通过 DevEcostudio 正确配置项目依赖关系?
986浏览 • 0回复 待解决
HarmonyOS 多签名配置只能通过配置多products设置,希望可以在buildModeSet中增加签名配置支持
780浏览 • 1回复 待解决
HarmonyOS 配置SO压缩打包compressNativeLibs=true对应用的性能是否有影响
925浏览 • 1回复 待解决
HarmonyOS 开通服务后,需要重新配置调试和发布Profile吗,证书需要重新配置吗
632浏览 • 1回复 待解决
Image默认支持拖拽事件,是否可以通过配置禁用?
1027浏览 • 1回复 待解决
HarmonyOS MAC系统利用DevTool工具调试Web页面无法配置端口映射
1211浏览 • 1回复 待解决
HarmonyOS 通过LLDB建立调试通道经常导致App崩溃退出
934浏览 • 1回复 待解决
升级鸿蒙3以后,虚拟机被限制进程,由于没有无线调试,通过usb调试激活也无法使用。
6102浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙JSVM中正确配置和使用调试器?
917浏览 • 1回复 待解决
HarmonyOS 通过json配置动态import,如果配置和import的不是一个module,配置的路径要如何写?
1212浏览 • 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进到汇编。