首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ndk代码支持断点调试

    背景 android的ndk代码编写一直被认为是很痛苦的一件事情,除了android程序员对c++的陌生外,还有一个主要原因是无法断点调试。无法断点调试很难发现和排查问题,大大影响开发效率。...老项目使用ndk-build构建,工程大的mk文件也很复杂,迁移和学习成本都很大。ndk-build和cmake只是编译方式的不同,两者均可以利用lldb进行断点调试,对于其它功能支持也是一样的。...但是对于android本身来说,大家相对都更熟悉ndk-build方案,而如果都能支持相同的功能,显然直接把ndk-build方案迁移过去成本最小。...cmake和ndk-build的可视化界面的方法。...但是我试着操作了一下,发现没有找到 link c++ project with gradle的选项。不过这个操作最终也是改gradle文件,我们直接修改gradle文件就行。

    4.3K61

    Android | 迁移到搭载M1芯片的Mac时的问题

    新近更换了搭载 M1 芯片的 Mac 电脑,在将旧电脑中正常运行的项目拷贝过来并运行时,出现了一系列的问题。本文对此进行相应的总结。 1.1....如果由于某些原因导致项目中的 ndk 无法升级,还可以继续参考下面的解决方案。 按照 《ndk-build 脚本中的 M1 支持 #1410》 描述,该问题是 ndk 与 M1 芯片不兼容导致的。...打开 ndk-build 文件 1.1.2.2.1....修改完成保存并退出,然后重新编译项目即可正常。 1.1.3....现象 在旧电脑中可以正常运行,但是迁移到新电脑之后,运行项目时一直提示找不到三方库的 .aar 文件,具体如下图: 该库的高版本可以正常获取,但是高版本中的 API 变更较大,切换后需要改的代码较多。

    4.5K40

    Android对so体积优化的探索与实践

    删除了调试信息和符号表的 so 完全可以正常运行,但是当它发生崩溃时,只能保证获取到崩溃调用栈的每个栈帧的相应指令在 so 中的位置,不一定能获取到符号。...所以在最优情况下只需导出 JNI_OnLoad(在其中使用 RegisterNatives 对 Java native 方法进行动态注册)和 JNI_OnUnload(可以做一些清理工作)这两个符号即可...可以减轻优化的工作量。如果没有合并 so,对 liba.so 和 libb.so 做体积优化时需要确定 libx.so 依赖了它们的哪些符号,才能对它们进行优化,做了 so 合并后就不需要了。...解析崩溃堆栈 本文的优化方案会移除非必要导出的动态符号,那 so 如果发生崩溃的话是不是就无法解析崩溃堆栈了呢?答案是完全不会影响崩溃堆栈的解析结果。...我们对后续工作做了如下的规划: 提升编译速度。因为使用 LTO、gc sections 等会增加编译耗时,计划调研 ThinLTO 等方案对编译速度进行优化。 详细展示保留各个函数/数据的原因。

    3.1K31

    Android NDK开发基础

    在build.gradle中配置ndk编译选项: android { defaultConfig { ndk { // 指定编译的abi架构...System.load(libPath); } } 二、NDK编译基础 NDK支持的编译方式有两种: (1)CMake:NDK的默认构建工具,可在CMakeLists.txt 构建脚本中配置编译选项...(2)ndk-build:可在Android.mk 和 Application.mk文件中配置编译选项,ndk-build的C++运行时默认值为none,ndk-build中默认停用C++异常,默认停用.../src/main/cpp/native-lib2/outputs ) 2.2 ndk-build基础 详细介绍见developer.android.com/ndk/guides/… (本文不重点介绍...在java代码中,可以通过Thread.start()启动一个线程; 对于在native代码中通过pthread_create() 或 std::thread 启动的线程,是没有JNIEnv的,也就无法调用

    2.3K21

    编译Android 使用的 libx264 并使用进行 H.264 编码

    在Android上使用大概有如下两种方式: 通过cmake的方式直接在Android Studio上使用 ndk-build编译成可直接使用的动态链接文件。 下面会详细介绍这两种方式的使用方法。...编码方法 这样就可以直接运行了,如果出现错误,可以参考 X264Cmake 注意:X264Cmake项目中assets目录下test.yuv文件由于太大,所以无法上传,可在终端通过下面命令将任意视频转为...ndk-build 通过ndk-build的方式,直接编译成动态链接文件,可以直接放在jniLibs目录下以供使用,就行正常的时候引入二进制文件一样。...// 执行ndk-build ~/Library/Android/sdk/ndk/android-ndk-r14b/ndk-build 如果出现如下提示就表示成功,如果不成功请在下方评论区留言。

    5.1K21

    详细记录在迅为iMX6开发板中运行可执行文件

    系统对应目录终端运行如下命令进行NDK编译生成可执行文件 /home/yinlong/Music/sdkapp/android-ndk-r14b-linux-x86_64/android-ndk-r14b/ndk-build...Android.mk  接着可以找到当前所在目录生成的可执行文件 二、将文件转移至开发板内 1.手动转移文件 通过USB线连接开发板与电脑,并且将开发板的USB用途(打开开发板主屏幕下拉即可看到)的选项设置为文件传输...接看到如下图所示的存储结构,需要注意的是,这是位于开发板的SD卡的位置,此时就可以把在Ubuntu生成的libs文件放到其中,在这里我选择放入Download目录下 (需要注意的是,直接从Ubuntu系统拖拽文件的话是无法放入到此文件夹下的...三、使用adb shell运行可执行文件 虽然此时生成的可执行文件已经在开发板内,但由于是放在SD卡中,由于开发板的一些设置,我们无法运行位于此处的可执行文件,所以我们需要将其转移到开发板内别的存储目录中

    36421

    cocos2d 在windows环境下搭建

    3、选择第一项,然后点击下一步: 4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变,之后点下一步: 5、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录...用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。...3、 输入$NDK/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。...($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序) 4、  此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!...你选择对应的,我的目录如下:D:\work\cocos2d-x-2.0.1\template\msvc) 补充:此处可能出现的问题有两种: 问题一:installWizardForVS2010.js 无法打开

    2K70

    Android Hook技术的学习经历分享

    总结:畏惧很正常,给自己一个干的借口 准备工作 要开始对它的学习,首先得指导它的机制,这方面网络上资料倒是挺多的,我的理解是: 在程序运行时,注入到程序进程中,查找要捕获的方法的地址,然后劫持它,让它跳转到自己的方法来执行...这里坑的一个坑就是:资料介绍的都是 ndk-build 构建,而我坚持要用最新最好的工具来做这个事情,因此,资料用 Eclipse ,我用 Android Studio;资料用 ndk-build 构建...substrate 运行的环境,需要root完全是因为hook的层次问题,如果是java层,需要root权限,如果是c/c++层,可以不需要root的,那么我只要能够在安装自己的apk的时候,就完成环境设置工作...本文中的hook技术,可以用在很多有价值,提升工作效率、改善代码依赖、增加系统安全上,也可以用在很多灰色产业上。

    1.6K31

    【Android Gradle 插件】自定义 Gradle 插件优化图片 ① ( Android 中的 WebP 图片格式使用 | WebP 格式转换 | WebP 参考文档 )

    瘦身 ; 之后的系列文章开始介绍如何使用 自定义 Gradle 插件 , 在编译时将资源中的图片都转为 WebP 格式 ; 注意 : 在低于 Android 3.2 版本的系统中 , WebP 格式无法使用...格式的图片 的前提是 API 版本需要大于 18 ; Android Studio 自带 WebP 转换功能 , 右键点击资源文件中的图片 , 弹出的菜单中有 " Convert to WebP … " 选项...WebP工具和函数库使用文档 : https://developers.google.com/speed/webp/docs/using Android NDK 编译构建脚本参考文档 : ndk-build...脚本 : https://developer.android.google.cn/ndk/guides/ndk-build Android.mk 构建脚本 : https://developer.android.google.cn

    1.7K10
    领券