« Android Hauwei IDEOS U8150-B | トップページ | 無償系アンチウイルスソフト »

2010年10月21日 (木)

QVGA端末のAndroid Marketに出てこないアプリの検証

androbookで作り、Android Marketに掲載されている作品が、QVGA端末のMarketに出てこない件について調査。

マニフェスト問題だろう、というあたりはあったので、とりあえず適当にandrobookで作り、apk入手。

# apktool d パッケージ名

で、展開して、AndroidManifest.xmlの内容を確認。

想定通り、supports-screens設定がされていない。
参考: Y.A.Mの雑記帳: Android multi screen 対応 より

<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />

とりあえず、AndroidManifest.xmlを編集して、上記を追加。
あと、「android:versionCode」の値を増やして更新版であることを認識させる。

次に、「apktool b ディレクトリ名 新apk」でapkファイルを作ってみる。
でも、このapkファイルは署名してないということで、marketにアップロードできなかった。

じゃぁ、日本語リソース追加手法と同様にすればいいのかな?
ディレクトリ名/build/apkにあるAndroidManifest.xmlとresources.arscだけ置き換えればいいかな?と思ったので・・・

「apktool b ディレクトリ名」でbuildディレクトリを作ったあと、
「zip -u 元々のapkファイル名 -0 AndroidManifest.xml resources.arsc」を実行してみる。
あと、Android Marketにアップしてみたらzipalign実行しろと言われたので「zipalign -v 4 元apk 新apk」。


で、これでできた新apkファイルをアップロードしてみると、ちゃんとQVGA端末のMarketで出てくるアプリができあがった。


でも、このapkファイルをインストールしようとしたら、「Unknown reason: -102」というエラーでインストールが失敗しましたけどね。

まぁ、ここによると改変したのが原因っぽいエラーコードになってますね

102: Installation failed: Invalid package.
The application cannot be installed properly because some of the package contents are invalid or missing.


とりあえず検証自体はできたので、okかなっと
-------------------------------------------------------


で、もうちょっと、ちゃんとしてみようかな?と思って、継続

/usr/java/jdk~/bin/keytool -genkey -v -keystore my-release-key.keystore -alias 名前 -keyalg RSA -keysize 2048 -validity 10000

でkeyを作成。
そのあと、
apktool b ディレクトリ名 apk名
でapkファイル作成

その後、
/usr/java/jdk~/bin/jarsigner -verbose -keystore my-release-key.keystore apkファイル 名前
でapkに署名

そのあと、jarsigner -verbose -verify apkファイル名で検証
で、zipalignで整えてMarketにアップロード。

・・・いままでの署名と違う、と言われる


仕方がないのでもうちょっと手を入れる
どうせなので、アプリケーション名も自分のにしちゃえ

・AndroidManifest.xmlのpackage=を自分の独自のものに変更
・smaliディレクトリ内部にあるディレクトリ構造を、上記の自分独自のものに変更
・「~.smali」ファイル内にあるpackage名の部分をsedを使って置き換え
・apktool bでapk作成
・jarsignerで署名
・zipalignで最適化

・・・パッケージファイルが無効です。ですか・・・

もしかして「net.~.androbook.001」なんてパッケージ名が不可?
「net.~.androbook.book001」という名前で再チャレンジ→インストール成功!!

|

« Android Hauwei IDEOS U8150-B | トップページ | 無償系アンチウイルスソフト »

Zaurus/Android」カテゴリの記事

プログラム」カテゴリの記事

携帯端末」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/522499/37331626

この記事へのトラックバック一覧です: QVGA端末のAndroid Marketに出てこないアプリの検証:

« Android Hauwei IDEOS U8150-B | トップページ | 無償系アンチウイルスソフト »