草庐IT

android - 在 android NDK 中使用 Vanilla GCC(或 Clang)

Android-NDK提供了自己的编译器来构建本地代码。我当前安装的android-NDK附带的版本是arm-linux-androideabi-g++(GCC)4.6.x-google20120106(prerelease),我猜它是GCC4.6的一个分支。它与常规(vanilla)GCC4.6之间有什么区别?它是否为ARM平台生成更好的代码?我想使用其他编译器为android构建软件,例如vanillaGCC4.7或Clang,因为它们对C++11有更好的支持并实现了一些我难以使用的功能(例如模板别名).是否可以使用最新的vanillaGCC或Clang来构建Android的nat

android - 如何在 Android NDK 的 Android.mk 文件中正确包含预建静态库?

我无法将我的库包含在AndroidNDK构建中。当创建虚拟cpp文件并在shell中使用直接g++命令构建所有内容时,这些库已正确编译并正常工作。当前的Android.mk文件不工作并抛出找不到相应头文件(属于.a文件的一部分)的错误。如何正确地包含预构建的静态库?我的Android.mk文件如下所示:LOCAL_PATH:=$(callmy-dir)#V8Baseinclude$(CLEAR_VARS)LOCAL_MODULE:=v8_baseLOCAL_MODULE_FILENAME:=v8_base_staticLOCAL_SRC_FILES:=../lib/libv8_base

android - ndk-build 输出 ‘error adding symbols. File in wrong format’

我想在我的Android项目中使用用C++编写的exiv2库。为此,我尝试使用AndroidNDK交叉编译库。对于交叉编译,我遵循以下步骤:将ndk路径添加到变量PATH$PATH="/home/patrycja/android-packages/ndk:${PATH}"$exportPATH安装用于Android交叉编译C/C++的标准工具链。./make-standalone-toolchain.sh--platform=android-21--install-dir=/tmp/my-android-toolchain--ndk-dir='/home/patrycja/androi

android - 如何在 Android Studio 中完全禁用 NDK 支持

我们有一个具有native支持的多平台项目,我们正在使用libgdx在AndroidStudio中进行开发。我们的构建适用于桌面、IOS、Android、AndroidWear和HTML5。在这些平台中的每一个上,我们都有一个我们正在使用的不同的“native”插件:IOS上的静态.anative库,Windows上的.dll,Android上的一堆.so文件和Javascript库在HTML5上。所有这些,除了HTML5版本,都是在不同的平台上构建的,因此不可能由相同的AndroidStudioNDK版本构建。问题是对于每个声明JNI例程的.java文件,AndroidStudio1

Android NDK 教程?

是否有任何不错的AndroidNDK示例和教程?我在哪里可以找到它们?如果有任何更专门针对游戏引擎开发的工具(因为我希望将我的引擎转换为android),那将是最有帮助的。 最佳答案 有一个blogpost官方博客上有一段时间是关于android游戏编程的。Quake还使用Java和native代码的混合移植到Android,并且已经opensourced.不确定从教程的角度来看它有多好,但查看实际代码总是比遵循基本教程更有帮助。 关于AndroidNDK教程?,我们在StackOver

android - NDK/JNI : identifying current thread

在JNI本地方法中,有没有办法在不调用Java的情况下知道当前线程的ID?线程本地存储也可以。编辑:pthread.h存在于NDK包含文件夹中...有谁知道Java线程是否对应于NDK实现中的POSIX线程? 最佳答案 您对哪个ID感兴趣?Dalvik线程转储包括以下内容:"main"prio=5tid=1TIMED_WAIT|group="main"sCount=1dsCount=0obj=0x40017730self=0x12798|sysTid=3167nice=0sched=0/0cgrp=defaulthandle=-21

Android NDK - 在 native 代码中使用 AssetManager

我需要在C/C++代码中处理Assets文件夹中的Assets。像这样缓存指向AAssetManager的指针是否安全...:AAssetManager*assetMgr=NULL;voidJava_com_example_createAssetManager(JNIEnv*env,jclassclazz,jobjectassetManager){AAssetManager*mgr=AAssetManager_fromJava(env,assetManager);assert(NULL!=mgr);assetMgr=mgr;}...然后在我需要的时候使用它?createAssetMan

android - 是否有机会通过访问 Android NDK 相机来减少快门时间?

我编写了一个Android应用程序,用于从相机捕获实时预览。快门时间短很重要,至少应该保持恒定。目前我使用以下代码来实现较短的快门时间:Parametersparams=camera.getParameters();params.setSceneMode(Parameters.SCENE_MODE_SPORTS);params.setWhiteBalance(Parameters.WHITE_BALANCE_DAYLIGHT);params.setFlashMode(Parameters.FLASH_MODE_OFF);params.setFocusMode(Parameters.FO

Android NDK - NativeActivity 与 JNI 库

两年前,我在android-7(Eclair)上开发了一个增强现实框架.由于AR应用程序是计算密集型任务,我开发了一个JNIc++库,JavaActivity使用它来呈现和注册虚拟环境。在Java中获取的传感器读数被传递到下划线c++库以计算虚拟环境的注册。三维对象由从GLSurfaceView调用的native绘制函数呈现。.这会导致大量JNI调用。现在我想将应用程序移植到android-15(IceCreamSandwich).从android-9(Gingerbread)开始Android允许使用NativeActivity.我想了解开发AR应用程序的更好方法。由于每个JNI调用

未找到 Android NDK 构建路径

当我尝试构建NDKOpenCVAndroid程序时,我看到了如屏幕截图所示的错误。我添加了以下行:NDK_HOME=C:\android-ndk-rd8导出NDK_HOME到我在cygwin中的.bashrc文件。我在Windows7上工作,我的NDK在C:\android-ndk-rd8我以为添加上面几行就可以解决问题,但是没有用。我如何让程序编译?我必须更改PATH变量吗?如果是这样,我该怎么做? 最佳答案 根据你的错误日志,我想你应该指定SA环境变量,你可以在项目的eclipse属性中进行:Projectproperties-