NDK google 示例在启动时不断崩溃:本机活动示例

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

我需要了解如何从 C++ 端处理我用 Vulkan 编写的图形应用程序的触摸事件。

但是,当构建并尝试运行此示例时

https://github.com/android/ndk-samples/tree/main/native-activity

应用程序不会启动并退出,出现以下异常:

2023-08-31 16:41:54.034 30823-30823/com.example.native_activity E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.native_activity, PID: 30823
    java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: java.lang.ClassNotFoundException: Didn't find class "androidx.startup.InitializationProvider" on path: DexPathList[[],nativeLibraryDirectories=[/data/app/~~nm1QPyiOSe1QJMjxiB2Lxw==/com.example.native_activity-CIsNQYJ7K-5YYyMZr7Y73g==/lib/arm64, /data/app/~~nm1QPyiOSe1QJMjxiB2Lxw==/com.example.native_activity-CIsNQYJ7K-5YYyMZr7Y73g==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64]]
        at android.app.ActivityThread.installProvider(ActivityThread.java:8328)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:7828)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7577)
        at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2400)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:226)
        at android.os.Looper.loop(Looper.java:313)
        at android.app.ActivityThread.main(ActivityThread.java:8757)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.startup.InitializationProvider" on path: DexPathList[[],nativeLibraryDirectories=[/data/app/~~nm1QPyiOSe1QJMjxiB2Lxw==/com.example.native_activity-CIsNQYJ7K-5YYyMZr7Y73g==/lib/arm64, /data/app/~~nm1QPyiOSe1QJMjxiB2Lxw==/com.example.native_activity-CIsNQYJ7K-5YYyMZr7Y73g==/base.apk!/lib/arm64-v8a, /system/lib64, /system/system_ext/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at android.app.AppComponentFactory.instantiateProvider(AppComponentFactory.java:147)

有人知道如何通过这个吗?

这是我正在使用的android studio:

Android Studio Electric Eel | 2022.1.1 Patch 2
Build #AI-221.6008.13.2211.9619390, built on February 16, 2023
Runtime version: 11.0.15+0-b2043.56-9505619 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1792M
Cores: 16
Registry:
    external.system.auto.import.disabled=true
    ide.text.editor.with.preview.show.floating.toolbar=false
    cidr.max.intellisense.file.length=1000000

Non-Bundled Plugins:
    com.intellij.plugins.visualstudiokeymap (221.6008.15)
    GLSL (1.21)

谢谢你!

android android-ndk
1个回答
0
投票

这个问题花了很长时间才解决。但答案来自谷歌论坛。

从 AndroidManifest.xml 文件中删除以下行

android:hasCode="false"

然后就可以了。

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