Skip to content

Fixed AndroidPort: SerialPort.class.getDeclaredConstructor() requires… - #627

Open
kolchagov wants to merge 2 commits into
Fazecast:masterfrom
kolchagov:master
Open

Fixed AndroidPort: SerialPort.class.getDeclaredConstructor() requires…#627
kolchagov wants to merge 2 commits into
Fazecast:masterfrom
kolchagov:master

Conversation

@kolchagov

Copy link
Copy Markdown

… 9 parameters instead of 8, which causes internal exception. The fix allows jSerialComm to work on newer Android versions. Tested with Android 12

In SerialPort: Skip "su/chmod" when androidPort is already set (USB serial path handles open itself)
Added constructor SerialPort() with 8 parameters for backward-compatibility.
Optional: Changed tag in pom.xml to 8 for successful compilation with recent JDK

Ivan Kol added 2 commits April 11, 2026 20:21
… 9 parameters instead of 8
In SerialPort: Skip "su/chmod" when androidPort is already set (USB serial path handles open itself)
Added constructor SerialPort() with 8 parameters for backward-compatibility.
Changed <release> tag to 8 for successful compilation with recent JDK
…roid.override escape hatch to skip native lib loading
- isAndroid detection now also checks java.vm.name='Dalvik' so OEM Android devices
where java.vm.vendor doesn't contain 'android' still take the Android library path.
- Added jSerialComm.android.override system property: when set to 'true' before class
load, the entire native library loading block is skipped. Android host apps that
manage USB Host access themselves (e.g. via setAndroidContext + reflection) can set
this property to avoid the boot-time UnsatisfiedLinkError caused by version-mismatched
or inaccessible system libjSerialComm.so files on Android POS terminals.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@kolchagov