Linux命令行下编译Android NDK的示例代码
作者:李先静 发布时间:2023-02-13 17:19:54
标签:linux,android,ndk,编译
这几天琢磨写一个Android的Runtime用来加速HTML5 Canvas,让GameBuilder+CanTK 不但开发速度快,运行速度也能接近原生应用。所以花了点时间研究Android NDK,网上的资料都是讲IDE里的编译方法,这里记录一下命令行下的编译方法,供有需要的朋友参考。
这里以编译hello-gl2为例:
0.安装Android NDK/SDK,设置PATH变量(根据具体情况调整)
PATH=$PATH:/work/android/android-sdk-linux/platform-tools/:/work/android/android-sdk-linux/tools/
PATH=$PATH:/work/android/android-ndk-r8/build/tools:/work/android/android-ndk-r8/
export PATH
1.用android创建一个新工程
cd /work/android/android-ndk-r8/samples
android create project -n Hello -p hello -a Main -k com.hello -t 1
创建这个工程的目的是产生ant编译需要的文件:
build.xml
local.properties
project.properties
2.现在需要编译那个NDK例子,就把这几个文件拷贝到对应的目录下。这里编译hello-gl2:
[lixianjing@lixianjing samples]$ cp hello/build.xml hello-gl2/
[lixianjing@lixianjing samples]$ cp hello/local.properties hello-gl2/
[lixianjing@lixianjing samples]$ cp hello/project.properties hello-gl2/
3.然后编译,先用ndk-build编译原生代码,再用ant debug生产apk。
[lixianjing@lixianjing hello-gl2]$ ndk-build
[lixianjing@lixianjing hello-gl2]$ ant debug
来源:https://blog.csdn.net/absurd/article/details/44885991


猜你喜欢
- 一、写在前面的在需求上遇到背景设置透明度还是比较常见的,设置透明度有几种方式,但是不同的场景应用下,不同的方式可能会出现一些问题。针对开发过
- /// <summary> /// List转换成DataSet /// </summary> /// <ty
- 前言:List 去重指的是将 List 中的重复元素删除掉的过程。此题目考察的是对 List 迭代器、Set 集合和 JDK 8 中新特性的
- Java float和double精度范围大小要想理解float和double的取值范围和计算精度,必须先了解小数是如何在计算机中存储的:举
- 发疯的产品要做一个可以单选和多选的下拉列表,陪你玩玩吧。直接上效果:实现方案:我的思路是自定义一个类继承PopupWindow,里面的选项采
- 这篇文章主要介绍了springboot @Configuration @bean注解作用解析,文中通过示例代码介绍的非常详细,对大家的学习或
- 背景银行跨行转账业务是一个典型分布式事务场景,假设 A 需要跨行转账给 B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的
- 我使用的版本是SpringBoot 2.6.4可以实现注入不同的库连接或是动态切换库<parent>
- 本文实例讲述了C#实现根据年份计算生肖属相的方法。分享给大家供大家参考。具体分析如下:提供年份可以输出属相,代码比较简单,因为2008年为鼠
- C#实现的对两个Table进行Merge,两表必须存在至少一个公共栏位作为连接项,否则连接就失去了意义。如下是对两个table进行Merge
- 在servlet3.0标准之前,是每一个请求对应一个线程。如果此时一个线程出现了高延迟,就会产生阻塞问题,从而导致整个服务出现严重的性能情况
- 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。经典题,不多说,直接上代码import java.
- 调用和回调机制在一个应用系统中, 无论使用何种语言开发, 必然存在模块之间的调用, 调用的方式分为几种:1.同步调用同步调用是最基本并且最简
- java操作json对象出现StackOverflow错误今天在做项目的时候,遇到一个非常怪异的问题。一个java实体类中存在多个属性,每一
- 本文是利用C# 实现FTP客户端的小例子,主要实现上传,下载,删除等功能,以供学习分享使用。思路:通过读取FTP站点的目录信息,列出对应的文
- 1、使用步骤1)构建请求网址A、确定端点:每个GIS服务都有一个端点。例如,ArcGIS Server上Demographics文件夹下名为
- 文章来源:互联网 作者:skywoo/CSDNWindows2000+Apache2.0.48+resin2.1.6 &nbs
- 本文实例为大家分享了RecylerView实现流布局的具体代码,供大家参考,具体内容如下第一步:添加依赖compile 'com.a
- 前提:你的电脑是AMD处理器,想使用Android studio,自己的电脑系统是win10家庭版,在百度找到勾选hyper-v就能用,然后
- Mybatis Plus流式查询mybatis plus 中自定义如下接口,就可以实现流式查询,mybatis 中同样适用。@Select(