Android Emulator 雑感2018
はじめに
以前書いたメモとかはココらへん
動作環境
- Windows 10
- 8G
- AS3.1.2/AS 3.2-Canary16
- 3.1.2/3.2-alpha16
- gradle runtime 4.7
発端的な話
android
— close_yutori (@kimukou2628) 2018年5月30日
にー。
android emurator
OS 8.1 のx86_64って存在しないのか~
OS 8.0までと。
実機が8.1に入れ替わるので
OS8で環境つくれといわれてもな~
これで動作保証って出来るもんなの?
(開発者はISMS対応によりUSBポートが物理的に封じられておりますです
最新OSで64bit環境のテストをするのに、64bit開発&テスト環境が作れないw
というお話でした。まあ実機でやればいいって話はあるんだけど
デスクトップだしな・・・*1
さきちゃんさんのコメント
deploygateならUSBいらんかったんちゃう💸
— さきちゃんの中の人、カピバラになりたい🐁 (@serenegiant) 2018年5月30日
ISMS絡みで
状態なので厳しいかなー*3
まあぶっちゃけ
日本企業の法務担当役員が「社長がITに無関心とIT部門はぼやくが、それは法務でも同じ」と言ってたな→社内弁護士が経営陣から意見や判断を求められる頻度は、米国企業は毎日と週に数回で計7割。日本では月に数回が5割で、年1回も約2割。
— 木村岳史(東葛人) (@toukatsujin) 2018年6月3日
人数・活躍の場 米とは差:日経 https://t.co/RqlOalg4R0
が日本の現状だから仕方ないw。*4
Pならx86_64のシステムイメージあるのにねぇ🤔
— さきちゃんの中の人、カピバラになりたい🐁 (@serenegiant) 2018年5月30日
Google関係が要らなければAOSPから8.1のシステムイメージをビルドすればエミュレータで動かせると思うんやけど、公式に8.1が無いのはどこも対応端末を売る予定がないからじゃないのかな🤔あれっ?でもカスタム端末が8.1ならそのramdisk.imgとsystem.imgとuserdata.imgを使えばええんちゃうかな?
— さきちゃんの中の人、カピバラになりたい🐁 (@serenegiant) 2018年5月30日
これ vagrant とか docker イメージでっていうことなのかな?
試してみたい気がするが、やるには知識が足りない〜w
後々の課題ですね・・
emulator 27.3.7
これWinだけかもしれないんだけど結構困ってる・・・。
IDE内のマウスやキーボードが効かない & CPU20〜30%程度の状態で な感じ
android studio 3.2 Canary18
— close_yutori (@kimukou2628) 2018年6月15日
IDEが最近よく固まるな~と思って確認したら
gradlew --stopで対応できる奴だけでは駄目
adbが上手く通信できないたんびに鬼増殖して立ち上がってて
adb kill-server で復帰。
最近のemulatorのHyper-V対応版入れてからっぽい(そう言えばadb古くない?な謎メッセージが
android
— close_yutori (@kimukou2628) 2018年6月8日
今日初めて
>adb のパフォーマンスが悪いです。お使いのadb toolsは古くありませんか?
という警告メッセージ出たんですが、
AS3.2さんがadb叩き過ぎなだけではないかな~と思いつつ
まあ一時期CPU100%ぶん回ってたときは、悪名高きウイルスバスター先生にウイルス扱いされたこともあったなー*5
大学が全コンピュータに導入を義務付けているウイルスバスターをアンインストールしたら完全復活しました。Window10の最新バージョンに対応してなくて不具合が起こるとのこと。なんだそりゃ。
— 千葉逸人 (@HayatoChiba) June 14, 2018
なお、新しいノートPCを注文した後だった(笑) https://t.co/WjtxXRSCv3
のbuild版が起きたことも・・・(汗
emulator 27.3.6
android
— close_yutori (@kimukou2628) 2018年6月11日
Emulator 27.3.6
QuickBoot時にクラッシュしたりUI応答不可になるの確かに直ってる
あとHyper-Vの改善入ってるみたいだけど試せてる人って多いんすかね?
(Win10Proのユーザー前提だよね?
正確には固まりにくくなった程度。たまにQuickBootからだとマウス反応しない。。。
その場合は一旦終了させて ColdBootしないと*6駄目なのはInstantRunと同じ匂いがしますわ。。
android
— close_yutori (@kimukou2628) 2018年6月11日
emulatorが新しくなったらimageは作り直さないと、前verの設定に引きずられるのか修正が反映されない#Android開発豆知識
勿論 SwipeDataでも可能なときはありますが・・標準で動く状態でVBOXみたいにsnapshotファイルを作ってるんですよね・・
rootモードの話
シュミレータのimageのセキュリティレベルが上がってるからですね。
— close_yutori (@kimukou2628) 2018年6月11日
adb root
と打ってルートモードに変更できればいけますよ
(DeviceExploler上でも同
という認識だったんだけど、これ Google APIs のイメージだけで Google Play のイメージではできないらしい
理由がPlayStoreのapkを抜かれたくないからのよう。でもさーx86サポートってまともにしてませんよね?
x86なAndroidの状況
ついでに言うとx86 Androidなんて、現行モデルではChrombookしかないので、アプリ開発元が対応してくれる可能性はかなり低い。諦めるしかない。
— Jiro@Jota+開発 (@jiro_aqua) 2018年6月4日
そのはずです。IntelがAndroidを諦めてから、x86 ChromebookでAndroidが動き出すまでの間に、ほぼ絶滅に近い状態になってしまったのは、残念としか言いようがありません。
— Jiro@Jota+開発 (@jiro_aqua) 2018年6月4日
だからEmulatorのみで開発って、対象が一部のx86ハードでない限りありえないんだよなーと
ココらへんは、日本だとISMS絡みでUSBポートが死んでるので*7
Wifi経由で、Androidの実機がTCPIPモードに切り替え接続できるようにしてくれないかなーというのが
というのをいつも思ってる・・*8
emulator 27.3.5
android
— close_yutori (@kimukou2628) 2018年6月5日
ANDROID_SDK_HOME
を設定したポカなだけだった(公式に書いてた記述をうまく読めてなかっただけ><
(設定すると駄目
ANDROID_SDK_ROOT
に変更で解決
- ANDROID_SDK_HOME
- 公式Docを読み違えてました><。.avdフォルダを移動したいときの場所指定ですね
- ANDROID_SDK_ROOT
- cocos2dxとかでも使ってる環境変数
- JAVA_HOME
コマンドラインで操作する人がいないんだろうなーという感じで。
Environment variables | Android Developers
え、必要だった記憶ないんですけど本当ですか.....
— もやし丸 (@mys_x101) 2018年6月4日
1週間触ってないので最近変更あったんですかね~。イメージ作るたびに電話認証はだるいなあ.....。
— もやし丸 (@mys_x101) 2018年6月4日
以前Gmailとかに来てた
「この端末のアクティビティは問題ないですか?」がはいを押さないと先に進めない的な
感じになってるっぽい
android emulator 27.3.5
— close_yutori (@kimukou2628) 2018年6月4日
またaudioの起動時のクラッシュがWin上で多発するようになったので
-no-audio のオプションを付ける(備忘メモ
ココらへん環境に左右されるのかなー(macではおきないので
macでしかテストされていないのかも・・
これQuickBootで多発。ColdBootだと問題ないことが多。
QuickBootも中途半端なのかなー。この挙動見る限り。
QuickBootで状態が可怪しくなった場合、ColdBootで立ち上げ直さない復帰しない
- emuが固まった状態になってる
- adbがうまく繋がんない?らしくてapkが転送できない
とかよく起こるし・・これもInstantRunのemu版な認識で入ればいいんでしょうかねー(遠い目
android emulator 27.3.5
— close_yutori (@kimukou2628) 2018年6月5日
screenrecord のデフォ形式がwebmになってて再生どうするの?
と思ってたけど、ChromeにD&Dすれば再生できるのね
ちなみにgifでも保存できるけどかなりカクカクで使用耐えないな
まあファイルサイズ的に4倍違うし
ちなみにwebmはコマンドラインからは指定できなさそう。
最近のG様また最新のソースコード公開しなくなってるみたいなのでオプションとかよくわからんのよね・・
ぶっちゃけた話
優秀なエンジニアを採用する前に現場で働いてるエンジニアの環境よくしましょうよ、と数社で働いて思った
— メテオ💫 (@meteor_saan) 2018年6月2日
Macで開発できれば色々と問題的な障壁外れるんだけどね・・・・
- peco
- UnxUtils
で自動バッチ作ってたりしてたんだけど、
- UnxUtils辺りはかなりグレー。*10
- こっから PowerShellで頑張ろうぜ! =>でもムズイ な流れだったりも
exception-think.hatenablog.com
対策的なメモ
UnxUtilsが使えない時
下記のbatを書き換えてみると、下記な感じになる
- pemu.bat
@echo off rem ====UnxUtil使える時=== for /f %%i in ('emulator -list-avds ^| grep -v -e '^\s*#' -e '^\s*$' ^| peco --select-1') do (
=>
@echo off rem ====UnxUtil使えない時=== for /f %%i in ('emulator -list-avds ^| findstr /v /r /c:"^\ *$"' ^| peco --select-1') do (
- apkc.bat
rem ====UnxUtil使える時=== cp -p %%i out/!FILENAME!
=>
rem ====UnxUtil使えない時=== mkdir out copy %%i .¥out¥!FILENAME!
mkdirをしてくれるcpコマンド使えないってのがなにげに不便だったり・・・
ConEmuが使えない時
コマンドプロンプトをタブ化するソフトだったりしますが、Win端末でお仕事してる人ほどコマンドライン使わねー
って感じで「(おら使わないから)いらなくね?」で使えないことが多々あります・・・
gradle使用するためにCP932環境でUTF-8表示が必要だったのでConEmuにしました.
— 渡久地 信之 (@palfem_kleet) June 16, 2018
な利点もあるのに・・
QTTabBarみたいなExplolerをタブ化するソフトは許可済みだったりするんですけどね(汗
でその例の一つ。Mac版だと
Tools>Create Comanndline Launcher
というショートカット作る機能があったりするのですが・・。
Winはやはりないので自前で作ります
- studio32.bat
@echo off c:¥android¥soft¥studio32¥bin¥studio64.exe %*
この状態だとCtrl +C等中止するまでずっとコンソールを専有
=>
start /b cmd /c c:¥android¥soft¥studio32¥bin¥studio64.exe %*
としておくと呼んですぐ抜けるかんじになると・・・
start /b cmd /c
バックグラウンドスタートさせてコマンドプロンプト閉じる