C言語アプリ9VAeをDXライブラリでAndroidアプリにした話（まとめ）

2019.12.6 [MOVILE ACT OSAKA #12](https://mobileact.connpass.com/event/149964/)でライトトークすることになったので、発表原稿作成をかねて、C言語アプリ9VAeきゅうべえをDXライブラリでAndroidアプリにした話をまとめます。

# １．9VAeきゅうべえの紹介

## 9VAeきゅうべえは、1993年から開発されている C言語アプリ

-  [1993 X68000 gcc で開発されたフリーソフト「Lanma」](https://qiita.com/danjiro/items/c68dfd4942df97dbaaf4#12-%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF-lanma-%E3%82%92-x68000-%E3%81%A7%E9%96%8B%E7%99%BA%E3%81%97%E3%81%9F)が元になっている。Lanma は線画のベクトルアニメーションエディタで、線画入力、形の自由変形、キーフレーム補間、ループ制御、音楽との同期再生ができた。
-  その後、ポリゴン塗りつぶし、グラデーション、階層化、SVG入出力、写真入力、アニメGIF・APNG出力を追加、Mac, Windows10, RaspberryPi, Ubuntuに移植。2019年 Android, iPhone/iPad ストアアプリを公開。

![history.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/687cd98c-8aaa-2dfe-3db7-81660bfa4f0e.gif)


## SVGイラストに動きをつけて GIF/APNG/MP4アニメが作れる

- [SVGイラストからアニメーションを作る操作例](https://dnjiro.hatenablog.com/entry/2019/01/19/012309)
- [解説本「LINEアニメーションスタンプを作って売る本」](http://www.c-r.com/book/detail/1198)
- [Youtubeで 9VAeを使った動画](https://www.youtube.com/results?search_query=9vae)がぽつぽつでてきた!

![mobileact-win2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/ba32590f-6782-c585-c4c7-14baa2bf9102.gif)



## プログラミング教育フリーソフト第4位に選ばれた

- [ランキング５位までのソフトと9VAeきゅうべえとの比較](https://dnjiro.hatenablog.com/entry/2019/10/29/111656)

![program4free.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/90c0fba8-ffd5-b9db-3eea-1c4fd0ecfb6d.gif)


### [9VAeの入手](https://qiita.com/danjiro/items/253e5a33a38599098274)

- Win/Mac/Linux版はリンク先右上の ![Untitled.png](https://qiita-image-store.s3.amazonaws.com/0/67734/dbea08ea-33e3-c9f2-aa04-73528cfa0f7f.png) をクリックして**ダウンロード**

|[iOS<br>iPad<br>![qvadanb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/e6527c3c-7ec3-e357-37c2-2765538e47e0.png)](https://apps.apple.com/jp/app/9vae-iphone/id1482450143)|[Android<br>Chromebook<br>![qvaqva.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/6337d377-d49c-f68e-eff5-89d3bf50487d.png)](https://play.google.com/store/apps/details?id=com.qvae)|[Win<br>![qvaqva.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/6337d377-d49c-f68e-eff5-89d3bf50487d.png)](https://drive.google.com/file/d/1tIuOkL0TNhPaP3UfYl2pI7Cfk49QNfn3/view?usp=drive_link)|[Mac<br>![qvaqva.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/6337d377-d49c-f68e-eff5-89d3bf50487d.png)<br>M1対応](https://drive.google.com/file/d/13yLPjYXv_fSH1MeSMfhyf_x7c3D02hJS/view?usp=drive_link)|[Raspberry Pi<br>![qvaqva.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/6337d377-d49c-f68e-eff5-89d3bf50487d.png)](https://drive.google.com/file/d/1HxKGRhI-v4F4Io3PShy8KVtLqSnNEcCy/view?usp=drive_link)|[Ubuntu<br>32bit<br>![qva32b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/580af743-7e1c-7a04-2966-470f4a33537c.png)](https://drive.google.com/file/d/1VebfBt-0LsnfN7J4q6Nbv_wMOd5PpBIM/view?usp=sharing)|
|:--:|:--:|:--:|:--:|:--:|:--:|
|[9VAePro<br>![qvapro64.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/46826bc3-250a-5133-f827-3a4d086e2f4d.png)<br>* 599<br>Page](https://apps.apple.com/jp/app/9vaepro/id1493183090)|[Amazon<br>Fire<br>![qvaqva.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/6337d377-d49c-f68e-eff5-89d3bf50487d.png)](https://www.amazon.co.jp/dp/B082MYHTT7/ref=sr_1_1)|上が<br>見えない<br>場合は<br>Vector<br>↓|[古いMac版<br>10.7-10.11](https://drive.google.com/file/d/1QTwckowY7DTdbxPFtVW-OA4IR0umaYjw/view?usp=sharing)||[Ubuntu<br>64bit<br>![qva64b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/e3edbeac-ece0-c506-e02f-cf5e0f5dd04e.png)](https://drive.google.com/file/d/1H6UkwUNdjTAX6_IvbFmkvXAHot6ASC5y/view?usp=sharing)|
||[Android<br>Chromebook<br>![qvadanb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/e6527c3c-7ec3-e357-37c2-2765538e47e0.png)](https://play.google.com/store/apps/details?id=com.qvaDangla)|[Win<br>(Vector)](https://www.vector.co.jp/soft/dl/winnt/art/se515201.html)<br>|[Mac<br>(Vector)](https://www.vector.co.jp/soft/dl/mac/art/se515202.html)|[RaspberryPi<br>(Vector)](https://www.vector.co.jp/soft/other/other/se515318.html)|[安全性<br>は？](https://www.vector.co.jp/info/vtest.html)|


| [インストール方法＞](https://qiita.com/danjiro/items/1debda10c37fd8a55927)|[windows](https://qiita.com/danjiro/items/1debda10c37fd8a55927#windows%E7%89%889va-win)|[Mac](https://qiita.com/danjiro/items/1debda10c37fd8a55927#mac%E7%89%889va-mac)|[Pi](https://qiita.com/danjiro/items/1debda10c37fd8a55927#raspberry-pi%E7%89%889va-pi)|[Linux](https://qiita.com/danjiro/items/1debda10c37fd8a55927#ubuntu--linux-mint--xtra-pc-%E7%89%889va-pi)|
|:--:|:--:|:--:|:--:|:--:|
|[●アニメの作り方](https://dnjiro.hatenablog.com/archive/category/%E3%82%A2%E3%83%8B%E3%83%A1%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9)|[ボタン説明](https://qiita.com/danjiro/items/ea71567fa8c313f6f3fc)|[メニュー<br>キー](https://9vae.blogspot.com/p/scl0mnu.html)|[9VAe質問](https://chiebukuro.yahoo.co.jp/search?p=9vae)|[だんグラ](https://dangla.jp/)|
|動画出力|[ffmpeg](https://youtu.be/Lc5-ac01n6w)|〇|→|[ffmpeg](https://youtu.be/Lc5-ac01n6w)|
|しゃべる|[SofTalk](https://youtu.be/0k9bAN4Jge4)|〇|→|[OpenJTalk](https://youtu.be/Khx31_0IWcE)|
# ２．C 言語アプリを Android アプリにする方法

## Xamarin はあきらめてDXライブラリを使う

- [DXライブラリとは](https://dnjiro.hatenablog.com/entry/2018/06/19/080049?_ga=2.73813717.632897684.1573420959-305741023.1562619702)
- ポリゴン塗りつぶしは自力描画
- ダイアログ、文字入力などは JNI

![qvalib2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/5d9e80c1-14cc-87b4-a002-2f4b50db327b.gif)



# ３．Google Play ストアに DXライブラリアプリを登録する方法

### 署名の仕方

- [Antの修正](https://qiita.com/danjiro/items/9b5cb7b58ee123570c31#release-%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AE-ant-%E3%82%92%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E7%94%A8%E3%81%AB%E3%81%99%E3%82%8B)
- [Keystore の作成](https://qiita.com/danjiro/items/9b5cb7b58ee123570c31#keytool-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6keystore-%E3%82%92%E4%BD%9C%E6%88%90)
- [アップロード用の署名キーに差し替え](https://qiita.com/danjiro/items/9b5cb7b58ee123570c31#google-pay-console-%E3%81%AB-%E7%BD%B2%E5%90%8D%E4%BB%98%E3%81%8D-apk-%E3%82%92%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89)

![keystore.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/08677400-6e27-01dc-b3fe-6e7020fee927.gif)



### 32bit版（Android 5）と64bit版をアップする方法

- [シェアを見る](https://moduleapps.com/mobile-marketing/android-ver/)と Android5.1 が11%, Android 6が17%あり、32bit版もアップデートしたい
- [APKを２つ同時にアップロードする作り方](https://qiita.com/danjiro/items/9b5cb7b58ee123570c31#android%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE64bit%E7%89%88%E5%AF%BE%E5%BF%9C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)

![32bit64bit.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/67734/45ba9cb4-0417-5dd7-524f-9fc6f32fd527.gif)



# ４．iPhone版は、Xcode + Cocoa + CoreGraphics で移植

- [開発時の苦労話](https://dnjiro.hatenablog.com/entry/2018/09/25/111257)
- AR /MR グラスで空中でアニメ再生できる
- [完成アプリダウンロードはこちら](https://apps.apple.com/jp/app/9vae-iphone/id1482450143)
- [ＤＸライブラリ iOS版](https://dxlib.xsrv.jp/)ができてる。しらんかった