MN #64 PDFium contd.
04:42
引き続き。どこで諦めるかの引き際も考えないとなあ・・・。
方針を考えようではないか
- Chromium のビルドシステムを使って PDFium の API を Java に公開する AAR を作る。大枠では Cronet と同じアプローチ。これが一番「ただしそう」だから。そして巨大プロジェクトをいじるときは corner-cutting しない「正しさ」は割と需要、という自説。ただ複数 CPU アーキテクチャ対応などはいまは考えない。
- Git repo は PDFium とは別に持つ。PDFium の DEPS をコピーして gclient する。これは概ね Electron がやっている方法。Electron は Chrome まるごとなのに対し自分は PDFium が対象。
- AAR のビルドに必要な Chrome の依存関係は選択的に clone する。
作業としては
- PDFium のビルドを再現できるプロジェクトをつくる。
- PDFium の shared_library をビルドする BUILD.gn を書く
- AAR をビルドする stub を作る(大変)
- 何らかの JNI のコードを stub に加える(大変)
- ビルドした AAR をテストする Android アプリを作る。
- PDFium をリンクして JNI から呼ぶ。
くらいまで行けば最低限の見通しは立つを言えよう。
やる気を出すために名前も考える: Paperium とする。なぜならフル機能の PDF には興味がなくて論文が読めるくらいでいいからである。
- credentials - How to save username and password in git - Stack Overflow
- 今まで .config に埋め込んだわ。hahaha.