是否可以从 JNI 创建 Android Activity?

问题描述 投票:0回答:1

我的应用程序是 C++,它创建一个 JNI JVM(原始 JVM,带有我的一些 .class 文件的类路径)。

上面的 JVM 是一个核心 Java 虚拟机,无需了解 android。

如何向 Android SDK 添加类路径以执行以下操作:

import android.content.Intent;

在我的 .java 文件中?

这些导入将使用一些类,例如。 android.content.Intent等来创建一些活动。

仅使用 C++、JNI JVM、Android SDK,并且没有 Android Studio,是否可以为应用程序创建 MainActivity?

编辑:

我找到了将SDK中的

android.jar
添加到类路径的方法,但是一个新问题是
android.content.Context
是抽象的,无法实例化以使用其中的方法
.startActivity

android jvm java-native-interface classpath
1个回答
0
投票

如果您希望您的应用程序是原生优先的,您可以使用 GameActivity(或更旧的 NativeActivity)作为您的主要 Activity。

如果您想添加具有本机 UI 控件的屏幕,最简单的方法是添加 Java/Kotlin 活动并使用 JNI 从本机活动启动它。您可以通过将结果嵌入到传入

Intent
onActivityResult
中来回传递结果,或者简单地通过设置一些共享变量来来回传递结果。

© www.soinside.com 2019 - 2024. All rights reserved.