harukazepc’s blog

インターネッツとAndroidなどが大好きです。あとは日々のことなど。

[mac][firefox] 突然macのFirefoxが落ちまくるようになった

メインのiMacで、特定サイト(いくつかの)を閲覧すると、Firefoxが必ず落ちるようになりました。

  • プラグインが悪さしてる?
    • セーフモードでも、特定サイト閲覧で落ちる
    • 全部無効化してもダメ。
  • メモリ故障?(メモリエラー?)経年でへたった?
    • メモリ一個ずつ外してみてもダメ。
  • キャッシュやCookieなどの影響
    • 削除してもダメ。
  • mavericks(10.9)に上げたこと???

とかとか思っていましたが、結局

で、落ちなくなる、というオチ・・・
自分がなかなか辿り着けなかったので、書いときます。

参考はこちら↓
Firefoxがクラッシュする | Firefox ヘルプ
mozillaのヘルプの通り確認して行け、ってことでした。おわり。

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を利用していないモジュールを使う
    • 昔のTitaniumでは、モジュールはAndroidNDKを利用していなかったとおもうので、そのころのモジュールであれば問題ないかと。
  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)

Android用モジュールがうまくコンパイルできない時 #titaniumjp

ビルド時に以下のようなエラーが出てちょっと呆然・・・

BUILD FAILED
/Users/nari/Library/Application Support/Titanium/mobilesdk/osx/2.1.3.GA/module/android/build.xml:362: The following error occurred while executing this line:
/Users/nari/Library/Application Support/Titanium/mobilesdk/osx/2.1.3.GA/module/android/build.xml:317: exec returned: 2

自分がはまったので備忘録。

build.xmlandroid.ndkが設定されていない

AndroidNDKをダウンロードして、android.ndk=****を設定する。

XCode Command Line Tools がインストールされていない。

XCode→Preferences...→Downloads→Command Line Tools でインストール。

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となるようです。

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

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 をご覧ください。

[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アプリが作れます>自分

[titanium][android] mediba ad と nend のSDKを利用するためのTitaniumモジュール作ったよ #titaniumjp

絶賛 Titanium2.0 & ACS 祭りの中、いろいろ乗り遅れてます・・・
(先週もmeetup参加できず、、、残念、すいません)

mediba ad および nend の広告SDKをTitaniumで使うためのモジュールを作りました。
各社の提供している、AndroidSDKを利用します。

現在のものは、Titanium Mobile SDK 1.7 以下のものです。
(自分の環境的に。。。追々1.8以降版も対応するつもりです。みなさんAndroid2.1は切り捨てたの?)


harukazepc/TiMedibaad4Android - GitHub


harukazepc/TiNend4Android - GitHub

もしよろしければご利用いただき、なにかあればフィードバックいただければと思います。
これらのModuleは、各社のSDKの利用方法にそって、Titaniumからアクセスできるようにした(だけ)のものです。
(特別な処理等はおこなっておりませんが、ご利用にあたっては自己責任とさせていただきます。)

利用方法は、以前のAdMakerのものとほぼ同様です。
各社が配布している、広告配信用のSDKと、広告用の設定IDやAPIKeyなどを用意しましょう。
使い方は、それぞれの README または examples/app.js をご覧ください。

その他

  • Android向けに、広告やリワード・アフィリエイトなどの仕組みを提供している事業者のみなさん、Titanium用のモジュール開発を請け負えるかもしれないので、もしご興味ありましたらご連絡くださいw(半分本気?
  • そして、Titanium向けのいろんな実サービス展開/ビジネス展開で必要なモジュールが、整備されていくと嬉しいですね!
© harukazepc️