So-net無料ブログ作成

MonacaでUDP通信をしたい [Android]

スマホアプリの開発で「ハイブリッドアプリ開発プラットフォーム:Monaca」を使ってみよう!
と、思って無料トライアルをしてみた。

開発しようと思ったアプリは、汎用機に対してUDPで通信してデータを取得するアプリです。
結論から言うと「UDP通信するためのCordovaプラグインを自作しないと無理」でした。

出来る方法があれば教えてください。

調べたことのメモ書き

Node.jsを使用するとUDP通信できるみたいですが、
通信相手のサーバーにもNode.jsを使用したUDPサーバーが必要。
今回の通信相手は汎用機なのでNode.jsなんか使えない。

JavaScriptでUDP通信をするにはどうすれば良いのか!と思って調べたら
できません。と簡単に回答が見つかった。

socket.ioのことがよくわかってなくて、socket.io.jsってのを使えばいいんだろ?と思ってたら
socket.io.jsは、socket.ioを使用してサーバーを動かすとsocket.io.jsが自動で作成される。
それを読み込んで使用する。

socket.io.jsはCDNにあるようだけど、汎用機と通信するために、
ローカルネットワークにWiFiで接続するので、参照することが出来ない。
そもそも、socket.ioではUDP通信できないNode.jsが必要。

cordova-plugin-dgram(UDP通信するためのCordovaプラグイン)っていうのがあるけど、
Monacaでの使い方が分からなかった。

Monacaで自作のCordovaプラグインを使用するためには
Android用(Java)とiOS用(Objective-C)のプログラムを書く必要があるみたい(?)
nice!(0)  コメント(0) 

VMWare上のUbuntuでのAndroidエミュレータの起動 [Android]

VMware Workstation PlayerでUbuntu 18.04をインストールして、
Android Studio 3.1.3をインストールして、
Android エミュレータを起動するときにしたこと。

VMWareにて、仮想マシンの設定で
"ハードウェア"タブのプロセッサを選択して
仮想化エンジンの"Intel VT-x/EPTまたはAMD-V/RVIを仮想化"にチェックを付けた。

Ubuntuにて、端末を起動し次のコマンドを打ち込んだ。
> sudo apt install qemu-kvm
> sudo adduser kvm > sudo chown /dev/kvm
nice!(0)  コメント(0) 

Androidのタブレットをサブディスプレイにする [Android]

Androidのタブレットを、サブディスプレイにしてみた。
USBで接続してサブディスプレイにするソフトは、いくつかあるみたいだけど
次の環境で試してみた。

PC側の環境
OS: Windows 7 Professional SP1 32ビット
ソフト: Mirror-DTC for Windows

Android側の環境
端末: ZenPad 3 8.0 (解像度: 2048x1536)
OS: Android 6.0
ソフト: Mirror-DTC for Android

PC側で問題だったのが、接続されていないサブディスプレイを認識させる必要があったので
コントロールパネルの"ディスプレイの設定の変更"にある、"プロジェクターへの接続"で"拡張"を選択し
サブディスプレイを表示させた。
(解像度が1280x720で固定されていた)

PC側は、WiFiのアクセスポイントの設定をして、Androidタブレットから接続した。
参考URL
http://www.akakagemaru.info/port/internet-softap.html

これらの設定を行って上のMirror-DTCを使うとサブディスプレイとして、
Androidタブレットを使用することが出来た。
Android側のMirror-DTCの設定は、ディスプレイ2を表示して、モニターモードで動作させた。
サブディスプレイでYouTubeを再生させてみたけど、目立った遅延もなく再生できた。

でも、Androidタブレットの解像度が大きすぎて字が小さくて、ちょっと見にくい・・・
それに、Androidタブレット(4:3)とPCサブディスプレイ(16:9)の比率が合っていない・・・

そこで、VGAの仮想ドライバがあれば良いな。と思って探してみたけど、(ZoneScreen とか MaxiVista とか)
画面転送の機能まであったりするので、別の方法を考えてみた。

その方法が、PC側のVGAコネクタに、ダミーのVGAコネクタを接続する!です。
ダミーVGAコネクタを接続することで、PC側はモニターが接続されていると認識し、
解像度も好きに変更が出来ます。

早速、電子部品を購入してダミーVGAコネクタを作ってみた。
・D-Sub 15ピン(3列、オス) (ミニ)コネクタ x1個
・D-Sub 9ピン カバー x1個(D-Sub15ピンの3列は、9ピンのカバーを使用)
・抵抗 1/4W 75Ω x3本

(抵抗を付けるのに、半田つけをしたので、半田と半田ごてを使いました。)

D-Sub 15ピンの1番-6番、2番-7番、3番-8番を75Ωの抵抗で接続する。
カバーを取り付けて完成!

参考URL
http://blog.hogehoge.com/2011/03/androidpc.html
http://www.geeks3d.com/20091230/vga-hack-how-to-make-a-vga-dummy-plug/

出来たダミーVGAコネクタをPCにつなぐと、
800x600~1920x1200までの解像度を選択することが出来た!

AVD Managerでエミュレータが起動しない [Android]

Android Studioでサンプルプロジェクトをとりあえず動作させようとしたけど
エミュレータが起動しなかったのでメモ。

参考URL
http://codezine.jp/article/detail/9341

AVD Managerでデバイスを作成したのは良いけど、端末の画面が表示されて進まなくなった。
デバイスの設定で"Show Advanced Settings"のボタンを押して詳細設定を開く。
"Memory and Storage"のRAMの設定値を512MBに変更して、エミュレータを起動すると
端末が動作した!

サンプルプロジェクト(Hello World!!)も動いた!

まとめると、このパソコンのメモリ足りてない!

Android Studioのエラー(CreateProcess error=216) [Android]

Android Studio 2.2.2をインストールしたときの、つまづいたエラーのメモ。

PCの環境とかは次のとおり。
OS: Windows 7 Professional SP1 32ビット
JDK: Java SE Development Kit 8u111/Windows x86
Android Studioは、日本語化済み。

JDK、Android Studioともにインストールは正常に終了。
早速、プロジェクトを新規作成して・・・としたところで次のエラーが発生した。
CreateProcess error=216, このバージョンの %1 は、実行中の Windows のバージョンと互換性がありません。コンピューターのシステム情報を確認して、プログラムの x86 (32 ビット) のバージョンと x64 (64 ビット) のバージョンのどちらが必要か確認してから、ソフトウェアの発行元に問い合わせてください。

色々調べると、OSが32ビットなのに64ビットで使おうとしてるんじゃない?てきなことらしい。
解決方法が、メニューの[ファイル]-[プロジェクト構造]を開いて
プロジェクト構造.png
JDK Locationの"Use embedded JDK(recommended)"のチェックを外して
インストールしたJDKのパスを設定する。

これで大丈夫だろ。と思ったら次のエラーが発生した。
Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at https://docs.gradle.org/2.14.1/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for 1572864KB object heap

簡単に言うとメモリ足りてない!ってことらしい。
解決方法は、プロジェクトを開いて、[Gradle Scripts]-[gradle.properties]ファイルを開く。
gradle.properties.png
org.gradle.jvmargsの設定を次にように変更して保存する。
org.gradle.jvmargs=-Xms512m -Xmx1024m

とりあえず、これでAndroid Studioを再起動して、プロジェクトを開き直したらエラーが全部解決できた。

Kindle for Android のフォントを変更する [Android]

Kindle for Android バージョン 4.18.0.106

いつもはコミックばっかりだけど、久しぶりに小説を購入して見たら
フォントが縦書きに対応してなくて、フォントを変更しようにも「Droid Serif」しか選べなかった。
小説とかは「明朝で見たい!」のでフォントを変更してみた。

・PCに接続とかせずに、スマホのみで変更した。
・フォントは、IPAex明朝を使用した。
・root権限は必要なし。
・Kindleの設定ファイルの書き換えが必要。
zipファイルの解凍や、フォントのコピー、設定ファイルの書き換えには「ファイル マネージャー」を使用しました。

Kindle for Android はタスクからも終了しておくこと。
1.IPAex明朝をダウンロードし、zipファイルを解凍して「ipaexm.ttf」を取り出す。
2.storage/emulated/0/Android/data/com.amazon.kindle/files/fonts/ja/ に「ipaexm.ttf」をコピーする。
3.同フォルダ内のsystem_fons.xmlをテキストエディタで開き一番最初に見つかった
/storage/emulated/0/Android/data/com.amazon.kindle/files/fonts/ja/TBGothicMed_213.ttf
を次のように書き換える。(フォントのファイル名をIPAex明朝にする)
/storage/emulated/0/Android/data/com.amazon.kindle/files/fonts/ja/ipaexm.ttf
4.上書き保存をして、Kindleを起動すればフォントが変わっている!はず。

参考URL
IPAexフォント ダウンロードページ
http://ipafont.ipa.go.jp/old/ipaexfont/download.html
Kindle for AndroidのフォントをIPA明朝体に変更する@Xperia Z Ultra
http://www.borg-nikki.com/?p=2518
Android版 Kindleアプリの日本語フォントを変えてみたよ
http://www.tecking.org/archives/3077

apkを変更したい [Android]

ちょっと変更してアプリを使いたかった。

JDKは1.7を使用


adb shell pm list packages -f | findstr ○○○

○○○ にパッケージの一部を入れて検索する


apktool d ○○○.apk

apktool b ○○○ new_○○○.apk

keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=JP" -keyalg RSA -validity 10000

jarsigner -verbose -keystore debug.keystore -storepass android -keypass android -sigalg MD5withRSA -digestalg SHA1 new_○○○.apk androiddebugkey

adb install new_○○○.apk

Xperia UL SOL22 4.2.2でのデバッグモード [Android]

SOL22のOS:4.2.2でUSBデバッグを有効にしたかったのに
設定の中に開発者向けオプションが見当たらなかったので調べた。

設定→端末情報→ビルド番号 を7回タップ

これで、設定→開発者向けオプション が出てくる。



Nexus7(2012)の充電 [Android]

Nexus7(2012)のUSB端子が壊れて充電が出来なくなった。
クレードルを買おうにも既に生産が中止されているらしく定価での購入が出来そうにない。
そこで、Nexus7(2012)の外部端子(4ピンのやつ)で充電できないかと思って調べてみた。

まず、この端子の呼び方
・ポゴプラグ(PogoPlug)
・ポゴピン(PogoPin)
・スプリングピン

色々調べて次のページを見つけました。
http://wind-craft.net/myjobs/2012/12/nexus7dockdiy.html

中央→端を1→4のピンとすると下記のようです。
試してないので要確認で。
1ピン:GND
2ピン:音声出力
3ピン:音声出力
4ピン:+5V

とりあえず、USBケーブルをばらすところから始めたいと思います。

build.prop,hw_config.shの変更を簡単に [Android]

batファイルにしたら1回実行するだけで楽になった。

参考サイト
http://crocro.com/news/20111225140658.html

変更したhw_config.shは、adb_push.batと同じフォルダに置いておく。
SDカードに、hw_config.shをコピー(adb push)して。
hw_config.sh.txtの内容をadb shellで実行する。


[adb_push.bat]
adb push hw_config.sh /sdcard/hw_config.sh
adb shell < hw_config.sh.txt

[hw_config.sh.txt]
su
mount -o rw,remount /dev/block/mtdblock0 /system
cp /sdcard/hw_config.sh /system/etc/hw_config.sh
chmod 644 /system/etc/hw_config.sh
rm /sdcard/hw_config.sh
reboot

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。