先週導入した、当事務所初のAndroid搭載機(Lifetouch Note NA-75F 以下、LTN)。電源を入れたその日のうちに、絶望に見舞われました。
Docuworks Viewer light for Androidがインストールできないことがわかったのです!

相談時の手控えからハードカバーの参考書まで、紙文書は片っ端からスキャンしてDocuworksに収容して管理している僕にとって、これはまさに致命傷。このままだと外出時にDocuworks文書が見られないか従来のPCと二台持ち、などということになりかねません。とりあえずその日はたっぷりと自分の不幸を嘆きソフトの制作者を呪って過ごし、19日の日曜日からおもむろに対応策を調べにかかりました。
今日は当事務所におけるDocuworksでの文書電子化についてお話ししてきた『代書やさんのDocuworks』の番外編です。まぁ、一言でいえば自分のほしいアプリがAndroid Marketからインストール出来ないことを諦めることができずに一週間いろんなことを試したらこうなった、というお話。
実はAndroid搭載機を買うまで、AndroidのアプリはAndroid Marketを通じてインストールされるものだ、ということを知らなかったのです。このマーケットで対応機種の振り分けがなされており、インストールされるべきでないアプリはその端末でマーケットを検索しても表示すらされない、ということも。
では仮に何らかの問題でマーケットからアプリをインストールできない場合にはどうしたらいいのでしょう?
参考1 『最後のlinux』
http://linuxsamurai.blog89.fc2.com/blog-entry-102.html
この記事によると、大雑把に言って
- 問題機種の端末情報を詐称する。ただしrootを取る必要がある
- 別にAndoroid端末を用意する等して、そちらにインストールしたアプリからファイルを抜き出して持ってくる
現実的なところでは、諦めるほかにこうした対処があるそうです。このほかに、
参考2 『Android Smart』
http://android-smart.com/2011/11/android-sdk%E3%81%AE%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%82%92%E3%81%AB%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%88%E3%82%92%E7%84%A1%E7%90%86%E3%82%84%E3%82%8A%E3%82%A4%E3%83%B3.html
こちらでは、PC上で動作するAndroidのエミュレータにマーケットのアプリをインストールし、そのエミュレータにアプリをインストールしてアプリからファイルを抜き出す、という方法が示されています。参考1の2.と違って、適当なAndroid端末が実在しなくても実施可能に思えました。
ならばこれでやってみよう、というところまで調べたのが20日の月曜日。このサイトから、必要なファイルがダウンロードできる
参考3 『Android SDKを使おう』
http://androidsdk.web.fc2.com/
のサイトがあることもわかりました。ただし、こちらのサイトの手順で実施しても僕はエミュレータからマーケットを利用できず、他にも利用できなかった事例も質問掲示板にあることが確認できました。
…一歩後退。この時点で、21日火曜日であります。これらのサイトに従って、JAVAとAndoroid SDKのダウンロード・インストールまでは終了しました。なお、この二つは最新のバージョンを用いて支障ありません。
さて、ここで調べる方法を少し変えました。直近1ヶ月にアップされた記事に限定して成功例を探したのです。その結果、参考2の手順で成功していると言及するブログが発見できました。
参考4 『初めてアパート暮らしのブログ』
http://plaza.rakuten.co.jp/yuran2966/diary/201201150000/
こちらの記事のおかげで、参考2の手法が先月時点で有効だ、ということがわかりました。また、参考2は起動のつど、記事中のバッチファイルを走らせるとよい、ということも。
そこで、Andorid2.3で仮想端末を一つ作り、参考2・4の手順で(参考3では、com.andoroid.vending-1.apkのほうをダウンロードしファイル名をvending.apkとして利用)エミュレータからマーケットに行くことはできるようになりました。参考2の記事では何か実在するAndroid端末からbuild.propを抜き出すように解説されていますが、なるべく無難なスマートホンのbuild.propを検索したところ、なぜかS某-03Cのbuild.propが複数公開されていたためこれを採用、ヱクスペリアならぬ偽ペリアとして利用させていただくことができました。

しかして世の中そんなに甘くない、とわかったのがさんざんコマンドラインやらバッチファイルやらバイナリエディタと取り組んだ後の、23日の夜。マーケットでアプリが表示される件数はLTNのそれを上回っているのに、なんだか妙に英語のアプリが多いのです。でも日本語表示のアプリも結構出てきます…なぜだろう?
さすがにいい加減嫌気がさしてきました。この間、最小限の仕事以外はひたすらこの作業をしており、22・23日などは外にも出ていません。自営業者万歳(笑)
24日になっていったんこの件をペンディングとし、準備書面を一つ作ってお客さまに納品。夜になって作業を開始します。
これまでに通過した一つ一つの情報を、もういちど念入りに確認しようと思ったのです。これらのどこかに僕が見過ごしたりはしょったりした箇所があれば、そこに秘密がある、と考えねばなりません。
一見迂遠な作業は、あっさりと報われました。PC版Andoroid Marketのウェブサイト内のDocuworks Viewer for Androidの動作環境・仕様欄をもう一度みたところ
- プロセッサー:ARM互換プロセッサー
- 対応OS:Android 2.2、Android 2.3、Android 3.0、またはAndroid 3.1
- スクリーン:480×320ピクセル以上、1280×800ピクセル以下のマルチタッチスクリーン
マルチタッチスクリーン?
実はLTNはタッチスクリーンではありますが、指二本で触って操作ができる画面=マルチタッチスクリーンではないのです。
それどころか、マルチタッチスクリーンという言葉があることをその時知りました(愕然)
どうやら依然としてマーケットからのインストールが、それもエミュレータからでさえ不可能な理由の一端はここにあるようです。さらにさらに調べたところ、マルチタッチスクリーンの有無に関する情報も詐称できることがわかりました。
参考5 ブログ『みどりの大地』
http://yasusan.cocolog-nifty.com/green/2011/12/post-2295.html
この記事に示されていたhandheld_core_hardware.xmlの中から、マルチタッチスクリーンに関する部分を採用したxmlファイルを作ります。ついでに参考4で示されていたバッチファイルに
platform-tools\adb -e push handheld_core_hardware.xml /system/etc/permissions
の一行(ブログの画面表示では改行されているかもしれませんが、改行なしで一行です)
を加えてあげればバッチファイルでxmlのインストールまで完了できるだろう…ということが参考3のサイトの丁寧な解説とコマンドからわかりました。実際、これで問題ありません。
どうせならついでに、ということでgsm携帯(基本的にD社の携帯を偽装するという方向で行動中なので、CDMAでなくgsm)、ついでにGPSも利用可能、という設定にしておきましょう。これが意味があることかどうかは分かりませんが、結果的には成功しています。
その結果、さらに少しだけマーケットで表示されるアプリは増えました。つまり効果があることはわかったのですが、でも肝心なDocuworks Viewerは出てきません。25日の夕日が沈んでいきます。
一体何度目かになるかわからないバッチファイルを走らせて、見飽きたマーケットの画面を眺める夜。
どうして日本の乗り換え関係のアプリより上位に、インドネシアの鉄道の案内アプリとか出てくるんだろう…
って、そりゃ絶対変でしょうが!
よくよくみるとこのマーケット、通貨表示が全部ドル建てです。念のためMarket Enabler(本来ならrootをとって、Marketの利用国を変更するアプリ)をインストールして情報をみると、携帯キャリアに
T-mobile
という表示が。b-でもEでもない、ということは…日本の会社じゃない(笑)
つまり僕がエミュレータから見ているこのマーケットは日本のマーケットではなく、まだいじっていないところにマーケットの表示国を変える要素があるのか?
さらにさらに検索すると、最後の決め手になるサイトに巡り会うことができました。ここらで日付が変わり、26日になります。
参考6 『My daylife in virtualworld』
http://nockforager.blogspot.com/2009/06/market.html
これをみると、参考2.で改変したbuild.propの続きとしてsimの情報を記述する部分があり、これは比較的かんたんに変更できるのだとか。
get.propコマンドの発行とset.propコマンドの利用は参考3、でコマンドプロンプトが#になっている状態下で可能、ということは同サイトの画面遷移の写真からわかります。あとは設定値を調べて入力したところ、
setprop gsm.sim.operator.alpha 設定値
でエラーメッセージが出ました。そんなファイルやディレクトリはない、と言っているようです。なぜ?
いくら冬の夜が長い、といっても今日も就寝3時4時とかってのは避けたいな、と思いつつ、2時を回った時計に目をやります。ひょっとしたら、設定値を入力するときに半角スペースが入るのが気に入らないのかLinux?
知ってる人に見せれば失笑される発見なんですが、Linuxの文法では半角スペースを含む設定値を入力するときには設定値をシングルクォーテーションで囲めばいいんですね。これだけで30分無駄にしましたよええ(溜息)
そして、努力は報われました。

これらの各作業によって、端末情報を書き換えたエミュレータからマーケットにアクセスすることができ、そのマーケットはまぎれもなく日本のものになったのです。当然ながらというべきでしょうか、Docuworks Viewer Light for Androidも無事発見、エミュレータにインストールすることができました。同時にESファイルエクスプローラーもインストールしてさっさとapkファイルに書き戻し、エミュレータ内のSDカードに保管します。
ところがところが?
エミュレータの仮想SDカードからadb pullコマンドでapkファイルを引っ張ってこれません。lsコマンドでファイルの所在は確認できるのに。
これはどうもいけません。エミュレータへのインストールが成功したところで調子に乗ってお歳暮にもらったビールを開けたのは失敗だったかも。それに、朝4時を回りましたよ?
とにかくエミュレータ内からファイルを脱出させればいい、ということで、方針を変えました。ファイルを操作するアプリであるESファイルエクスプローラーは、端末内にとどまらずFTPサイトとのファイルのやりとりが可能です。これをつかって僕が持っているサイト内にFTPでファイルをアップロードし、LTNにもESファイルエクスプローラーをインストールしFTPでダウンロードする、という作戦を立て、ともかくファイルをアップロードできたところで寝ることにしました。26日、午前5時過ぎ。
明けて本日。参考6のsetpropコマンドを使わずにエミュレータを立ち上げると、やっぱりアメリカのマーケットの表示に戻っています。一方で、エミュレータにインストールしたアプリは残っています。これなら、アプリのアップデートが発生したときには(少々手順は煩雑ですが)改めて日本のマーケットにアクセスしてアプリのアップデートを行い、それをapkに書き戻してFTPか何かでエミュレータ外に脱出させればいい、ということにしましょうか。
まさに紆余曲折を経て…というよりヤフオクで適当なスマホをポチって支援部隊にする誘惑に耐えながらの作業ではありましたが、ともあれアプリはダウンロードできました。肝心なDocuworks Viewer light for Android(この記事の時点で、Ver.1.0)は確かにLTNで動作します。特徴を整理すると
アプリ自体でファイルを格納している場所を表示する機能を持ちません。適当なファイルマネージャーで関連づけを行ってやり、そこでファイルを選択すればよい、という手順で問題なく表示されます。
拡大・縮小はできません。つねに用紙全体が表示されます。
左右に指を動かしたりページ右隅・左隅をタップすることでページがめくれます。この表示は高速で、ストレスを感じません。
A4判12ポイントの裁判書類程度であれば、苦もなく文字が読めます。A3~B4で10ポイント、などになるとかなり苦しいです。裁断した文庫本なら全然OK、というよりLTNのディスプレイが充分大きいので、縦にすれば余裕で行けます。
つまり、細かい数値がある大きな図面を見るのはまず無理ですが、A4判・文字中心の書類を扱うだけなら全然OK,というところでしょうか。しかし、今回の作業にあたって僕が調べたところLTNでDocuworks Viewer light for Androidを運用しているという情報は『なまあず日記』のブログでのみ(この方は、別のAndoroid搭載機からapkファイルを調達されたようです)把握できたのですが、この方は建築関係の仕事をされておられるように見受けられます。なにか拡大や縮小ができたり、図面を見やすくできる工夫があるのかもしれません。
この記事のやりかたはかなり面倒なんですが、実機のrootを取りにいって操作をミスったら端末即文鎮化、などというリスクがありません。実は僕も作業中にbuild.propの文字を一つ間違えて文鎮エミュレータを作ったことがありますが…いくら間違ってもウィンドウの右上をクリックすればすべて無かったことにでき、それでいてこれまでインストールできなかった大抵のアプリは手に入る、というなら悪くないかな、と思っています。
実はついでに、LTNではインストールできないことになっている地図・乗り換え・カーナビといった機能をもつアプリを入れました。こちらは普段使っている携帯電話会社経由での接続の有無に依存するかと思ったのですが、SIMを挿していない状態でもWiFi接続してD社のID・パスワードを入れてあげれば機能します。つまり何らかの手段でネットにつながってればいい、ということになるので、MVNO業者のSIMやWimaxのモバイルルータを使ってもよさそうにも思えます。本機種のGPS機能に問題があると云々する記事は複数あって心配されたものの、マーケットから『GPS Status』のアプリを入れて表示を見ながらGPSで測位しやすい場所(同じ家のなかでも全然違うことがわかりました)をまず探すことで運用に支障ないし、外でならこれまた無問題、ということもわかりました。
どうやら明日からの松山出張、とても幸せなものになりそうです。
最近のコメント