Android エミュレータと OpenGLES

とある対応をとやっていたら AndroidStudio 本体のアップデートをしていて大変なことになった。基本的なコードは変更しておらず、おもにマニフェストファイルとかの修正くらいだったのに、エミュレータで実行させるとなにも表示されない、あるいは緑一色の画面になってしまったりという事案が発生。

エミュレータの API バージョンを下げてみたり、ビルドツールのバージョンを下げてみたりしたのだけれど変わらず。以前のバージョンの AndroidStudio ではきちんと動作していたのだがと。

ただし、OpenGLES 1.0 を使っているものだけで、ほかはきちんと動作している。

ということで実機、といっても最新のものなど持ち合わせていないので古いバージョンになるが、そちらで試すと問題なく動作した。

実際、ビルド時にもエラーはないのだし、真っ黒な画面だが BGM はしている。動いてはいるのだろうなとは思っていた。

ネット検索してみてもこれというものはないけれど、たぶんエミュレータの側の問題なのかなと思うことに。かりにこれで最新実機で動作がおかしくても、まあ仕方ないというか、そもそも使われていないので全面的に撤退したいくらいなのだがなあ。いろいろ面倒で。

そんなこんなでずいぶんと時間を取られてしまった。

| | コメント (0)

久々に Android Studio

 絶賛放置中の Android アプリ。Google からメールがきて target SDK バージョンをあげろという。

 もはやそのままで勝手に削除されるとかならそれでもかまわないともいえるのだけれど、まあそれでもということで久々に Android Studio を起動する。もしかすると Android Studio で APK を更新するのははじめてかもしれない。というくらいに放置している。

 たまにアップデートのための起動はしていたのだが、さてどこをどうやって APK を更新するのだったか。そもそもサイン付きのやつを作るにはなにやらキーファイルが必要だったりしたが、あれはいったいどうしたのだったかとかいろいろ忘れている。

 そのあたりはなんとかクリアしたものの、さすがに古いのでAPI 26 以上をターゲットにすると、今度は最低までも少しあげろといわれてしまったり、それらの影響で多少コードに変更を求められたり。

 自動的に補完されるところもあればダメなところもあり、なかでも FloatMath が。すでに廃止になっているのでこの部分をすべて修正。それでもなんとか動作しているようなのでホッとはしている。

 ということでなんとかすべてのアプリの更新を終えた。

 アプリの削除機能も実現するらしいというニュースなのだが、どうも実現しても面倒そうなのでこのまま非公開のままかなとも。

 しかし、この程度とはいえ、将来ずっと管理していくとなると、それはそれで面倒な話ではあるなあと。

| | コメント (0) | トラックバック (0)

快適 nasne 生活はじめてました

 テレビのアンテナ線が確保できないのでさてどうしようかと思っていたところで nasne にたどりついた。ネットワークを通じてテレビを視聴したり、nasne に録画もできるということで、それならば家の中のどこにいてもテレビを見ることができるわけだなと。しかも、録画したものも。

 レコーダーで録画しておいても見るとなるとそこにいなくてはならないし、さらにはテレビがモニターになるわけで考えてみると面倒な手順を踏んでいるわけだなと。

 それがスマホや PC でできる。これはありがたい。

 ということで購入。

 ただ、nasne そのものはアンテナ線とつながなくてはならない。そして、ネットワークにつなぐには中継器なりが必要になりそうだ。モデムとつないでいるルーターは自室にあるが、このルーターをアンテナ線がある場所にもっていくには遠い。

 ということで、モデムとつないだルーター(親機)と nasne につないだ子機を無線でつないで中継するという運用に。

 ところがあらたに購入したルーター(中継機能はある)と親機とをつなぐための方法・手順については同梱されていない。やむなくネット検索してメーカーサイトの動画を見つける。それに従てようやくつなぐことができた。結構面倒。バッファローなので AOSS ボタンとかでさくっとできたら楽なのに。

 もともと数台を中継することは可能であっても、そういう運用はあまり期待されていないってことなのだろうか。

 さて、いよいよと思うと今度は nasne 利用のアプリで壁が。壁というほどでもないけれど、スマホ用アプリは視聴のためには追加料金が必要という。アプリそのものは無料だが。で、録画予約とかはそのままでもできるが、いずれにしてもリアルタイムのテレビであれビデオであれ見るためには追加料金が必要。

 PC 用のソフトも有料。こちらはもっと金額があがる。ということで今はまだスマホだけ。とはいえスマホ用もいくつも種類があって(同じソニー系で出しているのに)少しずつ機能が違うようでもある。このあたりは統一できるものは統一してもらったほうがよいのでは。

 光メディアへの書き込みなどは PC 用を使うのが一番のようで、このあたりは少し様子見。とはいえ使えないと不便ではあるが。キャンペーンとかで少し安くならないかなあ。

 というか、nasne 買った時点でスマホアプリなり PC ソフトなりの割引とか無料とかあってもよいのではないのか。でないと使いようがないわけで。

 とはいえ、なかなか快適な生活ではある。

nasne 1TBモデル (CUHJ-15004)
nasne 1TBモデル (CUHJ-15004)
ソニー・インタラクティブエンタテインメント 2016-12-08
売り上げランキング : 434


Amazonで詳しく見る
by G-Tools

| | コメント (0) | トラックバック (0)

API 23 から FloatMath がなくなったというので

 Android Studio 1.5 は結局 1.4 からのアップデートをあっさりあきらめて入れなおすことにしてしまったのは先日書いた。なにか方法はあるのかもしれないけれど、それを探っていても時間ばかりとられてしまうし(いや、時間はとりあえずあるけれど)。

 で、結果としてエミュレータのデータとかが多少ダメになったりで修正したり。Android 6 SDK 関連もアップデートされたというのでその後アップデートしたりして API 23 をターゲットにしてビルドとかしてみているうちにいろいろ知らなかった問題がでてきたのだった。

 今となってはもう古い「Android ゲームプログラミング A to Z」を基本にして作成していたアプリで、OpenGL ES 関係のゲーム用ライブラリを使うとエラーがでてしまう。23 からは FloatMath がなくなったのだということだった。ということで当該場所を (float) Math に変更する。

 もっとも、現状のエミュレータでは OpenGL ES 1.x を使っているアプリが動作しないのは変わらず。実機はないので動作確認ができない。ADT のときには(もちろん Android 6 以前の話)それらもエミュレータでちゃんと動作していたのだけれど。

 それ以外については 23 でビルドしても問題なく動作する。Developer Console を見るとまだ 6 での使用実態はないようで確認できないけれど、それ以前のバージョンに関してはエラーなどはでていないらしい。まあ、利用頻度がどの程度かもわからないので、もはや端末の悪い肥やしになっているだけという可能性も否定は出来ないのだけれど。

 また、当初エミュレータでの実行で installLocation="preferExternal" を指定したとき(SD カードへのインストールが可能なら許可)にエラーがでた問題がいつのまにか解決されていたらしく、ようやくコメントアウトしていたのを元に戻したりもした。

 とりあえずエラーやクラッシュが発生してはいけないので、最新に追随して確認できるようにはしておかなくては。ただ、どうも ADT のときよりもとっつきが悪くなってしまった感があるのも事実で。最悪の場合はアプリから撤退ということも考慮ということか。

| | コメント (0) | トラックバック (0)

Android Studio 1.5 へのアップデートでまた失敗する

 Android Studio の 1.5 がでたのでということでアップデートを実行したのだが、過去の不安が的中してまたぞろなにかがおかしいとかいわれて失敗する。/plugins/coverage/lib/instrumenter.jar がどうのこうのというのだが、そもそもデフォルトでインストールして、デフォルトでアップデートして、ファイルをいじったりとかしてないのでなにか言われても困るというもの。そっちの責任じゃないのか? と。

 何度か試してみたけれどダメなので、前回同様仕方なくフルで落としなおしてアップデートすることに。1.2 から 1.3 で失敗し、 1.3 から 1.4 は成功していたと思うのだけれど、今回 1.4 から 1.5 でまたダメになった。なにかバリデーションの定義とかがおかしいのではないか、とか思うのは間違いかしらん。

 といってちょっと検索した範囲ではとくに問題にされている気配がないので、みなちゃんとアップデートできているってことなのだろうか? ただ、以前の 1.3 へのときのはたまに検索アクセスがあったりはするようなのだけれど、どのようなキーワードなのかわからないのでまったく違う理由からかもしれないけれど。

 しかし、なんとかならないものかなあ。面倒である。

| | コメント (0) | トラックバック (0)

Android M エミュレータでなぜか四苦八苦(解決済み)

 Android M がいよいよ最終的になって SDK もでたので一応アプリの動作確認をしようかということでエミュレータを起動。以前からあった AVD ファイルのシステムイメージを 6 のそれに変更して起動させるのだけれど、どうもおかしな挙動をする。

 Android Studio にしたころに 5.x のイメージは確か自動的に設定されて使ったような覚えがある。それが Google APIs x86 のものだった。ということで 6 も同じようにしたのだけれどどうにも起動する気配がない。そこで別の x86 のイメージを設定してみると起動はするのだけれど、最後のところで com.android.phone に問題が発生したとかいって終了するのを繰り返すばかりでさっぱり使えない。

 それにしてもおかしいと思いつつ、それならばと新規に AVD を作り試すとなにごともなかったかのように起動する。アプリの実行にもなんら問題がない。あれはいったいなんだったのかと。

 ただ、やはり OpenGL ES 1.x を使っているアプリはエラーがでてしまって実行できない。どうも 5 以降のエミュレータ用システムイメージでは 2.0 以前のものがうまく対応できていないらしい。ただ、 GL 関連のとあるコードを追加しておくと動作するというのだったが、まだ成功できていない。

 もっとも、5.x に関していえば実機では問題なく動作はしているらしくエラー報告もない。エミュレータでは試すことができないのはちょっと困るけれど、まあ仕方ないかと。いや、本当ならば確認できるにこしたことはないのだけれど。今後実機でエラーが出るようであればなんとか考えなくてはならないであろうけれど。もう少し確認していずれは動作確認できるようにはしたい(する)ところか。

| | コメント (0) | トラックバック (0)

Android Studio を 1.3 にアップデート(ちょっとハマる)

 Android Studio の 1.3 がでたというのでアップデート。今ではあらたなものは作っていないので、過去のものの万一のためのメンテナンス用といったところなのだけれど、一応追随してはおかないとと。

 ということでアップデートするようにクリック。ダウンロードされてインストールのはずがなにやらコンフリクトがどうのとメッセージ。gradle/lib/ 以下あたりのいくつものファイルでということらしくリストされている。

 これを押せという指示に従うとインストールせずに終了するしか方法がないらしい。

 二度ほど試してみたが同じで、以前はアップデートできていたので理由がよくわからない。さすがにそのあたりについてはファイルをどうこうもしていないし状況がよくわからない。

 まあ、頑張って調べてまでといことでもないので、1.3 のパッケージごと落としなおしてインストールしなおすことに。もちろん 1.2 はいったん削除してから。あらためてインストールすると問題なく 1.3 に。スタイルをバックが黒っぽいものにしてみたけれどどうもいまひとつよろしくないので元に戻した。過去のプロジェクト用に SDK が不足していたのも勝手にダウンロードしてくれるので助かる。

 ひとつだけなにやら gradle の手順でおかしかったらしくエラーになったが、ログをみるとキャッシュ部分らしいので思い切ってキャッシュを削除して(どうせキャッシュなのだしと)やりなおしたら、今度はうまくいった。

 ただ、いまだにエミュレータで Open GL ES 1.0 を使ったものが動作しないのはちょっとうれしくない。ADT のときには動作していたのだし、実機でも動作しているのでエミュレータが対応できていないのかなとは思うのだけれど、あまりそういう情報がないのだった。

 ということでひとまず環境を整えることは終わったと。しかし、ビルド方法についてしっかり理解していないのであったなあ。一応理解しておかなくては。

| | コメント (0) | トラックバック (0)

Android に振り回される日々

 せっかく昨年暮れにインストールしてプロジェクトもインポートしていたはずなのに、またもや PC 初期化によってやりなおしになった Android Studio 。もはやこのところは触っていないのでインストールしなくてもよいかと思ってもいた。インストール数が少なく、恐らくは常用などされていないのもあってかクラッシュなどの報告もないことであるし(一応そのあたりにだけは気を使って作ったつもりではあるのだけれど)ということで、よほどなにか問題が発生しないかぎりはインストールしなくてもよいかと思っていたのだった。

 とはいえなにかあってからでは作業が面倒であろうしということで、やはり入れなおすかとインストール。バージョンが少しあがったのもあってかインポートのあたりも少しよくなったようで、文字エンコードの関係で文句を言われることもなかった(前回のときには日本語の一部にエンコードが違うというようなものがあったらしくエラーがでたりしたのだった)。

 インポートも終えて、ではためしにエミュレータで動かしてみようかとしたら一行に実行できる気配がない。前回そんなに苦労したろうか? というくらいにうまくいかない。結局しばらくやめてからあらためて見ていたら、ターゲットとしているバージョンの SDK がないためらしいとわかった。

 たしかに作っていたときからは時間があいているので、もはや新規のインストールパッケージでは最新の 5.0 ロリポップしかインストールしないようなので。当該の古いバージョン SDK をいれたら実行できるようにはなった。

 ところが、今度は肝心のエミュレータがいつまでたっても起動完了しない。先にためしたときにはエミュレータだけは起動したはずなのだが、今度は待てど暮らせど起動完了しない。なにがどうなっているのか。エミュレータを作り直して試してみるか。

| | コメント (0) | トラックバック (0)

とりあえず Android Studio 1.0 を入れてみた

 Android Studio が 1.0 となって今後は ADT がどうやら終わっていく流れらしく思われて、もう作ることもないかなあということで ADT の終わりと一緒に終わってもよいか、と思っていた。のだけれど、とりあえず今公開しているアプリのサポートは義務としてあるのだしということで Studio を入れてみた。ベータのときにはちょっと難渋したところがあったのだけれど、意外とあっさりといった様子。

 プロジェクトをインポートして Lollipop のバーチャルデバイスで実行させてみると、はじめはうまく動いていたのだけれど、最後のふたつがエラーになってしまった。どちらも OpenGLES 1.0 だったかを使っている。なにやらそのあたりでうまくいかないらしい。Android 4.x では動作していたはずなので、5.0 になってのなにかなのかとは思うのだけれど、一応これは調べて対応しておかなくてはならないかと。

 いや、インストール数なんて微々たるもので、どうということもないのだけれど。いざとなったら公開やめてしまえばとか。

 ということでいうとアプリの非公開はできるのだけれど、削除というのが出来ないのだよなあと思い出す。ついでにお金を払って作ったアカウントではあるが、これすらも不要だと削除するとかいう項目とかは見つからないような気がしたが、さてどうなっていただろう。

 いずれにしてもそのあたりのエラーだけは一応修正しなくてはなあ。


追記:(12/16)
 どうやら当該エラーはエミュレータ側で対応できていないということらしい。実際、5.0 でインストールされているのも確認できたが、特にクラッシュレポートとかは出ていないので多分大丈夫。

 エミュレータの高速化のために HAX とかいうのを使っているらしいのだけれど、それの影響とかもあるのかもしれない。とはいえ詳細は不明。いずれにしても、そういうことならばいずれ修正されるだろうから放置でよさそうかなと。

| | コメント (0) | トラックバック (0)

とりあえずエラー回避でビルド不可回避

 昨日はなんとなく疲労困憊してしまったのだけれど、少し落ち着いてから思い直してエラー回避を丁寧に行い、なんとかリリースビルドを完了させたのだった。落ち着け、自分。

 とはいえ、デバッグモードでのビルドにはなんら問題はなくて、リリースビルドでというのはありがちなことなのかしらん? いや、そもそもそれが正しい処理ならそれはそれで厳密には違っているからと修正するのは当然なのだけれど、そうではなくて SDK 側の不備(バグ?)という状態で、それが長らく修正されないままというのはうれしくないし、よろしくない。

 多言語に翻訳してないからエラーだといわれてもどういうこと? だし。システム側で生成しただけでまったく手付かずの appcompat-v7 の中にエラーがあるとかいわれても「あんたが自分で作ったんだろうに」というしかないわけで。

 ともかく。

 エラー回避しようとしたらかえって全体に被害が及んでしまったりで驚き(そのプロジェクト固有で修正していたのにも関わらず)、ではと Android Studio をインストールしてみたのだけれど勝手が違いすぎてそもそもどうしていいかわからない状態に。いやはや。なんとかビルドにたどりついたものの、なにかが足りないとかで作られないまま。うーむ。

 ではと、ant というやつを試そうとするが、そんなコマンドはないという。あれ? と確認すると、Apache ant というのをインストールしろということだったのでインストール(というかダウンロードして解凍し、パス設定をする)。いざと思ったらどうも SDK のほうの xml ファイルでエラーがでるらしくビルドできない。うーむ。

 と、なにやら八方塞みたいな状態で諦めてしまったのだった。それでもと気を取り直してエラー回避を根気よく行うとなんとかリリースビルドができたのだった。やれやれ。

 自分の高を知ったという事例でもあるなと。それにしてもこれ修正されるのだろうか(と思っていたらサポートライブラリのアップデートがあったのだが、はたしてその修正がはいっているのか否や)。

| | コメント (0) | トラックバック (0)