当前位置:首页 » 安卓系统 » androidndk配置环境

androidndk配置环境

发布时间: 2022-07-09 10:16:43

㈠ 如何使用android的ndk建立native的开发环境

从网上看了一篇使用andriod的toolchain在cygwin上来建立android的开发环境,但是在vista上编译始终失败,在xp上能够成功。但是编译的时间比较长,而且对于新手来说也比较麻烦,难道就没有简单的方法吗?google已经把andriod的ndk已经放出来了,所以我就想着打它的主意了,把它配置一下,就能来开发c的程序了。旁边小伙肯定笑了,“搞啥?,有病啊,ndk就是一个开发native code的环境。”大哥,我当然知道了,虽然使用ndk来开发native code相对容易,但是它的.mk文件我看的是云里雾里,我本来想调用自己写的另外一个so库,都不知道在.mk文件里如何写,我现在也懒的去看ndk里面的mk文件,等哪天(哪天?天晓得是哪一天)有空了好好研究一下。好了,闲话少说,开练吧。首先安装cygwin,这个网上的教程多的是,就不说了,接着下载android ndk,这个在andriod的官网上就有了,然后下载一个从android模拟器里取system lib的工具busybox,然后调用命令

$adb push busybox /dev/sample/busybox

$adb shell chmod 777 /dev/sample/busybox

$adb shell ./dev/sample/busybox tar -cf /dev/sample/libs.tar /system/lib

$adb pull /dev/sample/libs.tar libs.tar

这样就将模拟器下的 /system/lib 目录的所有库(so)文件打包并下载下来了,解压libs.tar就得到了我们所需要的所有库文件。

接着将所有的文件 到 $(NDK)/build/prebuilt/windows/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1,好了,这个时候基本的配置工作就结束了,怎么样简单多了吧。

接着编写一个简单的c文件 tutorial01.c

#include <stdio.h>

int getinformation()

{

return 0;

}

然后编写一个Makefile文件

CC = /cygdrive/f/software/android/android-ndk-1.5_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-gcc

CFLAGS = -g -O2 -fPIC -DANDROID -I ./ -I ../ -I F:/software/android/android-ndk-1.5_r1/build/platforms/android-1.5/arch-arm/usr/include

SDFLAGS = -nostdlib -Wl,-T,armelf.xsc -Wl,-soname,$@ -Wl,-shared,-Bsymbolic -lc

CRT_OBJS= -lz -lm

all: libtutorial01.so

libtutorial01.so: tutorial01.o

$(CC) $(SDFLAGS) -o $@ tutorial01.o $(CRT_OBJS)

tutorial01.o: tutorial01.c

然后make,这个时候会报错 can't find "armelf.xsc", 在ndk的目录里搜索一下,搜到之后 到$(NDK)/build/prebuilt/windows/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1,然后make,成功。这样一个简单的so文件就生成了,这个时候如果想在android的虚拟机上运行,我们还需要给它包装一下。再编写一个文件test01.c,在这里是使用dl动态加载so文件,静态加载始终有问题,搞不清楚android是如何搜索目录,而且现在只能用绝对路径,这个问题还得仔细研究研究。

#include <string.h>

#include <jni.h>

jint

java_com_example_testffmpeg_testffmpeg_getinformation( JNIEnv* env,

jobject thiz )

{

void* filehandle = dlopen("/data/data/com.example.test/lib/libtutorial.so", RTLD_LAZY );

int ll = -1;

if(filehandle)

{

int( * getinformation ) ();

getinformation = dlsym(filehandle, "getinformation");

if( getinformation )

{

ll = getinformation();

}

else

{

ll = -3;

}

dlclose(filehandle);

filehandle=0;

}

else

{

ll = -2;

}

return ll;

}

同样再来一个Makefile文件

CC = /cygdrive/f/software/android/android-ndk-1.5_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-gcc

CFLAGS = -g -O2 -fPIC -DANDROID -I ./ -I ../ -I F:/software/android/android-ndk-1.5_r1/build/platforms/android-1.5/arch-arm/usr/include

SDFLAGS = -nostdlib -Wl,-T,armelf.xsc -Wl,-shared,-Bsymbolic -Wl,-soname,$@ -lc -L ../tutorial

CRT_OBJS= -lz -lm -ldl

all: libtest01.so

libtest01.so: test01.o

$(CC) $(SDFLAGS) -o $@ test01.o $(CRT_OBJS)

ok, make一下成功。好了,接下来使用andriod的sdk写一个简单的activity, testapp来测试其运行情况,以下是test01.java的代码。

package com.example.test;

import android.app.Activity;

import android.widget.TextView;

import android.os.Bundle;

public class test01 extends Activity

{

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

/* Create a TextView and set its content.

* the text is retrieved by calling a native

* function.

*/

TextView tv = new TextView(this);

// tv.setText( stringFromJNI() );

Integer ll = getinformation();

String lls = ll.toString();

tv.setText(lls);

setContentView(tv);

}

/* A native method that is implemented by the

* 'hello-jni' native library, which is packaged

* with this application.

*/

public native int getinformation();

/* this is used to load the 'hello-jni' library on application

* startup. The library has already been unpacked into

* /data/data/com.example.HelloJni/lib/libhello-jni.so at

* installation time by the package manager.

*/

static {System.loadLibrary("test");

}

}

在eclipse中运行,在模拟器上显示0,就表示成功了。
转载

㈡ 如何在Ubuntu下搭建Android NDK开发环境

1 搭建Android SDK开发环境

2 下载NDK开发包

3打开官网: 下载NDK 开发包,当前最新版本是r7b

下载解压到 ~/bin 目录下,

3 配置NDK环境参数

打开 ~/.bashrc文件:

㈢ android-ndk-r12b 在eclipse上怎么配置环境变量

一.插件的安装
如果你下载的是Eclipse Standard,请下载对应版本的cdt(我直接使用的是Eclipse IDE for C/C++ Developers 不要安装cdt的哦,我人比较懒,(*^__^*) 嘻嘻……)

比如 CDT 8.1.2 for Eclipse Juno cdt-master-8.1.2.zip,插入也比较简单和adt安装方式一样。再次不在赘述。以前NDK的版本还要Sequoyah插件(好久不更新了)来进行本地开发,现在不需要了。
二.环境的配置
1).首先进行配置NDK的配置,打开Eclipse的 Window->preferences->Android->NDK 然后选择路径你的NDK路径我的目录如下D:\android-sdk\android-ndk-r9 这个目录下有docs,sources,tests,samples e等等。 然后点击Apply,OK即可

2).首先导入hello—jni工程,然后点击右键->Properties你看见如下图所示的界面,这不是一个可以编译的NDK工程。你需要运行Cygwin或者在Eclipse配置。
我们首先使用Cygwin来生成程序的.so文件。打开Cygwin运行命令cd $ndk 这个ndk是之前你配置Cygwin环境变量设置的字符。然后cd samples/hello-jni
然后$ndk/ndk-build,你就可以看见生成.so文件成功的页面,这时候刷新或者clean工程 点击run as运行android程序。如下图:三.Eclipse 工程配置在Eclipse中开发c/c++
第二步运行完之后,你会发现你把Hello from JNI修改为AAA(随便写的) 这个字符串不好使,输出之后还是Hello from JNI 。你需要再次运行Cygwin才可以。当然这样比较麻烦,你可以在Eclipse中配置一下,就不要在运行Cygwin了。直接运行eclipse就可以了。
1)在HelloJni上右键->New->other(这一步一定是other)->c/c++>Convert to a C/C++ Project(Adds c/c++ Nature)->Next
然后选择你的工程HelloJni,选择转化为c工程,选择Makefile Project Cygwin GCC,点击Finish,再次点击Finish即可

2)你发现你的工程.c文件有很多错误。这个时候点击工程右键->Propreties这个时候你会发现和第二步的2)图多了二项 c/c++ Build 和c/c++ General.
点击 c/c++ Build
Use defult build commond的勾去掉 在Build command 填入bash <NDK路径>\ndk-build 例如bash D:\android-sdk\android-ndk-r9\ndk-build点击Apply OK即可。
点击c/c++ General
打开列表点击Paths and Symbols 在Includes 你看见Assembly GNU C (如果你在1)步选择的C++project还会有GNU C++) .这个时候要选择你所要的依赖库,由于hello-jni不需要过多的库文件所以
只需要点击Add D:\android-sdk\android-ndk-r9\platforms\android-9\arch-arm\usr\include 这样你就可以直接修改在Run as了。Ok成功运行。

㈣ android studio 2.2.2 32位怎么配置ndk cmake环境

编译mac静态库 这个比较简单,直接Xcode -GXcode,然后用xcodebuild命令即可。 编译Andoird静态库 编译android库我们同样可以引入一个toolchain文件,这里我是从 android-cmake 里面下载的。 在使用这个toolchain文件之前,我们先要使用ndk自带的make-standalone-toolchain.sh脚本来生成对应平台的toolchain.这个脚本位于你的NDK的路径下面的buil/tools目录下。 比如要生成arm平台的toolchain,我们可以使用下列命令: sh $ ANDROID_NDK / build / tools / make - standalone - toolchain . sh -- platform = android - $ANDROID_API_LEVEL -- install - dir = . / android - toolchain -- system = darwin - x86_64 -- ndk - dir = /Users / guanghui / AndroidDev / android - ndk - r9d / -- toolchain = arm - linux - androideabi - 4.8 这里的$ANDROID_NDK为你的NDK的安装路径。这段命令可以生成arm的toolchain,最终可以编译出armeabi和armeabi-v7a静态库。 如果想生成x86的toolchain,指需要使用下列命令: sh $ ANDROID_NDK / build / tools / make - standalone - toolchain . sh -- platform = android - $ANDROID_API_LEVEL -- install - dir = . / android - toolchain - x86 -- system = darwin - x86_64 -- ndk - dir= / Users / guanghui / AndroidDev / android - ndk - r9d / -- toolchain = x86 - 4.8 最后,我们要告诉CMake使用外部toolchain文件,可以使用参数-DCMAKE_TOOLCHAIN_FILE=xxx。此外,我们还需要在导出两个环境变量给此toolchain文件: ...编译mac静态库 这个比较简单,直接Xcode -GXcode,然后用xcodebuild命令即可。 编译Andoird静态库 编译android库我们同样可以引入一个toolchain文件,这里我是从 android-cmake 里面下载的。 在使用这个toolchain文件之前,我们先要使用ndk自带的make-standalone-toolchain.sh脚本来生成对应平台的toolchain.这个脚本位于你的NDK的路径下面的buil/tools目录下。 比如要生成arm平台的toolchain,我们可以使用下列命令: sh $ ANDROID_NDK / build / tools / make - standalone - toolchain . sh -- platform = android - $ANDROID_API_LEVEL -- install - dir = . / android - toolchain -- system = darwin - x86_64 -- ndk - dir = /Users / guanghui / AndroidDev / android - ndk - r9d / -- toolchain = arm - linux - androideabi - 4.8 这里的$ANDROID_NDK为你的NDK的安装路径。这段命令可以生成arm的toolchain,最终可以编译出armeabi和armeabi-v7a静态库。 如果想生成x86的toolchain,指需要使用下列命令: sh $ ANDROID_NDK / build / tools / make - standalone - toolchain . sh -- platform = android - $ANDROID_API_LEVEL -- install - dir = . / android - toolchain - x86 -- system = darwin - x86_64 -- ndk - dir= / Users / guanghui / AndroidDev / android - ndk - r9d / -- toolchain = x86 - 4.8 最后,我们要告诉CMake使用外部toolchain文件,可以使用参数-DCMAKE_TOOLCHAIN_FILE=xxx。此外,我们还需要在导出两个环境变量给此toolchain文件: export PATH = $ PATH : . / android - toolchain / bin export ANDROID_STANDALONE_TOOLCHAIN = . / android - toolchain cmake - DCMAKE_TOOLCHAIN_FILE = . . / android . toolchain . cmake - DANDROID_ABI = "armeabi" . .收起

㈤ android studio ndk-build怎么配置环境

第一步:下载Android NDK。
第二步:为project设置ndk路径,在local.properties中,添加ndk.dir=<path-to-ndk>。
第三步:修改build.gradle文件。
第四步:创建jni文件。
第五步:创建测试类文件。
第六步:创建.h文件。创建.cpp文件。
第七步:进行测试

㈥ andorid studio 怎么添加ndk配置

1、新建一个Android工程,这一步就不多说了;
2、在AndroidStudio中配置NDK路径,方法是:
(1)先下载NDK并安装(这句基本是废话);
(2)点菜单栏的File->ProjectStructure…->在打开的窗口中左侧选中SDKLocation->在右侧Android NDK Location中填入NDK目录所在路径
3、编译生成.class文件,方法是:
点菜单栏的Build->Make Project
这时,在工程的app/build/intermediates下就会生成classes文件夹,打开classes目录下的debug目录就会看到以你的包名命名的各级文件夹,最里边文件夹下有你的Java类对应的.class文件;
4、确定你要引用本地方法的类:
其实你也可以先生成jni目录,再去创建这个类,但是先Google显然建议先创建要引用C代码的Java类,因为AndroidStudio可以根据你在java类中定义的native方法的名称来自动生成.h头文件。
比如你想在MainActivity中引用本地方法,那么你先用
static {
System.loadLibrary("myNativeLib");
}
来声明本地代码库,然后定义几个natvie方法,比如
public native String getStringFromNative();
5、使用javah命令行生成jni目录及对应的头文件:
我用的是AndroidStudio 2.1.1,在主界面最下边就能找到Terminal,点一下就能打开系统的命令行工具,并且已经为你自动cd到当前工程所在目录
6、配置build.gradle文件
这里的build.gradle是指app模块下的build.gradle,不是整个工程的build.gradle文件。在模块的build.gradle的defaultConfig下加入以下idk配置:

ndk {
moleName"myNativeLib"
ldLibs "log", "z", "m"
abiFilters "armeabi", "armeabi-v7a", "x86"
}
7、配置local.properties文件
打开工程目录下的local.properties,感觉这一步是自动配置的,或者说在你一开始在AndroidStudio中指定NDK目录时已经自动生成了。我的AndroidStudio在打开local.properties已经有了
ndk.dir=/Develop/Android/android-ndk-r10e
这一行,所以就不用配了;
8、配置gradle.properties
打开工程目录下的gradle.properties文件(注意不是build.gradle,而是gradle.properties),在文件的最后一行加入
android.useDeprecatedNdk=true
这句的作用是允许我们使用已经过时的NDK版本,不知道AndroidStudio要求使用哪个版本的NDK才不会报错,总之只要配置了这一句就可以使用比较旧的NDK版本了,我用的r10;
至此我们在AndroidStudio中就完成了NDK环境的配置,接下来就可以写Native代码了;
9、写一个.c文件测试一下是否运行正常
(1)在我们之前生成src/main/jni目录下新建一个.c文件,方法是在jni文件夹上点鼠标右键,选择New->C/C++ Source File,然后在弹出的对话框中填入.c或.cpp文件的文件名就可以了,比如说mail.c

㈦ android studio怎么自动配置ndk环境

第一步:下载Android NDK。
第二步:为project设置ndk路径,在local.properties中,添加ndk.dir=<path-to-ndk>。
第三步:修改build.gradle文件。
第四步:创建jni文件。
第五步:创建测试类文件。
第六步:创建.h文件。创建.cpp文件。
第七步:进行测试

㈧ android studio怎么配置ndk

① windwos上的android ndk环境搭建(附视频,同时包括xp,vasta,win7,win8,win8.1,win10等主流的windows版本);
② linux下的android ndk环境搭建(附视频,同时包括 mac系统,ubuntu系统,debian,红帽,麒麟等 unix和linux的主流操作系统);

㈨ android studio 怎么配置ndk 配置

一.安装Android Studio的准备工作 1.下载好JDK 去官网上找一个下载下来 2.安装JDK.并配置环境变量.安装过程可以一直下一步,无脑操作 3.下载Android Studio的安装包 去官网上找一个,下载下来 (jdk的环境变量一定要配置) 准备工作完成之后,就可以开始我们的安装了 1.安装Android studio也是无脑操作,一直点下一步。直到安装结束 2.安装好之后,我们要新建我们的项目。重点从这里开始 点击 New Project会出现.我们设置好名称,也可以无脑操作,一直点击next,直至结束,不过这个过程需要我们耐心的等待。(时间有点漫长)。 然后我们就会进入我们的开发界面。点击图片中红圈的图标(SDK manager)会出现下图 这个步骤是安装Android的sdk,推荐,Android1.6~Android4.4.2全部安装。(这个耗费时间挺长的,请在网速良好且大量闲暇时光下安装,安装过程中可以看部电影) 安装完之后,就开始配置我们的avd(Android Virtual Device),也就是Android的虚拟环境。点击,图片中红圈的图标 点击New(Test是我配置好的) 随便设置AVD name,建议如图设置 设置完成之后,就可以点击下图的三角号编译我们的程序了。

㈩ 如何在linux下配置AndroidStudio开发环境

配置开发环境具体步骤如下:一、设置root密码。因为ubuntu下为了安全,一般都是以普通用户进入系统。运行一些命令都需要root权限,如果之前没有设置root密码,只需要在终端运行:sudopasswdroot命令即可,要输入两次密码,密码不会回显出来。二、安装JDK1)首先下载JDK,下载页面:,选择Linux版本。下载下来后解压,配置环境,打开/etc/profile文件,在最下面输入下面的内容:exportNDK_HOME=/home/mayliang/programs/android-ndk-r7exportPATH=$NDK_HOME:$PATH/home/mayliang/programs/android-ndk-r7为NDK的根目录。保存关闭后,sudosource/etc/profile生效一下,然后在命令行输入:ndk-build,如果有下面的内容输出,则配置成功。AndroidNDK:!AndroidNDK:PleasedefinetheNDK_PROJECT_PATHvariabletopointtoit./home/mayliang/programs/android-ndk-r7/build/core/build-local.mk:102:***AndroidNDK:Aborting.Stop.进入到NDK目录下面的samples/hello-jni目录,然后输入:ndk-build,如果出现如下图所示,则证明NDK运行OK。最后配置文件/etc/profile如图所示:六、安装ADT打开eclipse,“Help”--->“InstallNewSoftware”,点击“Add”按钮,则会出现如下图界面:在“Name:”里面输入“adt”,在“Location:”里面输入:/android/eclipse/,最后点OK,然后一路Next就安装完成了。最后点击“Windows”--->“preferences”,出来如下图所示的界面,点击左侧的android,在“SDKLocation:”选择SDK的根目录,点下面的“Apply”,就会出来如图所示的界面,即OK。七、安装SVN安装步骤和安装ADT类似,更新地址:RemoveLanguages”按钮,会跳出来一个“InstalledLanguage”界面,在里面选择“Chinese(simplified)”最后点击下面的“ApplyChanges”即完成中文语言包的安装,里面也有中文输入,拼音,五笔都有。最上面的一行状态栏就会出现一个键盘标识,点击后出现一个菜单,选择“preferences”点击会出现一个如下图所示的界面,添加输入法就行了。

热点内容
超滤膜清洗剂怎么配置 发布:2025-04-06 10:13:11 浏览:974
存储过程什么时候用 发布:2025-04-06 10:12:17 浏览:36
混合型编程和 发布:2025-04-06 09:47:08 浏览:601
uc看缓存的视频 发布:2025-04-06 09:30:32 浏览:561
sql判断是否日期 发布:2025-04-06 09:29:12 浏览:316
存储过程参数空值 发布:2025-04-06 08:59:59 浏览:876
垃圾车压缩式垃圾车 发布:2025-04-06 08:55:00 浏览:209
如何给苹果iphone手机设置密码 发布:2025-04-06 08:49:17 浏览:814
安卓苹果王者荣耀数据转移在哪里 发布:2025-04-06 08:47:34 浏览:894
linux强制退出 发布:2025-04-06 08:47:33 浏览:667