最佳日常交易
最佳日常交易

关于Androidbob体育提现bob哪个彩靠谱权威的链接可能会使我们赢得佣金。学到更多。

bob体育提现Android NDK - 您需要知道的一切

Andrbob体育提现oid NDK允许您在Android应用中使用C/C ++代码。这是我们开始使用Android NDK的指南。bob体育提现
经过
2017年7月7日
bob体育提现Android NDK
尽管Java是Android的默认编程语言,但它并不总是制作应用程序,特别是游戏的最佳方法。bob体育提现许多用于使Android游戏的发动机使用Androibob体育提现d Native Development套件(NDK),因为NDK允许开发人员以C/C ++编写编译为本机代码的C/C ++。这意味着NDK游戏/应用程序可以从设备中挤出更多性能。这是您有关如何使用Android NDK的指南。bob体育提现

bob体育提现初学者的Android SDK教程
消息

什么是Android Nbob体育提现DK?

Andrbob体育提现oid Native Development Kit允许开发人员从设备中获得最大的性能,这可能对Unity或Unreal Engine等游戏引擎有益。由于源代码直接被编译到CPU的机器代码中(而不是与Java一样),因此开发人员能够获得最佳性能。如果您绝对需要使用某些东西,也可以使用其他开发人员的库或您自己的库。

这个怎么运作

Cfileinas
“ NDK构建”脚本是Android NDK的核心,它负责自动浏览您的项目并确定要构建bob体育提现的内容。该脚本还负责生成二进制文件并将这些二进制文件复制到您的应用程序的项目路径中。

您有能力使用“本机”关键字来告诉编译器该实现是本地的。一个例子是

公共本地int数字(int x,int y);

NDK还从本机源代码和本机静态库(.A)构建的本机共享库(.so),这些库可以与其他库链接。应用程序二进制接口(ABI)使用.SO文件确切知道应用程序运行时应用程序的机器代码如何与系统一起使用。NDK默认支持ARMABI以及MIPS和X86。可以找到有关ABI的更多信息这里

一切都在称为Java本机接口(JNI)的接口下工作,这就是Java和C/C ++组件相互交流的方式。可以找到有关JNI的更多信息这里

如果要使用NDK构建脚本构建,则需要创建两个文件:android.mk and Application.mk。bob体育提现Andrbob体育提现oid.mk需要进入您的JNI文件夹,并定义模块加上其名称,构建标志(库链接到指向)以及需要编译哪些源文件。application.mk也在JNI目录中。它描述了本地人模块您的应用需要。

如何安装和使用

ndkmainactivity
安装Android NDK就像bob体育提现在OS X上使用Android SDK> Android SDK> Android NDK一样容易,并在Windows上的File>“设置”>“设置”>“设置”> Android SDK> SDK工具> NDK。安装后,您将需要进行更多的调整以使您的应用程序准备好使用NDK。我们将以新应用程序为例。您将需要Android Stbob体育提现udio 2.2或更高版本才能继续,请确保在开始之前拥有最新版本。创建一个新项目,并在提示时选择“基本活动”。单击“播放”按钮以运行该应用程序以确保其起作用。一旦设置了一切,让我们准备一切准备本地开发:

根据您的操作系统,转到偏好或设置,然后单击“构建工具”> Gradle,然后选择“尚未选择默认的Gradle包装器(建议)”。

这里并注意版本。打开您的项目,而不是模块的build.gradle并更换classpath'com.abob体育提现ndroid.tools.build:2.1.0'classpath'com.abob体育提现ndroid.tools.build:Gradle-实验:版本号'
这将用Android NDK支持代替稳定版的Gradle版本。bob体育提现

转到模块的build.gradle,然后用以下方式替换旧代码:

代码
apply plugin: 'com.bob体育提现android.model.application'model { android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.example.abutt.aandk" minSdkVersion.apiLevel 22 targetSdkVersion.apiLevel 23 versionCode 1 versionName "1.0"} buildTypes {repares {minifyEnabled false proguardfiles.add(file('proguard-anbob体育提现droid.txt')}}}}}}} ndk {modulename“ hello and android-jni”}}}}} //其他下方的行:没有更改

运行该应用程序并确保所有内容都可以正常工作,并且该应用程序的作用像以前一样。在build.gradle中的“ buildTypes”块下方。

代码
ndk {modulename“ hello abob体育提现ndroid-jni”}

在您的应用程序的mainActivity.java中,将其添加到程序的末尾:

代码
//新代码static {system.loadlibrary(“ Hello-Androidbob体育提现-jni”);}公共本机字符串getmsgfromjni();//完成新代码} //类MainActivity

运行程序并确保一切仍在应有的工作状态。接下来是制作c/c ++文件,您应该注意到getMsgfromjni()函数是红色的,将鼠标悬停在功能上,直到红色灯泡弹出为止。单击灯泡,然后单击创建功能的第一个选项。

C/C ++文件将在一个名为“ JNI”的新文件夹下。打开此文件并将其粘贴到文件中:

#include jniexport jstring jnicall
Java_com_example_abutt_aandk_MainActivity_getMsgFromJni(JNIEnv *env, jobject instance) {// TODO
返回(*env) - > newstringutf(env,“来自jni!这是在C中完成的!”);
}

确保将“ com_example_abutt_aandk”更改为应用程序的名称。该文件由getMsgfromjni()函数读取,以显示“ jni的Hello!这是完成的!”

返回到您的应用程序的主动脉,然后将其添加到ongreate()方法的末尾:

((textView)findViewById(r.id.jni_msgview)).SetText(getmsgfromjni());

而已!您的应用程序应正确运行并使用Android NDK!bob体育提现现在,这不是关于如何使用NDK的现实示例。一个更现实的世界示例将为OpenGL和Vulkan开发,或者使用具有NDK内置的Unity或Unility引擎之类的引擎。

包起来

Andrbob体育提现oid NDK具有一些非常具体的用途,可能不应该在日常开发中使用。但是NDK为发动机创建者提供了一种优化其产品为Android的好方法,在使用更少的资源的同时,可以实现出色的图形功能。bob体育提现使用Android NDK制作简单的应用程序并不难,并且使用某些练习,本机obob体育提现penGL是一种真正的可能性。您是否使用Android NDbob体育提现K进行开发?在下面的评论中让我们知道!