当前位置: 首页 > news >正文

珠海市网站建设_网站建设公司_留言板_seo优化

网站标题flash,怎么做淘宝客采集网站,网站建设的空间选择,网站建设营销怎么做Windows下使用AndroidStudio及CMake编译Android可执行程序或静态库动态库 文章目录 Windows下使用AndroidStudio及CMake编译Android可执行程序或静态库动态库一、前言二、编译环境三、示例C/CPP程序1、总体工程结构2、示例代码3、CMakeLists.txt#xff08;重要#xff09;4、…Windows下使用AndroidStudio及CMake编译Android可执行程序或静态库动态库 文章目录 Windows下使用AndroidStudio及CMake编译Android可执行程序或静态库动态库一、前言二、编译环境三、示例C/CPP程序1、总体工程结构2、示例代码3、CMakeLists.txt重要4、build脚本重要5、运行测试 四、总结 一、前言 之前在Android Studio中编写NDK C/C相关代码通过Gradle和CMake编译成动态库然后再利用JNI的方式进行调用。现在需要编译Android C/C可执行程序通过运行程序做一些小实验而这些小实验都是纯C/C编写不包含任何Java代码那么是否可以利用现成的环境进行开发呢之前我是一直在虚拟机上安装NDK利用其带有的交叉编译工具链进行编译但NDK的低版本和高版本变化比较大比如高版本取消了gcc改为使用clang因此导致在虚拟机上安装ndk进行编译的方式随着ndk版本的变化有了很多兼容问题所以学会cmake独立编译方式在现阶段具有一劳永逸的效果。 二、编译环境 通过Android Studio内置的SDK Manager下载NDK和CMake可参考下载NDK和构建工具 三、示例C/CPP程序 1、总体工程结构 由于单独运行camke命令来处理因此工程结构比较灵活可以将相关的代码都放到一个目录下紧凑且方便查找。 2、示例代码 addTest.c我这里以加载静态库或动态库的方式做示例实际场景中链接静态库或动态库更多最好是使用静态库拷贝动态库到Android设备上以及设置路径也挺麻烦的 // // Created by Administrator on 2023/12/5. // #include stdio.h #include addnum.hint main() {int res addtwo(1, 2);printf(add test res:%d\n, res);return 0; }3、CMakeLists.txt重要 引入动态库、静态库以及生成可执行文件、静态库、动态库等方法都是很有用的 # CMake最低版本号要求 cmake_minimum_required(VERSION 3.6)# 项目信息 project (addTest)#引入静态库 add_library(addnum STATIC IMPORTED) set_target_properties(addnum PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libaddnum.a) #引入动态库 #add_library(addnum SHARED IMPORTED) #set_target_properties(addnum PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libaddnum.so)# 设置目标文件的名字 set(TARGET_NAME addTest)# 生成可执行文件 add_executable(${TARGET_NAME} addTest.c) #生成静态库 #add_library(${TARGET_NAME} STATIC addTest.c) #生成动态库 #add_executable(${TARGET_NAME} SHARED addTest.c)# 链接库 target_link_libraries(${TARGET_NAME} addnum)4、build脚本重要 在执行cmake命令生成Android可执行文件时需要带上长长的参数为了简化此步骤这里编写一个脚本build.bat REM set abiarmeabi-v7a set abiarm64-v8a set ANDROID_SDK_HOMEC:/Users/Administrator/AppData/Local/Android/Sdkif not exist %abi% md %abi% cd %abi%%ANDROID_SDK_HOME%/cmake/3.10.2.4988404/bin/cmake ^-DANDROID_ABI%abi% ^-DANDROID_NDK%ANDROID_SDK_HOME%/ndk-bundle ^-DCMAKE_BUILD_TYPEDebug ^ REM -DCMAKE_BUILD_TYPERelease^-DCMAKE_TOOLCHAIN_FILE%ANDROID_SDK_HOME%/ndk-bundle/build/cmake/android.toolchain.cmake ^-DANDROID_NATIVE_API_LEVEL9 ^-DANDROID_TOOLCHAINclang -DCMAKE_GENERATORNinja ^-DCMAKE_MAKE_PROGRAM%ANDROID_SDK_HOME%/cmake/3.10.2.4988404/bin/ninja ^..%ANDROID_SDK_HOME%/cmake/3.10.2.4988404/bin/ninjacd ..脚本中的3.10.2.4988404指的是CMake的版本需要根据实际下载的CMake版本进行修改。 由于使用的是Windows系统这里给出的是bat脚本Linux/Mac的shell脚本可根据bat脚本进行相应的修改。 5、运行测试 使用Android手机通过USB数据线连接电脑或者使用模拟器。将生成的可执行文件通过adb命令push到设备上的/data/local/tmp下即可该路径具备运行程序的权限 $ adb push addTest /data/local/tmp $ adb shell $ chmod 777 /data/local/tmp/addTest $ /data/local/tmp/addTest add test res:3四、总结 之前一直使用ndk-build结合Android.mk在虚拟机上编译适用于Android的so目前发现很多兼容问题使用cmake方式后完美解决了这里做下总结。此外之前我们也总结过包含so和Java接口的jar包都是采用cmake的方式目前看来cmake方式要比Android.mk的方式要简单一些除了命令比较长之外.新的方式的掌握还是要靠官方文档以及自行尝试一些关键点突破了之后就没有那么难了。 参考文档 Android CMakehttps://developer.android.com/ndk/guides/cmake?hlzh_cn脱离AS在windows下使用CMake交叉编译for Androidhttps://blog.csdn.net/LLJJYY001/article/details/77866049
http://www.ihoyoo.com/news/139778.html

相关文章:

  • 制作网站上海网络公司经营范围和管理条例
  • 中国制造网国际站代做论文网站好
  • 海宏集团网站建设方案海东地区网络推广器
  • 浦东网站开发培训班最近国际新闻50条
  • 建设网站上申请劳务资质吗虚拟电脑可以做网站吗
  • 优客工场 网站开发江苏seo百度推广
  • 视频网站做app百度教育官网
  • iis网站做文件下载按钮炒股软件下载
  • 手机网站 生成app做语文综合题的网站
  • 重庆国外网站推广seo推广优化外包价格
  • 大连网站开发选领超科技中国新设计师联盟
  • 网站不显示内容求个网站带图片素材
  • 外贸公司怎么做网站旅游网站建设案例
  • 烟台公司网站开发hashone wordpress
  • 网站开发是否属于技术合同出口退税备案在哪个网站做
  • 建设银行指定网站网站建设静态部分总结
  • 优质的做网站网站上怎么做动画广告视频在线观看
  • 公司设计网站详情广州专业网站建设有哪些
  • 网站由哪些部分组成桥的设计网站建设
  • php网站开发背景介绍手机端网站开发语言
  • 网站共享备案可以申请支付接口用付费网站做推广
  • 门户系统1号线wordpress优化公司治理
  • 搭建论坛网站使用的系统辽阳网站推广
  • 北京市网站建设公司微信小程序登陆wordpress后台
  • 福建龙岩网站制作公司wordpress 图片放大
  • 中国互联网排名前十的公司搜索引擎优化的简称是
  • centos系统怎么做网站十堰网站建设是什么
  • 最新仿5173游戏装备交易网站 游戏币交易平台源码整合支付接口seo谷歌外贸推广
  • jquery网站模板江门网站制作培训学校
  • 网站建设的软件介绍asp作业做购物网站代码