2012年12月22日土曜日

root化せずにカメラのシャッター音を消す



まだレビューを貰えてないので動作する端末が正確ではありません。
統計情報を見る限りは多くの端末で成果を上げています。
解像度を落とさずにカメラを無音化できるアプリは珍しいと思います。
人によってはroot化してまでシャッター音を無くすらしいのですが、
開発者でもないのに危ない橋を渡る必要はないと思います。

「EVO 3D ANDROID4.0.3」なら無音化できます。
カメラの使用後すぐにサイレンサ―を外すと、遅れて音が鳴る事がありますが、
サイレンサ―を付けている間は完全にカメラもビデオも無音化できます。
3D撮影を無音化できる唯一のアプリかもしれません。

「EVO WIMAX ANDROID2.3.3」は静音化できます。静かな場所でしか聞こえないくらいのシャッター音です。ビデオカメラは無音化できます。

その他の端末についてはまだ分かりません。現在は三種類のサイレンサ―モードを用意しています。テストできる端末が増えればサイレンサ―を増やすかもしれません。

今回のアプリはカメラ機能は他のアプリに任せて、開発コストを減らしました。
そのためやや安定性に欠けるところが有ります。



猫や子供の撮影にしようしてください。




スマホはバグだらけ

スマホを使用していると突然電源が切れたり、動きが悪くなったりする事があると思います。
原因はOSやアプリのバグである事が殆どです。

昔の携帯にはこんな事は無かったっと思うかもしれませんが、
バグの数=機能数÷メーカーの技術力
このような式にするとバグの発生率は昔と変わらないのかもしれません。

バグが多いのは機能が多いからとも言えます。
それとメーカーの技術力が低い可能性があります。
現にHTCのようなスマホ専門のメーカーはバグが少なく安定しています。
日本のメーカーにも頑張ってほしいところです。


アプリの端末固有バグはメーカーのパラメータ設定が正しくない場合もあるので勘弁してほしい。。

何故スマホを使うのか

ガラケーからスマホに機種変する人の多くは
新しい携帯電話にしようといった感覚でスマホに乗り換えている気がします。
実のところスマホは携帯電話ではありません携帯電話の機能が付いているパソコンです
誤った認識機でスマホに機種変してまともに扱えていない人が殆どです。


スマホを使用する目的一覧
・地図&カーナビ
・パソコンと同様のブラウジング(Flashなども)
・アプリを利用して色々なツールにできる
・ゲームが多い(エミュレータも多数)
・WEBメールを使用できる
・フェイスブックやツイッターとの連携ができる
・音楽プレイヤー
・カメラ&ビデオカメラの性能がやや高い

特にカーナビやWEBメールはビジネスに役に立ちます。

2012年12月20日木曜日

OBB拡張ファイルダウンロード

拡張ファイルのダウンロードテストの注意メモ


まず、ダウンロードのテストはGooglePlayでアプリ本体がダウンロードできる状態にします。
アプリ本体がGooglePlayに公開されたら、テスト中なのでアプリの公開を停止しましょう。
公開を停止すると検索などに載らなくはなりますが、公開されたページのURLから直接開けばアプリをダウンロード可能です。

*アドビのフラッシュプレイヤーと同じようにバージョンアップは出来るが検索に載りません。

アプリ本体がダウンロードできる状態でないとOBB拡張ファイルもダウンロードできません。

何時ごろからやら、ライセンスキーはアプリ個別に設定されるようになりました。
デベロッパーコンソールで新規アプリのアップロード時に「ライセンスキーを個別に行いますか?」と
YES,NOボックスが表示されてNOを選んだのですが、今までのライセンスキーでないものが割り当てられていました。。テストするまで気付きませんよ・・・

他にもOBBファイルを新しくするなどしていると、色々とダウンロードのエラーが発生します。
拡張ファイルを扱う際はGooglePlayが更新されるのを待つしかないようです。

OBBファイルのダウンロードを利用すれば無料アプリにライセンス認証機能をつけられるので重宝します。

2012/12/22追記
マニュフェストのバージョンコードと、それに対応付けてアップロードまたは関連付けたOBBファイルでないとライセンス認証に引っ掛かります。

カメラ サイレンサ―

無料アプリ「カメラサイレンサ―」をリリースしました。

カメラまたはビデオカメラの性能を落とさずにシャッター音を無音化もしくは静音化します。

大半の無音カメラアプリは画面のキャプチャを保存しているだけですが、「カメラサイレンサ―」は端末のスピーカーを制御して無音化しています。
そのため最大解像度で撮影可能です。

3D撮影やパノラマ撮影が可能なカメラアプリと組み合わせる事も可能です。

!マナーモード中に使用すると機能しない事があります。
!全ての端末で動作するとは限りません。カメラアプリとの組み合わせも試してみてください。
動作の可否に関わらずレビューを頂けると助かります。




大音量でシャッター音をさせるのは気がひける場所や、
動画撮影時のフォーカス音まで録音されてしまう場合にご使用ください。



//動作確認端末
EVO 4G x-mode 静穏 Android2.3
EVO 3D z-mode 無音 Android4.0

2012年12月17日月曜日

proguardの警告 can't find referenced class com.google.ads.internal.state.AdState

can't find referenced class com.google.ads.internal.state.AdState

admobのjarファイルをproguardで難読化したさいの警告です。


[2012-12-17 10:00:55 - App Silencer] Proguard returned with error code 1. See console
[2012-12-17 10:00:55 - App Silencer] 警告: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState
[2012-12-17 10:00:55 - App Silencer] 警告: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState
[2012-12-17 10:00:55 - App Silencer]       You should check if you need to specify additional program jars.
[2012-12-17 10:00:55 - App Silencer] 警告: there were 2 unresolved references to classes or interfaces.
[2012-12-17 10:00:55 - App Silencer]          You may need to specify additional library jars (using '-libraryjars').
[2012-12-17 10:00:55 - App Silencer] java.io.IOException 発生: Please correct the above warnings first.
[2012-12-17 10:00:55 - App Silencer] at proguard.Initializer.execute(Initializer.java:321)
[2012-12-17 10:00:55 - App Silencer] at proguard.ProGuard.initialize(ProGuard.java:211)
[2012-12-17 10:00:55 - App Silencer] at proguard.ProGuard.execute(ProGuard.java:86)
[2012-12-17 10:00:55 - App Silencer] at proguard.ProGuard.main(ProGuard.java:492)

色々と調べてみましたがadmobの構造が悪いようです。
警告を無視しても問題ありません。

proguard.cfgファイルに
-dontwarn com.google.ads.**
と追記して警告を無視しましょう。

2012年12月16日日曜日

レイアウト変更エラー java.lang.ClassCastException: android.widget.XXX to android.widget.YYY

java.lang.ClassCastException: android.widget.RadioGroup cannot be cast to android.widget.Button
XMLのレイアウトを変更したら謎のキャストエラーが発生。

どうもR.JAVAのボタンなどの部品のIDが更新されなかったようです。
今回はボタンとラジオグループの上下位置を入れ替えると発生しました。

もし、ボタンとボタンなど、同じ部品の位置を入れ替えていたら、キャストエラーにはならず見つかり難いバグになっていたかもしれません。

プロジェクトをクリーンすれば解決します。