mac android ndk 配置,Mac下用Android Studio运行NDK samples

打算将先前写的一个OBJ模型查看工具objViewer应用在Android平台上,借此了解一下Android平台的开发。现在做到了运行 NDK samples,将这中间遇到的问题记录一下。

Android环境

系统: Mac OS 10.11.1

JDK: java version "1.8.0_65"

IDE: Android Studio 1.5.1

Android SDK: r24.4.1

JDK是系统自带的,其他的是官网下载的。按照说明一步步安装就是,被墙困住的可以百度一下,教程很多。我将下载的包放在了百度云上,下载请点击

483084a3f4a34422b75a1c234a696617.png

NDK

配置

下载安装说明还是首推官网,不过很可惜还是被墙。NDK下载可以从上面的云盘中获得,中文指导可以看下面的两个链接:

可能遇到的问题

按上面配置说的运行例子,可能会遇到一些问题,下面按照我遇到的顺序说一下:

NDK插件错误

785983393615f4790606414e5a43b8a4.png

解决方法: 在项目根目录下创建配置文件gradle.properties,里面加入

android.useDeprecatedNdk=true

然后点击下图所示按钮,重新启动Gradle同步即可。

deca94b488a7379377c39a6a65a49052.png

NDK位置未指定

解决方法: 重新指定NDK位置,方法有二 1. 点击错误提示中的Select NDK,通过对话框选择 2. 在根目录的local.properties文件中添加

ndk.dir=/Users/charlyzhang/AndroidStudioProjects/android-ndk-r10e (NDK位置)

连接不上本地库

这个问题发生在例子hello-gl2中,Gradle同步没有问题,可连机编译时出现如下错误:

3ea924a2eeb8041ce5f12703717cefd0.png

显然是没有连接上Native Lib。 网上有人说:

在Android.mk中添加以下代码

LOCAL_LDLIBS := -llog -lGLESv2

没有解决我的问题,官方例子中已做好了这一步,问题依然在。

后来找到两个可行的解决方法,两个都是修改app文件夹下的build.gradle文件:

将**android{...}中的defaultConfig {...}**修改,添加如下连接信息:

45ee5facd11ee155e0910f7aaa1a603b.png

编译JNI本地库,再在**android{...}**中添加如下本地库重定位信息:

2c3a9a284586d276c5e248305c3f0af1.png

编译JNI本地库也可以采用两种方式:

手动编译:命令行进入app/src/main/jni文件夹,输入ndk-build命令;(这与导入例子后在根目录用ndk-build命令构建工程不是一步)

自动编译:在build.gradle文件的最后,**android{...}**以外添加如下代码:

task ndkBuild(type: Exec) {

commandLine 'ndk-build', '-C',file('src/main/jni').absolutePath

}

tasks.withType(JavaCompile) {

compileTask -> compileTask.dependsOn ndkBuild

}

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值