白峯のソース

IT なことのメモなど

REGZA Tablet の ADB ドライバのインストール

REGZA Tablet AT501 を買ったが、Android 開発用の ADB ドライバが見つからなかったため、自前(?)でインストールした。

その時の手順メモ。

おそらく、REGZA Tablet 以外の Android 端末・・・それ以外にも専用ドライバの見つからないデバイスを互換ドライバで動かす際に使える方法。

 

 

(1) SDKGoogle USB Driver をインストール

Android SDK Manager で Extras の「Google USB Driver」をインストールしておく.


(2) ハードウェア ID をメモする

[コンピュータ]右クリック
→[管理]から[コンピュータの管理]を開く
→[デバイス マネージャー]
→[ほかのデバイス]から ! のついている Android デバイスを見つける(今回は「AT400」と出た)
→ ! のついている Android デバイスを右クリック
→[詳細]からプロパティを開く
→[詳細]タブ
→ プロパティのプルダウンボックスを[ハードウェア ID]に設定
→ 表示されるハードウェア IDをメモする
  1番目の USB\VID_xxxx&PID_xxxx&REV_xxxx&MI_xx (xx はそれぞれの数値)
   の &REV_ より前が %SingleAdbInterface% に設定する値.
  2 番目の USB\VID_xxxx&PID_xxxx&MI_xx
   が %CompositeAdbInterface% に設定する値.


(3) inf の編集

{Android SDK フォルダ}\extras\google\usb_driver の中の android_winusb.infテキストエディタで開く.
Windows が 32bit OS の場合は [Google.NTx86],64bit OS の場合は [Google.NTamd64] の下に,
先ほどメモした値を以下の形式で書き込む.

;TOSHIBA REGZA Tablet AT501
%SingleAdbInterface%        = USB_Install, USB\VID_xxxx&PID_xxxx
%CompositeAdbInterface%     = USB_Install, USB\VID_xxxx&PID_xxxx&MI_xx


(4) ドライバのインストール

[コンピュータ]右クリック
→[管理]から[コンピュータの管理]を開く
→[デバイス マネージャー]
→[ほかのデバイス]から ! のついている Android デバイスを見つける
→ ! のついている Android デバイスを右クリック
→[ドライバーソフトウェアの更新]
→[コンピューターを参照してドライバーソフトウェアを検索します]
→{Android SDK フォルダ}\extras\google\usb_driver を参照して[次へ]
(→セキュリティのインストール元云々の警告は「はい」を選択)
→「Android Composite ADB Interface」がインストールされる


ドライバインストール後,
Eclipse の[Debug Configurations]で対象プロジェクトの[Taeget]タブから[Always prompt to pick device]に設定後に Debug,
[Choose a running Android device]のリストの中に使いたいデバイスがリストアップされていれば成功.

 

Windows8.1 でドライバーインストール時に

「指定されたカタログファイルにファイルのハッシュがありません」
などのエラーが起きてドライバーがインストールできない場合は以下の手順を実行する。

チャーム(Win+C)
→[設定]
→[PC 設定の変更](一番下の項目)
→[保守と管理]
→[回復]
→[PC の起動をカスタマイズする]の[再起動]を実行
→PC 再起動
→[トラブルシューティング]
→[詳細オプション]
→[スタートアップ設定]
→PC 再起動
→「ドライバー署名の強制を無効にする」を有効にするためキーボードの「7」キーを押す
Windows 起動後、上記「(4) ドライバのインストール」を実行する

MacintoshクライアントとWindowsファイルサーバーでSVN - file:編

MacintoshSVN(Subversion) で LAN 上のネットワークドライブのリポジトリを使う際のメモ。

----------
(1) SCPlugin のインストール

(1-1)
SCPlugin をダウンロードしてインストールする。

(1-2)
Finderの「アプリケーション」から SCToolbarButton を Finder のツールバー領域にドラッグ

----------
(2) ネットワークドライブのマウント

(2-1)
Finder のメニューの「移動」から「サーバーへ接続」を開く

(2-2)
「サーバーへ接続」ダイアログで、サーバーアドレスを入力し「接続」ボタンを押す
※ネットワークドライブが Windows の場合は、アドレスは『smb://サーバー名/フォルダ名/』のようになる

----------
(3) SVN チェックアウト

(3-1)
Finder でチェックアウトしたいフォルダを選択し、SCPlugin ツールバーボタンから Checkout

(3-2)
Subversion Checkout」ダイアログで、Repository URL を入力し、「Checkout」ボタンを押す
※ネットワークドライブが Windows の場合は、アドレスは『file:///Volumes/フォルダ名/...』のようになる

XCode も同様の設定で Subversion が利用できる。ルートの位置は project.pbxproj からの相対パスを設定

ただし、file: プロトコルは Samba 環境での利用は推奨されていません。コミットなどをする場合は別プロトコルを利用した方が良いです。file: はデザイナーなどにプログラムを配布する(Update のみを利用する)などの用途に限定したほうがいいです。

iOS 開発の XCode において、引っかかりやすいところ

(1) ビルドの設定が反映されない

プロジェクト(PROJECT)とターゲット(TARGET)では、ビルドの設定などが別になる。
プロジェクトの方の設定はターゲットの方に継承され、ターゲットの方で変更したものはターゲット設定の方が優先(上書き)されるようだ。
ビルド設定などがうまく反映されないときはターゲットに対するビルド設定を確認する必要がある。




(2) Archive Type が Mac App Archive になってしまう

Info.plist がバンドルリソースへコピーする設定になっている。
ターゲットの設定の、Build Phases → Copy Bundle Resources に Info.plist が含まれている場合は、このリストから外すように設定する。
やり方は、プロジェクトの Info.plist ファイルを選択し、右ペインなどにある Target Membership にある該当ターゲットへのチェックを外す。

チェックが入ったままでもデバッグでのビルドは実行できるが、2回に1回実行に失敗するという状況に陥る。




(3) Ad-Hoc 配信で「ダウンロードできません」になってしまう

【チェックポイント】

・Provisioning Profile に該当デバイスが含まれているか?
  iOS Provisioning Portal
  → Provisioning
  → Distribution タブ
  → 該当 Provisioning Profile の Edit
    ・Distribution Method は Ad Hoc になっているか?
    ・App ID は該当アプリのものか?
    ・Devices にインストールする該当デバイスは含まれているか?

・Archive ビルド時に Scheme ターゲットが iOS Device になっているか?
  ★Archive ビルド時は Mac につながっている全ての iOS を外す必要あり
   なんらかの iOS デバイスがつながっていると、そのデバイス専用のバイナリになるみたい…

・URL が合っているか?
  Organizer から Distribute するとき、Save for Enterprise Distribution を利用する場合…
  {例}http://zzzz.jp/abc.ipa をダウンロードさせたいとすると、
    ・Save As は abc
    ・Application URL: は http://zzzz.jp/abc.ipa
    として出力し、ダウンロード HTML のリンク部は
     <a href="itms-services://?action=download-manifest&url=http://zzzz.jp/abc..plist">ここからダウンロード</a>
    とする    

The Heart of SOURCERER 1 カスタムソース技 - 元素量等倍

ソウマの元素は地水火風空すべてを等倍に増減させれば効果は変わらない、という性質を利用して、寺院にある水の攻撃ソウマをアレンジ。 とりあえず元素量2倍バージョン。 JS:

// Flood Attack X2
function danerurosX2()
{
    var souma = new SourceMagic;
	souma.centering();
	while(souma.meditate() < 11000){}

	var elmdefa = ["aeth", "van", "fogo", "neru", "solo"];
	var clus = souma.belight(480, 480, 480, 480, 480);
	var telma = [480, 480, 912, 976, 480];

	var afu = souma.getFocusUnits();
	if(afu.length == 0)
	{
		var aau = souma.enumAroundUnits();
		for(var i = 0; i < aau.length; i++)
		{
			if(aau[i].isEnemy())
			{
				clus.setFocusUnit(aau[i]);
			}
		}
	}

	while(!clus.evokeOriginalElements()){}
	for(var i = 3; i >= 2; i--)
	{
		var elmdef = elmdefa[i];
		var telm = telma[i];
		var celm = clus.getElementQuantity(elmdefa[i]);
		do
		{
			celm += clus.evokeElement(elmdef, telm - celm);
		}
		while(celm < telm);
	}
	
	clus.materialize();
}

SS:

// Flood Attack X2
function danerurosX2 a o
la
	var souma as new Souma.
	souma n edradin a o.
	while a souma n ia a o lt 11000 o la lo

	var elmdefa as ka;aeth;, ;van;, ;fogo;, ;neru;, ;solo;ko.
	var clus as souma n enluc a 480, 480, 480, 480, 480 o.
	var telma as ka 480, 480, 912, 976, 480 ko.

	var afu as souma n getfocmono a o.
	if a afu n length eq 0 o
	la
		var aau as souma n enumosmono a o.
		for a var i as 0. i lt aau n length. i inc o
		la
			if a aau ka i ko n hagoth a o o
			la
				clus n setfocmono a aau ka i ko o.
			lo
		lo
	lo

	while a lonot clus n lamprimelm a o o la lo
	for a var i as 3. i ge 2. i dec o
	la
		var elmdef as elmdefa ka i ko.
		var telm as telma ka i ko.
		var celm as clus n getelmquat a elmdefa ka i ko o.
		do
		la
			celm addas clus n lamelm a elmdef, telm minus celm o.
		lo
		while a celm lt telm o.
	lo
	
	clus n materaizad a o.
lo

これを応用すれば、より強力な回復や攻撃が可能になって、強いボスも楽に倒せる。 同様に、x4 や x6 に元素量を増やせば更に強力になる。 ただし、元素量が多いと HP も多く消費するので、要注意。