いさぽん部屋(isapon.com)

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

NDK

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" を追加すればよいというこ…

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. と警告が出ます…

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のメ…

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…