2015年4月9日木曜日

[Titanium Mobile]Android モジュールを作成 3.5.1GA

・環境
Titanium Studio, build: 3.4.1.201410281727
Titanium SDK 3.5.1GA


手順は簡単で
・Android NDKをTitanium Studioにリンクする
・Titanium StudioにJDKのインストールする
の2つしか無い、が予想外のところでエラーが発生するのでかなり時間がかかった

  • Android NDKをTitanium Studioにリンクする
    現在Android NDKは10aまであるがTitanium Stadioではr8bが安定して動作するようだ
    Titanium Devloperのマニュアルでは10を使っているが罠かもしれない

    Android NDKのダウンロードリンク

    ダウンロード後適当なフォルダに展開し
    Titanium Studio -> Preferences -> Studio -> Platforms -> Android -> Android NDK Home
    をAndroid NDKに設定する

    プロジェクトのBuild.propertiesに
    android.ndk=/Users/[User Name]/Documents/AndroidNDK/android-ndk-r8b
    をを追加する
  • Titanium StudioにJDKのインストールする
    Help -> Check New Software
    から

    Eclipse Kepler release
    を設定し

    Programming Languages ->Java Developer Tools
    をダウンロードする
    この後再起動を求められるので再起動する
  • ビルド方法
    Project Exploerから
    android -> build.xml
    を右クリック
    Run - >Ant
    を実行

    プロジェクト名を右クリック -> Publish -> Package
    でビルドできる

    Titaniumプロジェクトにモジュールを追加した状態で
    モジュールを更新後AntとPublishをしてもTitaniumプロジェクトが反映されない場合は、tiapp.xmlからモジュールを外すか、modules -> androidフォルダ配下のモジュールを削除すると更新される場合がある。
エラー処理

BUILD FAILED
/Users/[User name]/Library/Application Support/Titanium/mobilesdk/osx/3.5.1.GA/module/android/build.xml:354: The following error occurred while executing this line:
/Users/[User name]/Library/Application Support/Titanium/mobilesdk/osx/3.5.1.GA/module/android/build.xml:356: There is discrepancy between the architectures specified in manifest and compiled binary.

決定的な解決方法が見つからなかったがTitanium Studioを再起動すると治ることもある

BUILD FAILED
/Users/[User name]/Library/Application Support/Titanium/mobilesdk/osx/3.5.1.GA/module/android/build.xml:461:
/Users/[User name]/Documents/Titanium_Studio_Workspace/modulesample/android/build/docs does not exist.

プロジェクトの
android -> Build
にdocsというフォルダを新規に作成する

java.lang.IllegalArgumentException: already added: Lcom/sample/library/libraryClass$1;
ライブラリにあるクラス名が競合している。