Sawalog

スマートフォンアプリの技術的な開発ログや企画、マーケティングに関する方法やノウハウをまとめたブログ

Titanium Stdioでandroidの公開用apkファイルを作る方法

   

最近コーディングばかりに夢中で全然ブログを書いていませんでした。
Titanium Adventカレンダーに参加する頃までには色々まとめておきたいなぁ。

TitaniumでAndroidアプリを公開するために、Titanium Stdioで公開するapkファイル(アプリ)を生成する方法を手順化しました。
自分のTitaniumStdioのバージョンは1.0.6。

 
1. ターミナルの設定
Mac標準のTerminalはUTF-8が標準エンコーディングになっている。
署名を行うkeytoolはShift-JISで表示するため、ターミナルの文字エンコーディングを合わせる必要がある。
[ターミナル]→[環境設定]→[詳細]→[文字コーディング]を「日本語 Shift-JIS」にする。

 
2.証明書の生成
ターミナルを起動して以下を実行する。

keytool -genkey -v -keystore android.keystore -alias aliasname -keyalg RSA -validity 11000

android.keystoreとaliasnameは自分用に変更。
android.keystoreはファイル名になります。このままでもOK。
aliasnameはあとで入力します。これもこのままでもOKです。

指示に従ってパスワードなど入力していくと11000日間有効な証明書ができる。
30年後でも使ってもらえるアプリだぜ!って人はもう少しあげておいてもいいかもしれない。
たぶん使ってもらえていないと思います・・・。

 
3. apkファイルの作成
Titanium Stdioの左上にある四角い箱のようなアイコンで配布用ファイルを生成する。
Distribute – Androidを選択。
それぞれ以下のように入力する。
Distribute android

これでFinishを押すとコンパイルからパッケージングまで行ってくれる。
あまりつまずくところも少ないと思います。iPhoneのappとはエラい違いですね。
 
4. apkファイルの確認
ターミナルで以下を入力する。

jarsigner -verify -verbose ./appname.apk

s = 署名が検証されました。
m = エントリがマニフェスト内にリストされます。
k = 1 つ以上の証明書がキーストアで検出されました。
i = 1 つ以上の証明書がアイデンティティスコープで検出されました。

jar が検証されました。

みたいな感じが出ればOK。
これでAndroid Marketに登録できるapkファイルが作成できた。

 

 - Android, Titanium

Comment

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
Androidアプリ考え中・・・

またしばらくBlogの更新を忘れてしまいました。。 定期的にブログの記事を書くこ …

アプリ企画に使える!オズボーンのチェックリスト

  アプリの企画やアイデアを考えたいけど、どうも良いネタがない・・・ そんなとき …

no image
【Titanium Advent Calendar 2011:十四日目】広告、AdmobとAdmakerの導入方法まとめ

はじめまして、Titanium歴7ヶ月ほどのsawada50です。 このエントリ …

no image
AppStoreかGooglePlayに振り分けてリダイレクトする方法

AppStoreとGooglePlayで同じアプリを公開している場合、ストアリン …

no image
アプリ開発で用意するアイコンサイズまとめ

iPhone、iPadアプリやAndroidアプリ、KindleFireアプリを …

Titanium StudioでAndroid SDKを設定する方法

Titanium Studioのインストール、設定をトラブルシューティングするこ …

[Titanium]Xcode4.5とXcode4.3.3を共存させる

Xcode4.5を既存のXcode4.3.3と共存させるために行ったこと。 ・i …

no image
アプリ開発に必要な画像サイズ【iPhone6対応】

アプリ開発で用意する画像のサイズを個人用にまとめてみました。 デザイナーさんに伝 …

iPhone4Sを開発機として登録する方法

かわいいiPhone4Sさんがおうちに来ましたっ! 3GSと比べてしまうと、もう …

no image
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc8 in position xxx: ordinal not in range(128)

3時間近くハマってしまったので、自戒もこめて残しておく。 調べたら何パターンかあ …