Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Adding Glide Typing To Heliboard Without libjni_latinimegoogle.so

说明与用途

在 Heliboard 中实现滑动输入,替代闭源 Google JNI 库,保持 API 兼容性。

问题

Implement gesture (glide) typing in Heliboard without relying on the closed‑source Google latinime JNI library, while maintaining API compatibility.

结果

Heliboard will gain an open, documented gesture typing implementation that matches the Google JNI interface, enabling community forks to ship a fully open keyboard without the proprietary library.

工作流

  • 1. Analyze the Google latinime JNI library to list all exported functions and compare them with Heliboard’s current JNI functions using jni_compare.zip scripts.
  • 2. Identify missing functions required for gesture typing and plan to implement them in Heliboard’s native code.
  • 3. Study Heliboard’s gesture data structures (pointer data, dictionary traversal) by reading the codebase and existing JNI bindings.
  • 4. Design and implement the SHARK2 gesture recognition algorithm in C++ to generate gesture templates and compare input gestures.
  • 5. Implement JNI wrappers that expose the required functions, ensuring naming conventions and signatures match the Google library’s API.
  • 6. Write unit tests that call both the Google and Heliboard JNI libraries with identical inputs to verify functional parity.
  • 7. Document the JNI interface, gesture data handling, and the SHARK2 implementation for future contributors.
  • 8. Create a pull request with the new native code, tests, and documentation.
  • 9. Coordinate with MindTheGApps and other GApps maintainers to replace the proprietary library with the new Heliboard JNI library.
  • 10. Monitor integration in downstream forks and address any compatibility issues.

证据

The google JNI library's interface is almost a strict superset of Heliboard's JNI library interface.

来源

I have run a comparison of the two libraries, and output the results into compare.csv.

来源

The short version of what that csv says is, the google JNI library's interface is almost a strict superset of Heliboard's JNI library interface.

来源

  • 记录日期: 2026-09-05T14:14:46.919Z