Skip to content

Remove JNA and migrate to JNI or Project Panama #13

@magic-cucumber

Description

@magic-cucumber
  1. JNA bundles dynamic libraries for three different platforms by default. The total file size impact is significant and should not be overlooked.

  2. Some users have encountered errors during JNA initialization for unknown reasons. (My old GitHub account was flagged; otherwise, I would link the specific issues where I addressed these JNA-related exceptions in my app.)

Regarding Native.getComponentID(c: Component)

This is a utility function built on top of the AWT Native API. It is used to retrieve window information corresponding to a component during the rendering process.

Because documentation and resources for the JAWT API are extremely scarce online, I am limited in the direct assistance I can provide.

If you intend to replace this function using JNI, you can refer to this implementation for guidance: https://github.com/magic-cucumber/webkit-panel-demo/blob/main/native/src/libs.mm (Note: The comments in this source file are in a non-English language).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions