Repository navigation
recipe: pyjnius 1.9.0 - #132
Merged
Merged
Conversation
Upstream's 1.9.0 wheel outranks our 1.7.0 on cp313/cp314 and cannot find a JNIEnv on Flet. The test now fails on import errors and also loads an app class.
GNU patch rejected the hunk: jnius_jvm_android.pxi has CRLF endings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Bumps pyjnius from 1.7.0 to 1.9.0 and fixes its test.
Why
Upstream's 1.9.0 Android wheels (cp313, cp314; arm64, x86_64) outrank our 1.7.0, so unpinned apps get them, and they don't work with Flet:
JNI_GetCreatedJavaVMsisn't reachable below API 31.ClassNotFoundException, includingMAIN_ACTIVITY_HOST_CLASS_NAME.Our recipe test skipped on import failure, which hid the problem.
Changes
mobile.patchfor 1.9.0, keepinglibpyjnifor the JNIEnv and class loading.Cython <3.1pin; 1.9.0 declares its own range.patchrejecting LF hunks on CRLF sources.Validation
Android only: 2/2 tests pass on Python 3.12, 3.13 and 3.14, on x86_64 emulators at API 28 and API 34. arm64 and v7a wheels were built but not run.
PythonJavaClassis untested.Consumer notes
Native Android API access through pyjnius works again for unpinned apps on Python 3.13 and 3.14. This recipe has no README yet, so there is nothing to link.