问题标签 [java-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1525 浏览

android - Binding an Android Library Project without source in Xamarin

I've been trying this for quite a long time. I must have tried hundreds of different ways to make it work, but haven't had success yet. Let me describe what I'm trying to do.

I have got an Android Library Project called "androidservice" provided by a third party organisation. Because it is a close sourced project, the project only contains the relevant .jar file and its resources as shown in the project hierarchy below. (Please note, the actual .jar file is in the libs folder. I assume the one in the bin folder has no use because it has a very small size of 166byte and I take that it gets generated from an empty source when the project gets built).

enter image description here

I wanted to use this "androidservice" library project in Xamarin and I read many times the instructions on http://developer.xamarin.com/guides/android/advanced_topics/java_integration_overview/binding_a_java_library_(.jar)/

And I created an Android Java Binding Library in Xamarin and a zip file is added to it based on the last section of article of the link above. The structure of the binding project is shown below.

enter image description here

Where thirdparty.zip contains the bin folder and res folder of the "androidservice" project.

Now, because the original androidservice.jar in the bin folder doesn't seem to be a proper one (only 166byte) and with this jar file, the binding project gives an error of "at least one input jar must be specified" during build, I replaced this small jar with the "androidservice.jar" in the libs folder which has a much larger size of 845kb. The jar files in the Jars folder are all set to be "EmbeddedReferenceJar".

I then referenced this binding library in my Xamarin android project by adding it in the references.

With this set up, both the binding library and the android project builds. However, when running the app in debug mode on an Android phone, the error message:

The word opus seems to suggest it is something to do with the libopus.so.

I looked into all the links below, but none helped. http://forums.xamarin.com/discussion/8773/how-to-handle-so-libs-in-java-bindings-library

http://forums.xamarin.com/discussion/2267/using-a-java-library-and-a-native-library-jar-and-so-java-lang-unsatisfiedlinkerror

http://forums.xamarin.com/discussion/6088/loading-native-library

Any suggestions to possible solutions or ways to further debug it would be much appreciated.

full output:

0 投票
0 回答
925 浏览

java - 如何在java gdal中使用ogr2​​ogr

我想ogr2ogr -f "GeoJSON" destination.geojson source.geojson -s_srs EPSG:3068 -t_srs EPSG:4326用 java-gdal 编写代码。我试图通过查看这个示例来了解它应该如何工作,但由于 ogr2ogr 有很多用途,我无法完全确定与我相关的内容。这是我的尝试:

poOutputSRS.SetFromUserInput( destSRS );我在(即第 99 行)收到此异常:

0 投票
1 回答
3145 浏览

xamarin - Java 绑定:名称空间“...”中不存在类型“...”。你错过了一个集会吗?

我正在尝试为 Spotify Android SDK 创建一个 Xamarin Java 绑定。SDK 现在分为两部分,一是身份验证,一是播放器。以前的 java 绑定有效,但是,秒给了我一个错误。

最初的问题是在Xamarin 论坛上提出的。


你好,

我正在尝试为Spotify Android SDK创建一个绑定项目。

SDK 分为两个 .aar 文件。一种用于身份验证,一种用于媒体播放(播放器)。首先,我尝试将两个 .aar 文件都放在一个 Binding Project 中,但 Player.aar 被忽略了。但是,将其移至自己的位置似乎可行。

现在,我的问题与生成的 Java 接口有关NativePlayerNotificationCallbackIPlayerNotificationCallback因此缺少 og 通知),但在 Player 类中它试图实现:global::Com.Spotify.Android.Player.INativePlayerNotificationCallback.

INativePlayerNotificationCallback我在反编译的文件中找不到其他提及。只有IPlayerNotificationCallback.

我知道这有点难以想象。以下是在 JD-GUI 中看到的 java 类文件:

京东图形界面

生成的文件在此处列出: 在此处输入图像描述

在Com.Spotify.Sdk.Android.Player.IPlayerNotificationCallback.cs文件中:

在此处输入图像描述

以及错误信息本身

错误 CS0234:namespaceCom.Spotify.Sdk.Android.Player' 中不存在类型或命名空间名称 INativePlayerNotificationCallback'。您是否缺少程序集参考?

在此处输入图像描述

我真的很感激任何关于如何让它发挥作用的见解。在我看来,接口的命名有些不一致,但我不确定。

谢谢你的帮助,弗雷德里克

0 投票
1 回答
77 浏览

java - 在封闭的 Java 绑定 SDK 中,如何与将简单接口作为参数的方法进行交互?

使用 Xamarin 和 Java 绑定项目时,生成的绑定项目自然遵循 java 编码风格。即期望使用匿名类(实现简单的回调接口)作为参数。下面是一个java代码示例:

生成的 C# 代码也期望 anInitializationObserver作为第三个参数。但是,由于 SDK 已关闭并且我无法更改实现,因此我可以做到这一点的唯一方法是在内部类中实现接口及其“覆盖”方法。这对我来说似乎很不切实际。

在java中,我可以从匿名类(例如字段mPlayer)访问非静态成员,但是afaik这在C#中是不可能的。

在 Xamarin 中创建 Java 绑定项目时是否有另一种方法允许这样做?有没有更好的方法来处理生成的类?

谢谢你帮忙。弗雷德

0 投票
1 回答
512 浏览

java - 在内部类上绑定项目不一致的可访问性,但无法正确转换语法

我一直在尝试在 GitHub ( https://github.com/mattwhetton/TokenAutoComplete ) 上为这个令牌自动完成文本视图项目创建一个绑定项目。我基本上是想在 Xamarin / Mono (C#) 中将它移植给我们

我立即收到以下错误:

我理解错误并尝试添加转换以使 TokenImageSpan 内部类更易于访问,但我似乎无法理解语法错误。我尝试了以下两种变体:

但似乎两者都不起作用,两者都给我以下错误:

我猜测(可能是错误的)这与它们是嵌套类有关吗?!

0 投票
1 回答
694 浏览

android - 在 Xamarin 中绑定 Java 库时出现错误和警告?

我正在尝试将 SightCall Android SDK 集成到我的 Xamarin 应用程序中。由于 SDK 包含一个 jar 和 .so 文件,我需要将其绑定为 Java 绑定库,然后将其作为参考添加到我的项目中。我按照 Xamarin 网站中给出的创建 Java Binding 项目的步骤进行操作,但在构建后出现 12 个错误和许多警告。12个错误如下:

您能告诉我如何解决上述问题吗?

编辑

我已经注释掉了我尝试过的各种方法,因为我收到了一条警告,即删除的节点路径不匹配任何节点。

0 投票
0 回答
187 浏览

android - net.rtccloud.sdk.exception.RtccRuntimeException:无法在 Xamarin 中加载本机库

我正在尝试将 SightCall SDK 集成到我的 Xamarin Android 应用程序中。我创建了一个 Java 绑定库项目并创建了一个 Jars 文件夹并将 rtcc jar(Embedded Jar)放入其中,并在其中创建了一个 libs 文件夹和 armeabi、armeabi-v7a 和 x86 文件夹,每个文件夹都包含 libRtcc-6.2.1。 so(嵌入式本机库)文件。我构建了这个项目并生成了 dll。然后,我创建了一个 Android 应用程序,并将 Java Binding Library 项目的 bin\Release 文件夹中的 dll 作为参考添加到我的项目中。我试图调用集成 SightCall 的方法,但我得到了一条Java.Lang.ExceptionInInitializerError线Rtcc.Initialize (appId, context); 这是我得到的例外:

如果我缺少任何步骤以及我需要如何解决此问题,请告诉我?

0 投票
2 回答
697 浏览

java - 警告 BG8102:具有未知的基本类型 android.app.IntentService。(BG8102)。将 Java android 库绑定到 Xamarin 时

我正在研究 Xamarin 上的 BLE 项目。目前我正在研究无线设备固件升级(OTA-DFU)部分。我打算在 Xamarin 上使用本机 java Android DFU 库。

我正在关注将Java 库绑定到 Xamarin 的文档

最后编译器显示Warning BG8102: Class NO.Nordicsemi.Android.Dfu.DfuBaseService has unknown base type android.app.IntentService. (BG8102) (AndroidDUFLibrary). 我可以在 Xamarin 中引用转换后的 java 库。但是缺少某些类,我无法引用它。

你能告诉我如何解决缺失的课程问题吗?

0 投票
1 回答
1414 浏览

java - 用 Java 打包 GDAL

我有一个在 Win7 上使用 GDAL 绑定的 Java 项目。问题是由于绑定的性质,它需要设置环境变量才能工作,特别PATH是 、GDAL_DATAGDAL_DRIVER_PATHPROJ_LIB. 我的意思是它们很容易让我创建并指向 GDAL 目录。但是,如果我想分发它,这对于普通用户来说将是一个笨拙的步骤。

我需要一些方法来配置 GDAL 绑定,以便用户可以在任何他们喜欢的地方复制程序,其中包含 jar 和 GDAL 库,并且引导代码将自动设置 GDAL 以查找相对于其当前位置的这些变量。

现在我尝试了以下方法(它使用了在一个非常相似的问题中提出的解决方案的一部分:package GDAL JAVA Binding and native library in a SWT plugin):

但它首先失败SetConfigOption()并出现以下错误:

这意味着至少第一部分正在工作,因为它正确定位gdaljni.dll,但似乎在SetConfigOption()可以做它的事情之前,它已经在尝试查看这些路径只是为了初始化和失败。

现在,如果我手动设置环境变量,显然它运行良好。

GDAL 绑定来自:http ://www.gisinternals.com/

0 投票
0 回答
161 浏览

android - Java Binding Library 原生 Thumbnailator Lib Xamarin Android

我正在尝试将此lib添加到我的项目中。
所以我在我的Xamarin.Android项目中添加了Java 绑定库,编译后,我遇到了一些问题。

试图自己解决,但没有得到运气。
所以我通过删除节点删除了我不会使用的包,并且一切正常,但我有奇怪的行为。

类,我想使用的是空的(他是如何在程序集浏览器上显示的):

原来的(源 .java 版本)是这样的。
为什么会发生这种情况?它无法使用。
谢谢!