問題タブ [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 投票する
0 に答える
288 参照

windows - Conda が pyjnius の JDK のパスを正しく設定しない

condaでpyjniusをインストールしました。ただし、pyjnius をインポートしようとすると失敗します

pyjnius とともに conda も openjdk をインストールします。次に、pyjnius はjvm.dllいずれかのPATHディレクトリを探します。DLL は次の場所にあります。

C:\Users\OEM\Miniconda3\pkgs\openjdk-11.0.1-1017\Library\bin\server

しかし、conda には含まれていませんPATH。に別のフォルダーを追加しますPATH

C:\Users\OEM\Miniconda3\envs\example2-env\Library\jre\bin\server

このディレクトリが見つからない場合: JRE はインストールされておらず、JDK のみがインストールされています。明らかに、最初のディレクトリをに含めることができますがPATH、これは conda 仮想環境の概念をバイパスします。この問題をエレガントな方法で解決するにはどうすればよいですか?

environment.yml問題を再現するには、次のようにします。

次に、次のように作成してアクティブ化します。

0 投票する
1 に答える
420 参照

java - 'JavaException: Unable to find a None Method' を返す Pyjnius カスタム Java メソッドは、Public Static の後に機能します

そのため、Android の InputStream から ByteArray を読み取る必要がありました。したがって、リンクに記載されているのと同じ理由で、pyjnius を使用して kivy アプリの Java で このカスタム メソッドを使用しました。

ReadInput.java ファイルをこのディレクトリに配置しました。Java
~/Build_Environ/.buildozer/android/platform/build/dists/JniusPrintBluetoothAppie/src/main/java/org/kivy/android

クラスを pyjnius で初期化しました。

Java コード:


次のコードを使用して、Python でバッファから読み取ります。

しかし、何らかの理由で、この上記のコードで常に次のエラーが発生しました。
JavaException: Unable to find a None Method

何日もの苦労の末、メソッドを public static 次のように宣言するだけで、ようやくメソッドが機能するようになりました。新しいJavaメソッドは次のようになり、上記と同じ方法で呼び出しました。



私が知りたいのは、「静的」という言葉が Java メソッドを突然機能させるのはなぜですか?