折角アカウント取得したので
HelloWorld をマーケットに投入してみます。
木南さん本によれば手順としては
- Manifest の設定
- アプリケーションへの署名
- Android Market への登録
となっております。順に本を読みつつ、って事で以下。
AndroidManifest の設定
面倒臭いのでアイコンとラベルはそのままで。以下なカンジ。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="jp.shuri.yamanetoshi.helloworld" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".HelloActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
android:versionName はデフォでは "1.0" だったので Linux Kernel 風味にしてみました。
アプリケーションへの署名
オレオレ証明書で良いみたい。keytool で作成すれば良いって事で以下。
~$ keytool -genkey -keystore yamanetoshi.keystore -alias yamanetoshi -validity 10000 Enter keystore password: ********** What is your first and last name? [Unknown]: Toshiaki Yamane What is the name of your organizational unit? [Unknown]: JAG What is the name of your organization? [Unknown]: Okinawa Branch What is the name of your City or Locality? [Unknown]: Naha What is the name of your State or Province? [Unknown]: Okinawa What is the two-letter country code for this unit? [Unknown]: JP Is CN=Toshiaki Yamane, OU=JAG, O=Okinawa Branch, L=Naha, ST=Okinawa, C=JP correct? [no]: yes Enter key password for <yamanetoshi> (RETURN if same as keystore password): ~$
したらカレントディレクトリに yamanetoshi.keystore ができてました。ちなみにパスワードは入力したら見えちゃう状態になるんですが、一応隠してます。
アプリケーションへの署名
どーするんだろ。とりあえず .apk があるディレクトリで作業してみるか。プロジェクトなディレクトリの下にある bin というディレクトリの中です。
$ ls HelloWorld.apk classes.dex jp resources.ap_ $
で、jarsigner というコマンドを使うのか。ここでもパスワードは見えますが隠してます。
$ jarsigner -verbose -keystore ~/yamanetoshi.keystore HelloWorld.apk yamanetoshi Enter Passphrase for keystore: ******** adding: META-INF/YAMANETO.SF adding: META-INF/YAMANETO.DSA signing: res/layout/main.xml signing: AndroidManifest.xml signing: resources.arsc signing: res/drawable-hdpi/icon.png signing: res/drawable-ldpi/icon.png signing: res/drawable-mdpi/icon.png signing: classes.dex $
で、次。
Android Market に登録
ええと、http://market.android.com/publish/Home にアクセスして Upload Application なリンクをナニします。で、さっき署名した .apk を upload したら
Market requires the minSdkVersion to be set to a positive 32-bit integer in AndroidManifest.xml.
とのご指摘を頂戴しました。これはもっかい AndroidManifest のソレに戻らんと駄目か。
AndroidManifest 修正
以下なカンジ。
</application> <uses-sdk android:minSdkVersion="4" /> </manifest>
ええと
Attribute MinSdkVersion (4) is lower than the project target API Level (8)
と言われますが構わず再度署名して upload しました。
で、詳細情報入れれ、という事で適当に以下。
で、いっちゃん下にある publish なボタンをクリックすれば OK なのか。クリックしたら叱られた。
Promotional graphic required if there is promotional text. Please upload a graphic or remove the promotional text for en_US.
との事。面倒なので Promo Text の中身を削除しました。また、Categoly も入れれ、と言われたので、Demo を選択しました。
あと、Consent の欄もちゃんと読んでチェック入れましょう。
上記対応してリトライ。
登録完了
以下で OK なのかなぁ。別途実機に導入してみます。
確かに iPhone なソレと比べたら楽さ加減が格段に違いますな。
追記
アカウントでマーケット検索したらパケジが出てきた。いやはや。