Android 应用程序构建在 geotools 库上,缺少本机 java 库

2023-11-29

我想使用 eclipse 在 Android 应用程序中使用 geotools(目前是 8.0-M3,也可能是 2.7.3) 库。 (win7 教授,4GB 内存) 但是构建过程崩溃了,我收到以下错误

未处理的事件循环异常 Java 堆空间

java堆空间问题应该可以解决,但似乎还有更多。 (3GB 应该足够了,不是吗?)

我的最终目标是能够通过 OGC“网络要素服务”和“网络地图服务”在 geoserver 上请求 postgres postgis 数据库。

我已经将 eclipse ini 设置为

--launcher.XXMaxPermSize 128m --launcher.defaultAction 打开文件-vmargs -Xms40米 -XMX3700米

Geotools 需要的不仅仅是 android 库(与 jre6 (1.6.0_24) 相比)提供的。

-> 因此,我将 jre6 文件夹中的整个 jar 加上 jts-1.8.jar 以及 geotools jar 复制到一个单独的(win)文件夹中。 (Maven(在本例中未使用!)本身加载 jts-1.1.3 lib,这有什么区别吗?) 整个jar文件夹大小接近80Mb。

-> 在 eclipse android 项目结构中创建一个新文件夹。

-> 将win文件夹中的jar文件导入到eclipse中

-> 将 jar 添加到项目构建路径(应该将 java 移植到 dx) (经过很长一段时间(几天)的试用,这是我知道的唯一方法,为应用程序提供所有必要的类。至少 Eclipse 不会标记任何缺失的内容)。

编译完成后,eclipse控制台输出:

Dx 警告:忽略匿名内部类的 InnerClasses 属性......

几个班级。可能是因为jre lib。

我还有哪些其他选项可以为我的 android 项目中的 geotools 提供必要的 java 库? 或者你对我下面提到的试验有任何了解吗?

PS:Android书籍建议仅从jar文件中复制缺少的类(及其依赖项哈哈)......(我可能会更好地编写新的)

我已经尝试过使用 Maven 插件。它在使用 geotools 的纯 java 项目中运行良好,或者只要我不使用 geotools 就可以处理 android 项目。 如果maven包含一个使用geotools的android项目,则库由maven加载,但然后android会说类似“手动修改R类”之类的内容... (我无法恢复或重新创建)

有没有办法从 Eclipse 项目中复制 Maven 依赖库(其中应该包含我需要的内容)。 (我想我可以将 jars 从 win 存储库文件夹中复制出来,但这也包括许多其他 jars)。

Android 提供了“Java 本机接口”,允许使用 C++ 或其他库。是否可以选择解决缺少/交叉库的问题(我还没有 JNI 经验)?

该应用程序代码很短,如果对您有帮助,我可以粘贴它。


我还有哪些其他选项可以为我的 android 项目中的 geotools 提供必要的 java 库?

如果您需要标准 Java 发行版的一部分但 Android 中没有的类,那么您就运气不好了,除非重写 geotools 以避免需要这些类。

如果您需要属于其他第三方 Java 库的类,请将这些第三方 Java 库添加到您的项目中。

通过对 geotools 的简要检查,我怀疑它需要大量重写才能在 Android 上运行。

PS:Android 书籍建议仅从 jar 文件中复制缺少的类(及其依赖项哈哈)

我的书没有。任何提出这一建议的作者都需要检查一下他们的头脑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 应用程序构建在 geotools 库上,缺少本机 java 库 的相关文章

  • Android版本App更新代码

    我读到如果我们想更新Google Play中的应用程序 版本代码应该高于以前的apk文件 我有一个版本代码为 20 且版本名称为 1 0 的应用程序 那么要更新app 应该如何增加版本号呢 应该增加10吗 或者仅仅 1 就足够了 即版本代码
  • 使用 setText 更改文本后如何更新屏幕?

    现在我正在使用以下代码来更新TextView txtMain setText new text 该代码执行后 屏幕不会更新新文本 有没有办法可以强制文本立即更新 该代码执行后 屏幕不会更新新文本 一旦您将控制权归还给 Android 就应该
  • 多种语言的多种字体

    我最近在开发应用程序时遇到了一种情况 我必须在文本视图中显示不同的语言 目前我正在展示一些使用字体 字体像这样 Typeface tf Typeface createFromAsset this getAssets DroidHindi t
  • Android 辅助功能服务检测通知

    我试图让我的应用程序在显示通知时进行检测 我已在设置应用程序中启用它并且onServiceConnected确实接到电话 但是当我创建通知或通过 gmail 应用程序接收电子邮件时 什么也没有发生 onAccessibilityEvent没
  • RecyclerView 在聊天屏幕中的 notificationDataSetChanged 上滚动到顶部

    我正在尝试使用 recyclerView 创建消息传递类型的屏幕 该屏幕将从底部开始 并在用户到达聊天顶端时加载更多数据 但我面临着这个奇怪的问题 我的 recyclerView 在调用 notificationDataSetChanged
  • 在 Android 中跨单元测试和仪器测试共享资源

    现在谷歌已经添加了实验单元测试支持 http tools android com tech docs unit testing support 如何在单元测试和仪器测试之间共享资源 例如 假设我有一个TestUtils java我希望在单元
  • 表面视图+gl表面视图+框架布局

    我是 java 和 OpenGL 的新手 我正在尝试获得一个相机预览屏幕 能够 同时显示 3D 对象 浏览完样本后 api 演示 我想结合示例的代码 api 演示就足够了 但不知何故它不起作用 迫使我 启动时关闭 错误被称为空指针 例外 有
  • 如何将设备屏幕位置转换为发送事件位置?

    我知道关于input tap x yshell 命令 但是 我想了解如何 使用执行单击sendevent命令 我能够通过以下命令实现它 sendevent dev input event5 3 53 X sendevent dev inpu
  • 通知声音不适用于 api 10 android

    我用这个功能来显示状态notification 一切正常 但没有声音播放notification public void notifiction main String ticker String title String text int
  • 将非 Android 项目添加到 Android 项目

    我在 Eclipse 中有三个项目 Base Server 和 AndroidClient Base和Server是Java 1 7项目 而AndroidClient显然是一个android项目 基础项目具有在服务器和 Android 客户
  • Android NDK 支持区域设置吗?

    我真正想做的就是使用格式化日期strftime x 以正确的顺序 在大多数平台上调用setlocale 足够 在 Android 上 我不断收到 美国日期 那么 Android 不支持语言环境吗 No setlocale and strft
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • Android:canvas.drawBitmap() 方法无法正常工作

    我已经发布了两个与此相关的问题 请参考此自定义饼图 1 https stackoverflow com questions 28343600 customize pie chart in quarter shape at the botto
  • Android应用主题更换流畅

    我正在开发一个提供白天和夜间主题的项目 我正在更改主题 夜间主题 AppCompatDelegate setDefaultNightMode AppCompatDelegate MODE NIGHT YES 日主题 AppCompatDel
  • Jetpack Compose 中复选框中的透明复选标记

    在我的 Compose 应用程序中 我需要创建一个圆形复选框 我已经通过下面的代码实现了这一点 Composable fun CircleCheckBox isChecked Boolean modifier Modifier Modifi
  • 找不到数据库路径是不可能的

    我对 android 开发很陌生 现在我正在尝试通过扩展 SQLiteOpenHelper 的类创建数据库 我确信数据存储在我的 Nexus 7 我用来测试应用程序的设备 上的某个位置 但是我找不到数据库的路径 我四处寻找其他类似的问题 所
  • 如何使用 isInEditMode() 在编辑器中查看自定义视图的布局

    我必须编辑一个具有自定义视图的软件 当我尝试编辑布局 xml 时 Eclipse 告诉我 在自定义视图中使用 View isInEditMode 可以在显示时跳过代码 在日食中 但我不知道how and where我必须使用isInEdit
  • JetPack Compose - 卡中行中的weight() 不起作用

    创建 Android 应用程序时 我将一些可组合项放在卡片的一行中 如下所示 但它没有按我的预期工作 我添加 weight 1f 的可组合项不再显示 data class Test val title String val text Str
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7
  • 在线性布局内的 ScrollView 内并排对齐 TextView

    我有一个带有滚动视图的线性布局 我想保留它的当前格式 但只需将 textView2a 和 textView3a 并排放置 而不会破坏我当前的布局格式 我已经包含了我最近的尝试 但它们似乎不正确 提前致谢 Java菜鸟 当前有效的 XML

随机推荐