安卓"hello world"应用程序在C++没有JNI
Android "hello world" app in C++ without JNI
我想在c++中编写一个简单的"Hello World" GUI(不是CLI)应用程序并在我的Android设备上运行它。我尝试了Android NDK包中的Hello-JNI样本,但它也使用了一些Java代码,我想用纯c++的方式来做,没有JNI。是否有可能或者我必须使用一些Java包装器?
用旧的方法来做会更好——不使用Eclipse,只使用c++代码文件+ makefile。
所有传统的Android应用程序,特别是那些有用户界面的应用程序,都需要一个可以由用户从主屏幕启动器启动的Activity
,并且Activity
必须是Java的。
NDK开发人员欢迎使用NativeActivity
作为Activity
,所以这些开发人员不必自己弄乱Java。有一个示例应用程序演示它的使用作为文档的一部分。
用旧的方法来做会更好——不使用Eclipse,只使用c++代码文件+ makefile。
你当然不必使用Eclipse,而且Eclipse支持将在3个月内结束,但是如果你想创建一个传统的Android应用程序,你必须使用Android SDK和NDK工具链来创建APK文件。
你不能直接用c++代码在Java中运行。你需要以某种方式连接它。您可以使用JNI桥接文件,在其中创建执行c++代码的java方法,或者您可以创建一个接口文件,然后在调用c++ .so库文件方法的java类中作为"本机"实现。
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 如果没有malloc,链表实现将失败
- 数组索引的值没有增加
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 在没有太多条件句的情况下,我如何避免被零除
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 变量没有改变?通过向量的函数调用
- 没有名称的C++模板参数
- 在线编译器中的分段C++没有打印消息
- 没有为自己的结构调用列表推回方法
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- 没有用于初始化C++中的变量模板的匹配构造函数
- 调用'begin(int [n])'没有匹配函数
- 使用C++程序合并排序没有得到正确的输出
- 为什么在这个代码结束循环中没有得到结束
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 用MacOS Mojave编译C++:致命错误:mpi.h:没有这样的文件或目录
- 没有显式声明的int[]中的foreach