Hatena::ブログ(Diary)

harukazepcの日記 このページをアンテナに追加 RSSフィード

2013-05-15

[][][] mipsプロセッサ(GalaxyTab SC-01Eなど)向けのAndroidアプリの生成で困っています #titaniumjp

「GalaxyTab SC-01Eで、君のアプリが出てこない!」って言われて、わたわたしていました。。。

結局実機を購入し、いろいろ試してみたのですが、うーんたしかに

  • GooglePlayにさえ出てこない
  • 野良APKとして開発版をインストールしても、起動後強制終了

というものでした。

で、結局のところの理由は、そのアプリで利用している各種モジュールが、MIPS対応していないのでした。

mobilesdk/osx/3.1.0.GA/module/android/generated/Application.mk

では、

APP_ABI := armeabi armeabi-v7a x86

となっており、mipsが含まれていません。

これは、mips対象のためには対象Androidバージョンが2.3.3以上になってしまうから、ということでしょうか(現状は)。

もう2.3.3以上でいい!(と俺は思う)人は、以下の手順でアプリを再度ビルドしてみてください。

----

  1. ndkを利用していないモジュールを使う
  2. mips用にモジュールビルドし直す
    1. mobilesdk/osx/3.1.0.GA/module/android/generated/Application.mk を書き換える(自己責任&今後、Android2.3.3以上のみになります)
TARGET_PLATFORM := android-9
APP_ABI := armeabi armeabi-v7a x86 mips
    1. モジュールビルドし直す
    2. その後、アプリビルドし直す

でうまくいくかとおもいきや、2番目のじゃだめだった。。。こまったなぁ。。。

コミュニティでも聞いてみるか。わかる方はぜひ教えてください!!

Android Application for MIPS Hardware(ex. GalaxyTab) includes titanium modules (Android NDK)

2012-10-19

[][]TableViewで落ちることがあったら、まずclassName設定を疑うべし! #titaniumjp

Titanium製のAndroidアプリで、TableViewで頻繁に落ちる事がたまに起こります。

たとえばこんなエラー

java.lang.ClassCastException: ti.modules.titanium.ui.LabelProxy cannot be cast to ti.modules.titanium.ui.ImageViewProxy
at ti.modules.titanium.ui.widget.TiUIImageView.setProxy(TiUIImageView.java:202)
...

原因として、やたらTableViewRowを更新しているとか、スクロールの処理がトリガーになってるとか、いろんなのを探ってしまうけど、意外な盲点が。

TableViewRowのclassName指定によって落ちるのです。

classNameは、TableViewRow内で同じレイアウト/子要素を持つ場合、同じclassNameを指定する事で参照のパフォーマンスがあがる、という設定値とのことです。

var row1 = Ti.UI.createTableViewRow({
  width:Ti.UI.FILL, height:Ti.UI.SIZE,
  className:'rowPattern1'
});
row.add(Ti.UI.createLabel({text:'hello'}));

var row2 = Ti.UI.createTableViewRow({
  width:Ti.UI.FILL, height:Ti.UI.SIZE,
  className:'rowPattern1'
});
row.add(Ti.UI.createLabel({text:'hello'}));

...

ですが、

  • 違うレイアウト/子要素なのに同じclassName
  • 同じレイアウト/子要素でも、途中で更新されてしまう(各設定値の変更でも影響する?

といった時に、上述のClassCastExceptionとなるようです。

自分も何度か出会って困る事多いので備忘録。

2012-10-14

[][]titaniumのi-mobile用モジュールを作りました。#titaniumjp

Titaniumアプリ用のi-mobileの広告SDK利用モジュールを作りました。1.8以上にて動作します。

https://github.com/harukazepc

i-mobileさんの提供している、AndroidSDKを利用します。

i-mobileさんが配布している、広告配信用のSDKと、広告用の各種設定IDを用意しましょう。

このModuleは、各社のSDKの利用方法にそって、Titaniumからアクセスできるようにした(だけ)のものです。

(特別な処理等はおこなっておりませんが、ご利用にあたっては自己責任とさせていただきます。)

1点、tiapp.xml(またはカスタマイズされたAndroidManifest.xml)においても、設定が必要になっています。

使い方は、それぞれの README または examples/app.js をご覧ください。

2012-10-01

[titanium][android]titaniumのNend/Medibaad用モジュール(api version 2)を改修しました。#titaniumjp

Titaniumアプリ用のNendおよびMedibaの広告SDK利用モジュールを作ってましたが、先日これを更新いたしました。

https://github.com/harukazepc

「apiversion: 2」ってことで、最近のTitaniumでの利用に耐えるようにしています。

これでやっとこさ、Titanium Mobile SDK 1.8以上でAndroidアプリが作れます>自分

2012-03-22

[] abc2012s のタイムテーブルを、時系列&発表内容でテキストにしてみました #androidjp #abc2012s

今週末に開催の、Android Bazaar and Conference 2012 Spring

サイトでは、カンファレンスの事前内容についてのAPIも提供されています。

で、自分用ですが、abc2012s のタイムテーブルを、時系列テキストにしてみました。

(ほんとはアプリ作りたかったけど・・・くじけました)

http://sphone.harukaze.tv/abc2012_schedule.txt

30分に1回、データ取得して生成します。

あえて(?)テキストファイルにしています。

メールで携帯に送ったり、参加予定のものだけ切り取って編集したりして使うのを想定しています。(てか自分の用途)

※発表者だけで参加する講演を選ぶのでなく、内容も重要だと思いますので、そういうタイムテーブル表示がうれしいです。偉そうですいません。

というわけで、もしよろしければご利用くださいませ。