gpt4 book ai didi

java - 不基于 JNI 的 Android 共享库

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:16:34 24 4
gpt4 key购买 nike

我正在为不使用 native 代码 (JNI) 的 Android 应用程序开发一个库。我曾尝试在我的 Android 项目中将库作为外部 jar 提供,但此方法不包含 apk 中的库内容,因此在模拟器或设备中运行时会抛出类未找到错误。我也尝试过将库本身创建为一个 Android 项目,这确实有效,但仅适用于公共(public)静态属性(不是方法)。由于库和应用程序都在单独的 apk 中,我可以看到 VM 注意到对库的引用并可以读取一些属性,但是当尝试在库中实例化一个类时,即使我可以读取,我也找不到类它的公共(public)静态属性(非常令人沮丧!!)。

我意识到 Davlik 字节码与 Java 字节码不同,但我什至找不到有关如何解决 Android 中看似非常简单的问题的有用信息。我现在正在研究旧的 PlatformLibrary 东西,但我不相信这会起作用,因为示例已从 Android 站点中删除:(

所以,如果可以的话,请帮助我,如果我在这之前找到答案,我会分享。

Android 万岁!

最佳答案

I have tried suppling the library as an external jar in my Android projects but this method does not include the library contents in the apk and thus throws class not found errors when run in the emulator or device.

将 JAR 放在您的 libs/ 目录中,它会自动包含在 APK 中。

sample project从我的一本书中可以看出如何使用 BeanShell JAR。此外,my GitHub page 上所有以“cwac-”开头的 GitHub 存储库是旨在通过 libs/ 目录构建 JAR 以包含在 Android 项目中的项目。

关于java - 不基于 JNI 的 Android 共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693174/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com