hyoromoのブログ

iOS/AndroidもしくはCocos2dxネタを書いています

Android

Cocos2dxで Cricket Audio を使ってみる

Cocos2dxフレームワークの SimpleAudioEngine や AudioEngine に機能不足やバージョンによってバグがあるため、CRIWAREやCricketを使っている企業が多いかと思います。今回は手が出しやすいCricketについて書きます。 http://www.crickettechnology.com/今回…

Androidアプリでライブラリ側が追加したパーミッションをアプリ側で消す方法

アプリ改修時にライブラリを一新させると、例えば以下の様にパーミッション追加される事があります。 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 怪しいパーミッションは入れたくない。。。どうすれば!という時は</uses-permission>

Cocos2dx制アプリがAndroid4.x端末で起動時にクラッシュするバグ対応

Android5.x端末だと正常動作しますが、Android4.x端末でアプリ起動時にクラッシュするバグが発生しました。発生した時、以下のエラーログを吐きます。 java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_relocate(linker.cpp:975): cannot locat…

新作アプリ「ぼっちりとり2」をリリース

「ぼっちりとり2」アプリをiOS/Androidでリリースしました! 独りで「しりとり」をし続けるゲームです。少しでも興味を持たれた方は以下のバナーからDLください。 以下、今回は技術的に語りたいことも無いのでダラダラと日記らしく感想を書きます。

EclipseでAndroidアプリのビルドでエラーが発生して困った話

エラーといっても色々なエラーがある訳で、今回はCocos2dx向けのアプリをビルドした時に以下のエラーが発生した時の話です。 errors occurred during the build. errors running builder 'android pre compiler' on project could not initialize class com.…

Cocos2d-xでのデバッグ分岐処理の方法

Cocos2dxにて、Debug/Releaseビルドの処理を分岐したい時に使う手法について書きます。この手法を取ることで、Debugビルド時のみDebug画面へ遷移可能にしたり、画面上へDebug表示させる等の仕組みを入れることが可能になります。

Amazon App StoreへAndroidアプリを申請してみた

Google Playで配信していたAndroidアプリをAmazon App Storeへ配信してみました。今回は実施方法を簡単に書いてみようかと思います。

Cocos2d-xでのアプリ開発中に発生するEclipseでのエラー解決方法

Cocos2d-x を使って開発しているとEclipseが以下のエラーを吐くことがある。 An internal error occurred during: "Cleaning selected projects". java.lang.NullPointerException 'Serializing CDT Project settings.. ' has encountered a problem. 以下の…

Cocos2d-x v3.3 環境構築

Cocos2dx v3.3の環境構築方法について書きます。 内容はMac上で環境構築を行い、iOS/Android向けにアプリ起動させるところまでとなります。 なお、v3.3自体のバージョンアップ情報は公式のnews内容を参照ください。

Cocos2d-x を使ってカジュアルゲームっぽいアプリを作ってみた

世にあるカジュアルゲームがよく搭載している機能を実装してみました。 広告等の話が出てきますので、そういった類の話が嫌な人はここでタブを閉じてください。 開発環境 Cocos2d-x v3.2 final iOS Deployment Target 7.0 Android minSdkVersion 15 開発アプ…

AdMob SDK から Google Play Services に切り替えた時に発生したエラーについて

2014/08/01から、AdMob SDKを追加した状態でGoole Playにアプリをアップする事が出来なくなりました。 http://adsense-ja.blogspot.jp/2014/03/android-google-admob-sdk.html新規アプリだけではなく、既存アプリのアップデートでも対象に含まれるためその対…

Android4.4から追加された "Double touch drag" ジェスチャーを利用してみる

"Double touch drag" は、ダブルタップ後に下上へスワイプ移動をさせる事で拡大/縮小するGoogle Mapアプリでやってるジェスチャーの事です。ピンチイン/アウトと併用して使うことになります。

AndroidでiOSアプリランキング閲覧アプリをリリースしました

Google Playで検索してもゴミアプリしかなかったんで作りました!iOSアプリランキングhyoromo価格:無料

非公式アプリ「二次元画像詳細検索」をiOS/Androidで公開

主にえろい画像を検索する「二次元画像詳細検索」サイトの非公式アプリ*1として、iOS/Androidの両プラットフォーム向けにアプリを公開しました。 https://itunes.apple.com/jp/app/id793248344 https://play.google.com/store/apps/details?id=jp.hyoromo.ni…

CocosBuilderでマルチ解像度対応

今回はCocos2d向けUI作成ツール「CocosBuilder」を使ってマルチ解像度対応したUIを作っちゃおう!な内容を書きます。Cocos2d-xのセットアップが未だな場合は前回エントリーを参照ください。 実施環境 CocosBuilder 3.0 α5 Cocos2d-x 2.1.4 今回の目標 CocosB…

Cocos2d-xの環境構築

Cocos2d-x 3.0 αが先日リリースされたようですが、今回は安定版の2.1.4を使っていきます。ちなみにXcodeとEclipseはインストール済みを想定して書いてますのであしからず。 実施環境 Mac OSX 10.8.4 Cocos2d-x 2.1.4 Android NDK 8e Eqlipse 4.2.2 Xcode 4.6…

古いProGuard設定に縛られしプロジェクトがADT22系にアップデートした時に発生かもしれないエラーの解決法

最近のイケてるプロジェクトは発生してないようですが、プロジェクトによっては以下の様なエラーが発生するかもしれません。 Proguard returned with error code 1. See console MangaPageActivity: can't find referenced method 'android.view.Window getW…

Android4.2以上でJavascriptからJavaメソッドをコールするには

セキュリティ絡みの問題でJavascriptからアプリ上のJavaメソッドをコールする対象へ@JavascriptInterfaceアノテーションを付ける必要があります*1。このアノテーションを付けないとAndroid4.2以上の端末ではJavaメソッドがコールされません。以下、付けてみ…

Google Playのアプリ説明欄(Description)をHTMLマークアップる!

いつからか知りませんが、Google Playの説明欄でいくつかのHTMLタグ*1が有効になっていました。 HTMLタグ とりあえず試してみたタグを列挙 利用可能 <b> <i> <u> <font> <a> 利用可能だが使わないほうがいい <h1>〜<h4>ページ上の他見出しと被るし、上下に入る余白が思いの外おおきい </h4></h1></a></font></u></i></b>…

iOS/Androidアプリ開発時に感じた差異

先日「nicoマンガ」という非公式ニコニコ漫画サービスのビューアをAndroidでリリースしました。その時に同様な機能を実装したiOSアプリも作っていた事を前回のブログで書きました。今まで誰かが作ったアプリを別プラットフォームへ移植、もしくは自分で作っ…

ポルノ扱いでrejectされたiOSアプリをAndroidへ移植したよ

iOSアプリでポルノ扱いされたのでAndroidへ逃げてきました!ニコニコ静止画【マンガ】の非公式マンガビューアをAndroidアプリとしてリリースしました。Android4.0以上でおそらく動作し、ニコニコ静止画サービスのマンガコンテンツを閲覧する事が出来ます。 A…

Androidアプリ「モコちゃん」をリリースしました

昨日、AndroidMarketに「モコちゃん」という名前のアプリをリリースしました。アプリ詳細は上のバナーをクリックして確認ください。 今回は「子供が挨拶の練習をするための教育用アプリ」をコンセプトに開発しました。 子供って何を好むのかなーって考えると…

新・開発者に便利なアプリ紹介

昔に書いた内容がクソの役にも立たないので新たに書き直しました。 BatteryMix バッテリー管理アプリ各アプリ稼働率やバッテリー影響具合をグラフ化してくれるため、自分の開発したアプリがどの程度端末に影響を及ぼすかが手軽に計測できる。 Quick Settings…

Notification表示されてればTaskKillerに殺されないServiceの作り方

ユーザーへ動作している事が認知されるServiceはTaskKillされない実装が出来るらしい。そのため「Notification表示中」という条件が付いてしまうが、TaskKillerには殺されない実装が出来るみたい。 方法 そもそも android developpers の Service#startForeg…

HomeThemeアプリの変更内容と作成方法について

昨日、ADW.Launcher と GO Launcher EX ホームアプリのテーマをリリースしました。 GOランチャーEX ホームテーマ -初音ミク- (GO Launcher EX Theme -MikuHatsune-) ADWホームテーマ -初音ミク- (ADWTheme -MikuHatsune-) テーマ変更でどういった変更が出来…

In-app Billing試してみた その1

先日からアプリ内課金が行えるようになったので、現在開発中のアプリに仕込んでみました。今回は導入からアプリ課金ページ表示の所まで簡単に書き残しておきます。 概要 だいたいの説明は android developers ページに載っています。英文読んでから気づいた…

タイル状に画像を敷き詰める

よくWebサイトであるような、小さな画像を背景にタイル状に敷き詰める方法。xmlでの方法を書く人は居るのに、javaで書いてくれてる人が居ないので整理しておく。 XML指定での方法 res/drawable/icon_repeat.xml ポイントはtileModeをrepeatに設定している事…

SoundPoolのload上限

同じインスタンスでloadし、再生有効なIDの上限は255までと決まっています。Sound Idが256以降になるとIDの採番は行われますが、SoundPool#play で256以上のIDを引数としても再生されません。 すなわち使用できるSound IDは1から255。

Gesture APIを利用

AndroidOS1.6以上から使えるようになった android.gesture APIを試してみました。Googleが提供しているSampleがあります。 ジェスチャーライブラリ作成 事前に使用するジェスチャーを登録しておく必要があります。ジェスチャーを登録する方法は以下の二種類…

Admob設定方法

自分用メモ。コピペでいけるように書いてるつもり。Admob自体の初期設定に関しては他のサイトを参照ください。 配信アプリケーションのサイト上での設定 Admob公式サイトのmy site上にある「サイト/アプリケーションの追加」をクリック。 Androidアプリケー…

GalaxyTab固有の問題と解決方法

海外のGalaxyTabで、現時点で見つけた問題と解決方法をまとめました。なお、国内向けに発売されるGalaxyTabでも同様の現象になるかは不明です。 Activityのウィンドウサイズが小さく表示される このように表示されるアプリがあるみたい。少し分かり難いです…

ProGuardを使っての難読化方法

ProGuardはJavaコードを最適化/難読化するためのツールです。apkのサイズが少なくなったり、apk解析された際に解析され難くなります。 今回は難読化のさせ方がよく分からなかったので整理しておきました。なお、ProGuardのバージョンは4.5を使用しています。…

リソースフォルダ名の設定方法

リソースフォルダ名って色々な条件を設定出来るけど、ついつい忘れがちです。例えば、hdpiでも解像度が800×480・854×480・960×640があっても、それら個別に画像やレイアウトを用意できちゃえます。 なお、以下の表にあるdrawableはlayoutやvalue等に置き換え…

NativeHeapSizeの調べ方

すぐOOMになる!もうVM落ちちゃったじゃない!て、人のタメにHeapSizeの調べ方を書いておく。ちなみにService系を作っているので基本LogCatに出したりSDcardに書き込む方法を好んで使ってます。長時間に渡って採取する必要が無ければ他の方法を取る方が分か…

AndroidMarketのアプリ詳細から「開く」で起動させるには

MainActivityのあるアプリならMain画面が起動されますが、そうではないService系アプリの場合はどうしたら良いのでしょう?一番よく取られるやり方はLauncher画面を一つ用意する事です。HelpをMainActivityにすればLauncher一覧に表示され、Marketからも開け…

マナーモード状態の取得

マナーモードON/OFF時にBroadCastされるのでReceiveすればマナーモード状態を取得できます。 IntentFilter設定 Javaコード上で以下のように設定。 IntentFilter filter = new IntentFilter(); filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION); r…

BitmapFactory.Options の使い方   の説明をちゃんとしたかったな...

画像読込時のOutOfMemory回避のお伴に BitmapFactory.Options が非常に有効です。本日はそんなAPIで何が設定出来るのか整理してみました。 設定一覧 inDensity bitmapのpixelを調整するらしいけど、どう使っていいかよく分からない。 inDither trueの場合、…

LogCatの見かた

Android開発し始めたばかりの人で、LogCatにどんな情報が流れてるか分からない。って人が多いので知ってる範囲で整理しました。 エラーの種類 タイプ Log出力方法 ログの意味 V Log.v(TAG, "VERBOSE") 簡易メッセージ D Log.d(TAG, "DEBUG") デバッグメッセ…

IS01 -AppWidgetに関して-

KDDIデザイニングスタジオでIS01端末の展示が行われていたので触ってきました。既にファーストインプレッション記事が多く上がっており、今更ですが主にAppWidget周りを見てきたので書いておきます。 Homeの特徴 解像度は960×480ですが、右側にメニューがあ…

Androidでのピアプロキャラクター利用に際して

ピアプロのキャラクター*1をAndroidMarketで使用して良いか分からなかったので、権利元となるクリプトン・フューチャー・メディア株式会社さんに確認してみました。 無償非営利の場合 現在の所は、こちらの「非営利かつ無償の利用について」に準拠した規約に…

Gadget1に参加しました

スタッフとして参加しましたが、メイン会場でマイク係してたのでプレゼン内容は聞けました。長く書くのはメンドウなので気になった点だけメモ。 ARお絵描きツール「Feel Sketch」 絵をPMcodeに変換。それをAndroid端末で読み取って、カメラ上に絵をオーバー…

コピープロテクトの問題について

AndroidではMarket登録時にコピープロテクトを掛けるかどうか設定できます。今回はこの設定をする事でどうなるかを整理します。 コピープロテクト OFF アプリをコピーできる ON アプリをコピーできない ユーザーがRootだとMarket上に表示されない表示される…

お気に入りAndroidアプリ

私が気に入ってるAndroidアプリを紹介します。【Ver. 】は私が使ったときのバージョンです。 widget HOME Open Home - Lite【Ver. 1.2.6】Home も Java で書かれたアプリの一つなため、アプリとして作ることができ、もちろん使うことが可能です。標準だと3画…

Android 端末による実機テスト手順

HT-03A 買いましたよ。 さっそく端末で「Hello, Android」を表示させてみたので、手順をメモしておきます。 Android端末での実行 for Mac Android 端末にて「設定>アプリケーション>開発>USBデバッグ」をオン Android アプリの AndroidManifest.xml の Appli…

ABC 2009 spring に参加してきたよ

6月26日、iPhone3GS が日本国内で発売された日に Android の総会が都内で行われましたので、参加してきました。 Google 日本はアプリケーションを開発してきた歴史が長いので、Google としては世界で活躍するアプリを大量に排出してくれる事に期待されてるよ…

「現職エンジニアが明かす Android開発の実際」トークセッションに行ってきたよ

昨日、ジュンク堂池袋本店で19時から行われたトークショーに行ってきました。 今回は、今村 謙之さん、近藤 昭雄さん、杉本 礼彦さん、田島 一輝さん、安生 真さんによる貴重なお話を聞く事ができましたよ! 私が聞いていて面白かった内容の抽出と、個人的な…

エミュレーター起動に失敗したよ

android sdk をインストール。eclipse 、android プラグインもインストールしました。 Hello World! のコードもこちらを書き写し、いざエミュレーター起動!と思いきやエラーですよ。 Eclipseのエラーログ [2009-06-02 23:06:34 - HelloWorld] -------------…

Androidに関して調べてみたよ

今日から Android 開発の勉強を始めるにあたり、参考になりそうな情報を集めてみました。 ほとんど某掲示板からだけどね! 参考になりそうなリンク集 公式(たぶんね) Android Developers(英語) Android Google Code -Open Handset Alliance プロジェクト …