仮眠プログラマーのつぶやき

自分がプログラムやっていて、思いついたことをつぶやいていきます。 2025年からzennに移行

自作ゲームやツール、ソースなどを公開しております。
①ポンコツ自動車シュライシュラー
DOWNLOAD
②流体力学ソース付き
汚いほうDOWNLOAD
綺麗なほうDOWNLOAD
③ミニスタヲズ
DOWNLOAD
④地下鉄でGO
DOWNLOAD
⑤ババドン
DOWNLOAD
⑥圧縮拳(ツール)
DOWNLOAD
⑦複写拳
DOWNLOAD
⑧布シミュレーション
DOWNLOAD
⑨minecraft巨大電卓地形データ
DOWNLOAD
⑩フリュードランダー
デジゲー博頒布α版
DOWNLOAD
⑪パズドラルート解析GPGPU版
DOWNLOAD
⑫ゲーム「流体de月面着陸」
DOWNLOAD

2014年03月

いまさらHSPdishのandroidプログラミング解説

HSP dishの使い方で一番苦労するのがここの設定だろうと思う
ardejuykfi


とりあえずこのHSP3Dish Helper

この記事ではHSPソースのコンパイルからアプリ生成、androidへの転送までを、プログラミングマニュアルと自分の設定を見比べながら紹介して行こうと思う



まず絶対目を通さないといけないのが
HSP3Dish android(NDK)版プログラミングガイド


大体はこれ通りにやる。
「2.環境準備」に書いてある通り

①androidSDK =installer_r20.0.3-windows.exe
②JDK =jdk-6u37-windows-i586.exe
③Android NDK =android-ndk-r8b-windows.zip
④Apache Ant =apache-ant-1.8.4-bin.zip
をインストールする。
ところがここで、正しい方法でインストールしないと、後でこんがらがって大変になる。
ここが鬼門。なのでここを重点的に解説しようと思う。


まず①だが、これはプログラミングガイドでは
推奨フォルダは、「c:\android\android-sdk~」です。
と書いてあるが私の場合は
C:\Users\GPGPU\AppData\Local\Android\android-sdk
にインストールした。これは標準設定のままのディレクトリである。
このため HSP3Dish helper のSDKフォルダには「C:\Users\GPGPU\AppData\Local\Android\android-sdk
を指定した。



次に②だが、まずJDKは32bitと64bitの両方がある。OSが64bitでもここは32bitJDKをインストールする。
また更に32bitJDKはJDK6と7がある。
最新のJDK7ではファイル著名でまずいことになる。
なのでここはあえて古いJDK6をインストールしないといけない。
ここでもし64bitJDKもインストールしたかったら32bitJDKの後にする。
ということでHSP3Dish helperのJAVAフォルダは「C:\Program Files (x86)\Java\jdk1.6.0_37
を指定する。
ちなみに64bitOSでは「Program Files」と「Program Files (x86)」両方のフォルダ内に
JAVA\jdk1.6.0_37」が存在するので混同しやすいのだが、ここは必ず「Program Files (x86)」のほうの「jdk1.6.0_37」フォルダを指定する。


③はインストールと言うより解凍する。
これはプログラミングガイド同様に「C:」に「android」フォルダを作成し、そこに解凍すればいい。
なので私はHSP3Dish HelperのNDKフォルダに「C:\android\android-ndk-r8b」を指定した。
もちろん「C:\android\android-ndk-r8b」の階層内はこういうファイル達があることを確認する。
無題

よく解凍時に、無駄に解凍ファイル名を自動作成し、同じ名前を二重にされてしまうことがあるので、そうなっているとandroid-ndk-r8bの読み込みエラーが起きてしまう。



④apache-ant-1.8.4も解凍するだけ。
C:\android」に入れて、同じく先ほど同様「C:\android\apache-ant-1.8.4」内はこういうファイル達があることを確認する。
sdfsdf


HSP3Dish Helperのantフォルダは「C:\android\apache-ant-1.8.4





最後にHSP3Dish Helperのプロジェクトは「C:\android」を指定する。

さて、ここまででHSP3Dish Helperの階層設定は完了。
 
次に先ほどインストールしたandroid SDK (C:\Users\GPGPU\AppData\Local\Android\android-sdk\SDK Manager.exe)を起動し、
必ず「Tools」「Android 4.2.2 (API 17)」はチェックを入れて必ずインストールするように。 
これはプログラミングガイドにも書いてある。
shtjytg
 



あとはプログラミングガイドの「5.新規プロジェクトの作成」「6.プロジェクトのビルド」通りに行えばいい。
ここは人によって大きく手順が異なることはないので、解説は省略する。
ここまで来て、初めてアプリの生成ができるはずである。  



こうしてコンパイルが通り、正常にアプリの生成が行われapkファイルが作られたとしよう。
そのapkファイルはC:\android\プロジェクト名\binの中に プロジェクト名-debug.apkという名前で保存されている。
これをSDカードなどにコピーしてスマホに転送してインストールするのも良いが、もう少し楽な方法がある。


プログラミングガイド「8.実機への転送と実行」によると
プロジェクトのビルドが完了したら、androidの実機に転送して確認することが可能です。 (エミュレータ上での実行は現在まだサポートされていません) 
androidの実機をUSBで接続し、OSから認識されている状態で「転送」ボタンを押すことで、ビルド済みのapkファイルを転送(インストール)します。
ということらしい。

スマホへの転送だが、ここではもう2、3つ、ある手順が必要になる。
私の場合はMOTOROLA PHOTON ISW11Mであったのでandroid SDKの2.3.3にチェックを入れインストール。これはスマホのandoridバージョンに対応したところにチェックを入れインストールする必要がある。
そして「MotoHelper_2.1.40_Driver_5.5.0.exe」といったような、スマホのドライバをインストールする必要がある。
これはメーカーのホームページに行けば大抵落とすことができる。
これをインストールしたら、スマホとパソコンをUSBでつなぎ、スマホの設定から「アプリケーション」→「提供元不明のアプリ」にチェックを入れる。

これで、HSP3Dish Helperで「転送」ボタンを押せば、USB経由にapkファイルを転送し、自動でインストールしてくれる。



そして肝心のデバッグだが、私の環境ではアプリがエラーを吐くことはなく、エラーの時、画面が黒くなりアプリが終了するという現象が発生した。
私の体験した一番多かったエラーの原因として、サウンドファイルの格納間違いがあった。
プログラミングガイドにも書いてあるが、「サウンドのファイルは必ず、assetsフォルダに入れるようにしてください。」
とのことだ。
よって、C:\android\プロジェクト名\assets にwaveファイルを入れなければならない。




Dishが発表されてかなり経つが、自分の備忘録も兼ねて、とりあえず
androidアプリを作成できる環境を作るところまでの説明を記事にしてみた。

そしてついに本日mac OSの環境が手に入ったので、今日からiPhoneアプリの開発を自分の家でできるようになった。
これもなにか分かり次第記事にしていこうと思う。

CLASSPNP.sysが原因で起動しない

http://d.hatena.ne.jp/ogohnohito/20120707/p1
これにも書いてある通りOSの再インストールを覚悟しないといけない原因不明のバグ
ついに私の環境でも起こってしまった・・・。
 
まず、原因として一番考えられるのはPCの構成をいじったこと
引っ越しで、まずPCの電源を切り、中のグラボ2枚を取り出し、HDDを取り外した。
USBも全部外した。OSはSSDに入っていて、SSDは取り外さなかった。

そして家に運び入れた後、同じ場所にグラボを挿し直し、HDDも挿し直した。
このときSATAケーブルの 位置も変えていない。

しかしこのとき新規のHDDをさらに2つ増設してPCを起動した。このときUSBは無数にささっていた。 
ここでさらにRAID構成にしようとBIOS設定でRAIDに設定して起動した。

そしたらWIndowsが起動していますという画面が表示された後、BIOSの画面が表示された。つまり何らかの原因でWIndowsが起動したあと何らかのエラーが発生し再起動したということだ。
 
ここまでで、当然OSの入っているSSD(買って1年目程度)は何もいじっていない。せいぜいPCの電源を切ったくらいだ。
BIOSの設定を戻しても変わらず。
増設したHDDを外しても変わらず。
セーフモードで起動したところCLASSPNP.sysの項目で止まり、5秒程度して起動したかと思った瞬間BIOSに戻された。

つまりセーフモードでも起動できず、何が原因かもわからないまま・・・
結局、いろいろ調べた結果USBを全部外せばいいということが分かったが、USBを外してもダメ

最後はグラボ1枚はずして、データ用のHDDも外してSSDのみの最小構成で起動したがダメ
BIOSを初期化してもダメ
というかBIOSはおそらく関係なく、SSDの中のデータ、CLASSPNP.sysが 何らかで書き換えられたのが原因だろうと思われた。
なにせ「windowsが起動しています」という表示まではしっかりと出るのだ。

また私の環境ではもともとramdiskを使用しており、ramdiskが初期設定で21Gできるようになっていた。このような巨大なサイズのramdiskを作るのに「windowsが起動しています」の表示中に一生懸命フォーマットしているようで、いつもこの画面で起動に2分程度かかっていた。
当然この設定がなければSSDなので起動は10秒くらいだ。

そして今回のCLASSPNP.sysのエラー でも、やはり「windowsが起動しています」の表示に2分程度かかっていたことからも、ramdiskは作成されフォーマットされるところまでは正常に行えていたということだろう。
問題はその直後、画面が暗転して、おっ今にも起動するかと思った瞬間にブルースクリーンもなしに瞬時にBIOSに戻される。BIOSといっても通常PCを起動した時の最初のメーカーロゴのあの画面だ。


解決方法はgoogle先生に聞いてもUSBを外して起動しろくらいしかなく、半分の人はOS再インストールを余儀なくされたようだ。
私もOS再インストールをして今復旧したが、非常に恐ろしいバグなのでブログに書こうと思った。

まるで原因不明の悪性腫瘍みたいで、突然発症しセーフモードですら起動できず、結局原因がわからず死亡するというなんともやるせない感じのバグなのだから

幸いハードの方は無事で、現在もSSDは問題なく稼働している。

こういう時は、同じ症状が出た人の話がとても参考になることが多いので、これからもこういったことはなるべく発信していこうと思う 
プロフィール

toropippi

記事検索
アクセスカウンター

    QRコード
    QRコード
    • ライブドアブログ