見出し画像

Adobe Airについて。事前にユーザーにAIRランタイムアプリをインストールさせる必要がありません!

いや、もうほとんどの方が知っているはず、と信じたいです。

ただ、どうも、いまだに「このゲームを起動させるにはまずAIRアプリをインストールしてください」と指示しているところがあるみたいなので、ここでもう一度話したほうがいい気がします。

以前、AIRが初めて出たとき、確かにEXE化するためにADOBE社に許可をもらう必要がありますが、しばらく経って、この必要がなくなりました。

というか、そもそもフラッシュは2020年で終わりという話もあって、AIR事態はフラッシュを動かすためのツールの一つなので、まだまだ先があるかもしれません。

今は、HARMAN社が受け継いでいますが、AIR SDK 33リリースされた後も、なぜかAIR SDK32がまだしばらくADOBE社より更新されました。

例えばMACカタリナに対応するための更新とかですね。記憶違いでなければ、確か32版が先にカタリナ対応機能が追加されました。

SDK33は、主にアンドロイド64bit (arm64v8) 用に作られている感じです。現在すでにカタリナ対応になったのですが、こちらのフリー版(収入1年間50万USD/5百万円前後の方向け)だと、HARMAN社のロゴが入ります。

ま、それはそうとして、まず簡単にネイティブアプリについて説明します。

①WINDOWSまたはMAC用のCAPTIVE RUNTIME BUNDLE(.EXE/.APP)

ドキュメント:https://help.adobe.com/ja_JP/air/build/WSfffb011ac560372f709e16db131e43659b9-8000.html

これとはほかに、target nativeというのもあるのですが、こちらは、単に『事前にAIRアプリをインストールしてね』と表示するインストーラーを作るためです。

今ご紹介するのはCAPTIVE RUNTIME BUNDLE (target bundle)であって、この機能使うと、AIRをインストールしなくともすぐにダブルクリックで起動できるゲーム(またはアプリ)を作るためです。

ドキュメントに書いてある通り、ウィンドウズでビルドするコードは

adt -package 
   -keystore ..\cert.p12 -storetype pkcs12 
   -target bundle 
   myApp 
   myApp-app.xml 
   -C bin .

最後の行は『-C bin .』に変更したのですが、これは、ディレクトリーにある bin フォルダの中身を全部 myAppというゲームインストーラーフォルダに含めるという意味です。EXEは、myAppフォルダの中にXML表記通りに作られます。

MACの場合は、ビルドする際に、MACのパソコンが必要になります!!!(WINDOWSでビルドできません!)

adt -package 
   -keystore ../cert.p12 -storetype pkcs12 
   -target bundle 
   myApp.app 
   myApp-app.xml 
   -C bin .

これで同じく『-C bin .』 の中身が新しく作られたアプリ『myApp.app』に入ります。このアプリをダブルクリックするだけで、ゲームが起動します。

※注意:MACでビルドすると、appファイルの中にsymlinkファイルが含まれています。このファイルは、新しいセキュリティパッチにより、windows端末にコピーできません!ZIPにしてから、windowsに展開しようとしても、展開の最中にエラーが出ます! また、windows端末を使いアップロードしようとしても、このファイルははじかれるので、オンラインストアなどにアップする場合、必ずMAC端末からすべて行ってください。(ZIP形式のものをWINDOWSでアップロードできるかどうかは、まだわかりません)

symlinkファイルを無視してアップロードすると、Steamなど、クライアントで起動するものならはいいのですが、スタンドアロンとして、ダブルクリックでAPPファイルを起動すると、ファイルが破損したというエラーが出てしまいます。

②アンドロイドアプリの場合

iOSアプリはもともとairランタイムが含まれているようなので、省きます。

アンドロイドの場合は、もう知っている方がほとんどかと思いますが、こちらのコードを使ってください:

adt     -package 
       -target apk-captive-runtime 
       -storetype pkcs12 -keystore ../codesign.p12 
       myApp.apk 
       myApp-app.xml 
       -C bin .

ただ、アンドロイドの場合は今64bitが必要になるので、2回ビルドする必要があります(32bit版と64bit版)。両方、SDK33で行えますが、32bit版だけSDK32を使う、ということも可能かと思います(HARMAN社のロゴが入ってません)、こちらは2020年8月以降だと必須になります。64bit版は、64bit対応のものがないと、64bitの端末からゲームがストアに表示されなくなるということらしいですが、現時点では、まだまだ32bitしか対応してない端末が多いです。

つまり、両方がないといけません(ややこしい)。

ちなみに、ANEを使う場合、32bitのANEが64bitのアプリでは使えません。ええ。使えないのです……😫😫😫😫

しかも64bitANE対応のものって、案外数が少なくて、結構高いものが多いです💸💸💸

③STEAMの場合

STEAM版は、何もしなくても起動できるはずですが、かなり前それをやってみたら、タイトル画面にてshift+tabを押して、コミュニティを開いてみたら、ゲームがフリーズしてしまいました。

なので、念のために必ずfresteamworksのANEを入れてください:(v0.6以降はカタリナに対応できます)

https://github.com/Ventero/FRESteamWorks

これを使うと、WINとMACでも、STEAMAPIが使えます。例えば、事績や、購入を確認するためのAPIなど。

ただし、MAC カタリナに対応したければ、使うSTEAMSDKが、必ずver46以上にしてください。redistributable_binにosxフォルダがあるほうです(osx32ではありません)

以上です。では!

この記事が気に入ったらサポートをしてみませんか?