Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在手机上为Android开发_Java_Android_C - Fatal编程技术网

Java 在手机上为Android开发

Java 在手机上为Android开发,java,android,c,Java,Android,C,我读过AIDE,它可以直接在Android上开发和编译Java,但是C支持呢?我读到,PC安卓NDK只有在将其封装在dll中时才会添加完全的C支持,但更新的版本将允许应用程序直接在C中开发,而无需任何包装。 Android也有类似的功能吗?我知道c4droid和它的gcc插件,但我假设它是为x86开发的,而不是为ARM开发的。使用Android本机开发工具包(NDK),您可以使用C实现部分应用程序。如果编写本机代码,应用程序仍然打包到.apk文件中,并且它们仍然在设备上的虚拟机中运行。基本的An

我读过AIDE,它可以直接在Android上开发和编译Java,但是C支持呢?我读到,PC安卓NDK只有在将其封装在dll中时才会添加完全的C支持,但更新的版本将允许应用程序直接在C中开发,而无需任何包装。
Android也有类似的功能吗?我知道c4droid和它的gcc插件,但我假设它是为x86开发的,而不是为ARM开发的。

使用Android本机开发工具包(NDK),您可以使用C实现部分应用程序。如果编写本机代码,应用程序仍然打包到.apk文件中,并且它们仍然在设备上的虚拟机中运行。基本的Android应用程序模型不会改变。

我想,你可以在手机上安装linux(在本例中是Ubuntu),然后将开发环境放在那里

选中

您可以将NDK与JNI(Java本机接口)一起使用 以下示例很简单,可以帮助您快速理解NDK和JNI:

下面的文档包含更多关于NDK和JNI使用的示例和细节


您的C代码将构建为动态linux库(.so),并将在应用程序启动时加载。使用JNI将允许JAVA代码使用库中的C函数。使用这种解决方案(从JAVA调用C函数)是非常有用的,特别是当您有复杂且持续时间长的算法时。与Java相比,在C语言中执行这些算法所需的时间要少得多。

为什么要在手机上编写代码?那听起来像是一次可怕的经历!仅仅是出于对编程的热爱和未来几个月个人电脑的匮乏……现在有一些软件包声称可以让你在手机(或者更现实地说,平板电脑)上构建android应用程序。另一种选择可能是远程连接到运行普通linux的云计算机。本机代码实际上并不在DVM中运行,尽管它通常在一个进程中运行,该进程具有一个DVM,用于与android平台交互。此外,作为一项非官方功能,ndk将构建命令行可执行文件,目前可以从终端仿真器(或adb)外壳启动,尽管这些不是真正的“应用程序”,也没有普通的用户界面。或许,在仿生libc上移植ndk的必要部分以在android上运行并不是不可能的,但在chroot中移植ndk以在更传统的类似linux的环境中运行可能会更容易。我同意这个答案,没有一个单独的环境(基于C/C++)来编写应用程序,对于基于C/C++的系统,没有基本的整个应用程序支持。我的问题是根本不同的。我问我是否可以在Android上为Android编写和编译C,就像AIDE应用程序一样。你想用C开发整个应用程序吗?即使是用户界面?如果这是真的,我的回答对你没有帮助。我找到了这个网址,我不知道它是否对你有帮助。。