问题标签 [pyjnius]

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 投票
2 回答
1771 浏览

kivy - 尝试在 Kivy Complete VM 上生成简单 apk 时出错

  • 视窗 10 x64
  • 虚拟盒子 6.1
  • Kivy Complete VM 0.7

我正在尝试生成一个简单的 apk 文件,但它总是返回错误,我试图删除虚拟机并再次创建它,认为这是我之前完成的一些配置的结果。我是编程新手,我在互联网上没有发现同样的错误,也不知道如何解决。

“/home/kivy/Desktop/teste/main.py”中的代码:

“/home/kivy/Desktop/teste”中的命令:

返回的一些东西:

提前致谢。

编辑:问题解决了另一个VM

0 投票
1 回答
366 浏览

python - PyJNIus 的安装 - PermissionError: [WinError 5] Access denied

我尝试了以下措施,但仍然弹出错误

  • 以管理员角色运行 cmd
  • 将自己设置为管理员角色的 pycham 和 python 文件
  • 使用 pip install --user PyJNIus
  • 使用 python -m pip install --user PyJNIus
  • 关闭 Pycham,并以管理员角色运行 cmd
  • 我已经拥有所有文件的最高访问权限

谁能帮我吗?

0 投票
1 回答
1525 浏览

python - 如何在后台模式下在android上的python kivy中启动服务?

我需要为我在 android 上的应用程序提供服务来接收来自服务器的消息。我的应用程序代码:

此代码不会返回任何错误,但服务不会启动。服务代码:

我尝试在智能手机上启动此代码并且它有效,我收到了消息。这意味着,该服务没有启动,并且没有任何错误。我的服务位于service/main.py. 在我添加的部分services中: . 我还没有尝试在后台运行它。我该做什么?我希望你能帮助我。buildozer.specservices = myservice:./service/main.py

0 投票
2 回答
1084 浏览

java - 如何在android上的python kivy中关闭应用程序后使服务继续工作

我希望我的服务在关闭应用程序后继续工作,但我做不到。我听说我应该使用startForeground()但如何在 python 中做到这一点?应用程序代码:

我的代码service/main.py

代码ServiceMyservice.java

服务启动并工作,但关闭应用程序后,服务也关闭。怎么解决????

0 投票
1 回答
422 浏览

java - 为什么 pyjnius 设置了错误的 JVM 选项?

我正在通过 Python 的 pyjnius 包 1.2.0 版运行一些 Java 代码。有几个 Python 进程,每个进程都使用不同的输入调用同一个 Java 类,因此每个进程都会初始化自己的 JVM。我遇到的问题是内存问题,但在研究该问题时,我发现正在运行的 JVM 中的选项与我在 Python 代码中设置的选项不同。

我正在设置选项:

Java 代码运行后,我从命令行运行 jps 并得到以下输出:

我尝试了不同的参数add_options,并且 jps 总是为每个 JVM 报告第二个参数的两个副本。我也尝试使用set_options并得到相同的结果。

jnius_config.get_options()我在添加选项之前和之后检查了选项是否在 pyjnius 模块本身中设置。

它报告的值与我设置的值相同。

但是当我在 jps 中检查 JVM 时,它们似乎仍然使用错误的选项集运行。其他正在运行的 JVM 报告了不同的选项,所以我认为这在 jps 中不是问题,因为只有通过 pyjnius 运行的进程才会给我返回错误的值。

有谁知道这是否是 pyjnius 中的错误?是否有另一种方法来检查启动 JVM 的选项?


我不确定是否应该信任 jps 或 pyjnius 报告的值,但我在运行 Python 脚本时创建的错误日志中看到以下行:

pyjnius 设置了错误的选项,这看起来很有定论。


我对初始内存大小选项进行了一些实验,发现只有在初始内存大小为-Xms100m或更大时才会出现此问题。当我将初始值设置为-Xms99m或更低时,jps 会报告我设置的相同值。

0 投票
2 回答
386 浏览

python - 无法使用 Kivy Complete VM 为服务应用程序构建 apk

我正在尝试使用虚拟机和 Kivy Complete VM 构建 APK。

代码很简单,这是 Andre Miras 的服务示例应用程序:https ://github.com/AndreMiras/p4a-service-sticky 。
Kivy VM 和 buildozer.spec 按原样使用,无需任何额外配置。

似乎这个问题与 jnius 有关,因为我能够在不使用它的地方构建 apk。这是一段日志,可能有助于找出问题所在。
请指教。

0 投票
0 回答
900 浏览

python - 如何使用 plyer(或 pyjnius)为 Kivy 应用程序获取 android 上的当前位置数据?

我正在尝试在我的 Android Kivy 应用程序上获取准确的纬度和经度。像地理编码器这样的模块使用 IP 地址,但在我的测试中,使用移动数据时这已经超远了。我需要一些在 kivy apk 中工作的代码。似乎 plyer 是要走的路,但它的文档不清楚如何使用它,我无法弄清楚。我环顾四周,但根本找不到任何关于如何使用 plyer 的迹象。有谁知道如何使用 plyer 在 android 上获取 GPS?一些获得 lat 和 lng 的 python3 代码(不在几英尺之内。我真的只需要在一两个街区内)会很棒!提前致谢!

此外,如果您知道另一种获取准确位置数据的方法,而无需仅依赖 wifi 或 IP 地理定位,那也将不胜感激。

更新和澄清:

gps 示例(https://github.com/kivy/plyer/tree/master/examples)正在我的设备上运行,但我不理解代码。我的理解(或者我认为我理解):它正在循环并使用正确的信息不断更新小部件。但是,我不了解实际设置它的代码行以及获取坐标的内容。甚至可以使用这些命令来获取变量的纬度和经度吗?我不需要它来不断更新坐标,我只需要它们一次,然后将其分配给一个变量。plyer 中是否有我可以调用并让它返回 lat 和 lng 的方法?如果是这样,我该如何设置?

0 投票
1 回答
241 浏览

java - 如何使用pyjnius将android上下文传递给java构造函数类?

我正在为具有内置热敏打印机的 android 设备构建一个带有 kivy 的应用程序。我已经找到了可以让我访问打印机的 API,并且是用 java 编写的(所以我使用的是pyjnius),但我无法让它工作。我在一个名为“JarExplorer”的程序中看到,我感兴趣的构造函数类需要一个名为“ android.content.context Context ”的参数,但我不知道如何正确传递它。

这是我尝试的python代码:

使用方法 1,logcat 确认我需要传递 android 上下文:

使用方法 2的 Logcat :

方法3的Logcat :

然后应用程序关闭。

我知道 API 应该可以工作,因为它带有一个可以成功打印但完全用 Java 编写的演示应用程序。

你们知道什么是错的还是更深层次的问题?我非常感谢您的帮助和知识:) 谢谢!

0 投票
1 回答
461 浏览

java - 皮纽斯。ImportError:DLL 加载失败:找不到指定的模块

我安装了pyjnius,导入后出现错误:

如何解决?

0 投票
0 回答
236 浏览

java - Kivy Android 相机 API 2 - 相机旋转

我正在使用以下存储库中定义的相机功能,但有一些更改。我只想旋转camera2.py中定义的SurfaceTexture,这样相机也可以在纵向模式下工作。

我尝试了 Push- 和 Pop- Matrix 解决方案,但它掩盖了相机中的按钮。因此,我希望它在 Java 端而不是 Kivy 端解决。

这是回购的链接: https ://github.com/inclement/colour-blind-camera

这就是主要问题所在:

https://github.com/inclement/colour-blind-camera/blob/master/camera2/camera2.py

我没有在此处添加整个代码段,因为它太长了,但它基本上位于以下代码段(第 263 行)附近:

任何帮助都非常感谢!