2012/04/22(日) [n年前の日記]
#1 [android] Air for Androidを実験中
Windows7 x64上で FlashDevelop + Air for Android を実験中。実機端末 IdeaPad A1 には転送できるのだけど、Androidエミュレータに .apk が転送できなくて、ずっとハマっていたり。
dist\ 以下の *.apk を、Run.bat ではなく手作業でインストールして試してみた。エミュレータを起動しておいて、adb -e install -r hoge.apk みたいな。
bat\InstallAirRuntime.bat でAIRランタイムをインストールするらしいのだけど、set AIR_INSTALLER= の指定が実機用のソレになっている気がする。C:\flexsdk\runtimes\air\android\ 以下の、device\Runtime.apk ではなく、emulator\Runtime.apk を指定。adb install 〜 でインストール。この状態で、再度 .apk をインストール。…今度は動いた。
つまり、エミュレータに転送したい場合、実機用のAIRランタイムではなくてエミュレータ用のAIRランタイムをインストールしないといけない。ということかもしれない。自信無いけど。
Run.bat も編集。
adb -s emulator-5554 〜 という書き方は、デバイス名?を指定してる事例。adb devices で接続されているデバイス名が一覧表示されるが、エミュレータはえてして emulator-5554 という名前で表示されるので、ソレを指定することができる、のだと思う。
ちなみに、batファイル内、行頭の「::」はコメント行の指定。
FlashDevelop でF8キーを押すとビルドが、F5キーを押すと Run.bat が実行されるが。エミュレータに .apk を転送後、adb shell am start -n air.%APP_ID%/.AppEntry の行でアプリを起動させているらしい。起動する際に、PC側のIPが分からないと言ってくるので、192.168.x.x を入力。AIRアプリが起動した。
bat\SetupApplication.bat 中の、set DEBUG_IP= に、set DEBUG_IP=192.168.1.x という形でPC側のIPを指定したら、一々IPを聞いてこなくなった、ように見える。
dist\ 以下の *.apk を、Run.bat ではなく手作業でインストールして試してみた。エミュレータを起動しておいて、adb -e install -r hoge.apk みたいな。
- -e : エミュレータを指定。
- -d : USB接続した端末を指定。
- -r : 再インストールを指定。アプリのデータは維持される。
bat\InstallAirRuntime.bat でAIRランタイムをインストールするらしいのだけど、set AIR_INSTALLER= の指定が実機用のソレになっている気がする。C:\flexsdk\runtimes\air\android\ 以下の、device\Runtime.apk ではなく、emulator\Runtime.apk を指定。adb install 〜 でインストール。この状態で、再度 .apk をインストール。…今度は動いた。
つまり、エミュレータに転送したい場合、実機用のAIRランタイムではなくてエミュレータ用のAIRランタイムをインストールしないといけない。ということかもしれない。自信無いけど。
Run.bat も編集。
goto desktop ::goto android-debug ::goto android-testを、
::goto desktop ::goto android-debug goto android-testに変更。
adb -d install -r "%OUTPUT%"を、
::adb -d install -r "%OUTPUT%" ::adb -s emulator-5554 install -r "%OUTPUT%" adb install -r "%OUTPUT%"に変更。おそらく、-d を指定していたものだから、USB接続されているデバイスなんぞ無い → デバイスが見つからないぞと文句を言われていたのだろうと。
adb -s emulator-5554 〜 という書き方は、デバイス名?を指定してる事例。adb devices で接続されているデバイス名が一覧表示されるが、エミュレータはえてして emulator-5554 という名前で表示されるので、ソレを指定することができる、のだと思う。
ちなみに、batファイル内、行頭の「::」はコメント行の指定。
FlashDevelop でF8キーを押すとビルドが、F5キーを押すと Run.bat が実行されるが。エミュレータに .apk を転送後、adb shell am start -n air.%APP_ID%/.AppEntry の行でアプリを起動させているらしい。起動する際に、PC側のIPが分からないと言ってくるので、192.168.x.x を入力。AIRアプリが起動した。
bat\SetupApplication.bat 中の、set DEBUG_IP= に、set DEBUG_IP=192.168.1.x という形でPC側のIPを指定したら、一々IPを聞いてこなくなった、ように見える。
[ ツッコむ ]
以上、1 日分です。