いさぽん部屋(isapon.com)

ゲーム系プログラマによる特に方針のないブログ。技術系とカレー、ラーメンネタ多めだったはずが、最近はダイエットネタ多め。

android

local reference table overflow の時の確認方法

Android 向けの開発をしていたところ、local reference table overflow なるエラーが起きた。 解決方法は簡単(NDKならね)なのですが、修正する前にどんな状態なのか調べたかったので何か良い調査方法はないかと探してみました。 VMDebug.dumpReferenceTables…

Gradle + NDK で APP_STL を指定する(Android Studio)

NDK r16 にて自作ライブラリをc++17向けにいろいろと拡張をして遊んでいたところ、 std::get_time() を呼び出したらんなもん無いと怒られたのでいろいろ調べてみた。 結果は build.gradle に arguments "-DANDROID_STL=c++_shared" を追加すればよいというこ…

近況報告

その1.なんとなくブログの更新が面倒になって放置してました…… その2.最近スマホ向けのアプリを作り始めたので、年内か年明け早々にリリースしたいところです。 その3.開発に携わっていたスマホゲームがランキング上位に入ってました。 その4.釣りに…

Android 開発で細々変更があったので自分用まとめ

文章をあれこれ書くより見たほうが早いので要点だけ。 app_dummy() が deperecated android_main() から app_dummy() を呼び出していると Calls to app_dummy are no longer necessary. See https://github.com/android-ndk/ndk/issues/381. と警告が出ます…

Vulkanでハマる

ここ数年、仕事で3Dを直接扱うことがあまり多くなかったので ちょっと勘が鈍っています。 直接というのは 自分で座標計算やらなんやらしてGPUを叩く的な意味です。 最近はライブラリが充実しているので あまり気にせず組めてしまうんですよね。 楽に作れる…

iOSアプリ開発するならStoryboardは使うべからず

iOSアプリ(iPhoneアプリ)の開発をする際に xcodeでプロジェクトを作ると 標準でStoryboardを使ったビューの制御が入ります。 グラフィカルなインターフェースでUIの遷移を 設定することができるわけです。 が、使うな!と言いたいです。 今日はそんな心の…

Androidアプリ内課金テストでのエラー対処方法メモ

Androidアプリ内課金のテストをしていると忘れたころにやってくるエラー。 よく忘れるのでメモ。 出版社はこのアイテムを購入できません GooglePlayの仕様でアプリ開発者(公開者と言ったほうがシックリくるかな?)は自分のアイテムは買えない。 例えば、デ…

Android 5.0 (ART) NDK で CallObjectMethod や GetStaticMethod で落ちる

Android NDK でプログラムを組んでいたら、新規に実装した部分が4系までは動いていたものが、Android 5.0 ではクラッシュするようになった。結論から言えば「今までがたまたま動いていた」という感じ。 FindClass がクラスを見つけられない com.isapon.MyCla…

Android NDK SIGSEGV(デバッグダンプ)からソースの位置を確認する

たまに忘れるのでメモ。 NDKで開発しているときに、何かしらの問題が発生してクラッシュすることがあります。 logcatを見ると以下のようなダウンデータが出力されます。 とりあえずこれをリダイレクトなり貼り付けるなりしてファイルに保存しておきます。こ…

【Android】【Java】 アプリはたまに落としたほうが良い

音ゲーなどリアルタイム処理のあるアプリで処理落ちが起こると悲惨なことに……遊ぶ人の解決方法としてはそろそろ処理落ちしそうになりそうだな……と思ったら一回アプリを終了させること。他に動いているアプリがあればタスクキルしても効果ありです。 Javaのメ…

【Android】【iOS】 タッチイベントは1フレームに数回来る。時がある。

デレステをプレイしていて何度か起こった症状ですが、タップが効かなくなることがありました。実際の症状がソレかどうかはわかりませんが、俺もプログラム組んでいるときに似たような症状に悩まされたことが…… ボタン処理の基礎 ボタンの処理の基礎部分です…

【デレステ】 攻略!効率的なリセマラの方法

初心者向けの攻略記事も書きました。 【デレステ】攻略!まとめ。序盤にやっておいたほうがいいこと。 - いさぽん.COM「つくる」に挑戦中 アイドルマスターシンデレラガールズ スターライトステージをやってみる タイトルが長いので、以下「デレマス」と呼び…

スマホの画面の縦横のPPIは違うのだ。スマホ開発はAndroidから行うススメ

Androidで気を付けないとならないのは、PPI(Pixel Per Inch)が縦と横で違うということ。ほんと、微妙な差なので、ぶっちゃけどっちも同じ値を使っていてもわからないくらい。でも一応違います。 例えば、SHARPの SHL25だと 水平方向=428.6, 垂直方向=427.789…

C++11の落とし穴。functionalがあると思うなよ。…あった!

先日 Android NDK で functional が無いと書いたのですが、訂正です。ありました functional。 結論 Application.mk は APP_STL := c++_static に、せいっちゅーこっちゃ。 説明 jniをビルドするときに Application.mk を書く必要があり、その中で使用するST…

C++11の落とし穴。functionalがあると思うなよ

http://www.isapon.com/entry/2015/08/27/C%2B%2B11%E3%81%AE%E8%90%BD%E3%81%A8%E3%81%97%E7%A9%B4%E3%80%82functional%E3%81%8C%E3%81%82%E3%82%8B%E3%81%A8%E6%80%9D%E3%81%86%E3%81%AA%E3%82%88%E3%80%82%E2%80%A6%E3%81%82%E3%81%A3%E3%81%9F%EF%BC%81C…

Android NDK on windows: libcurl の configure でハマる

android-ndk-r9b, android-ndk-r9c にて確認。 環境は Windows8.1 + Cygwin libcurl をNDKプロジェクトに組み込もうと思ったのだが、そもそもlibcurlのビルド・・・・・・以前にconfigureが通らず格闘すること6時間。android-ndk/docs/STANDALONE-TOOLCHAIN…