プログラミング、Linux、Androidについて、検索しても出てこなかったことについて、自分用メモをつける。
- 2025.02≪
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31

Androidアプリのクラッシュレポートを確認すると
NullPointerExceptionが発生していた・・・。
確認すると、内部ストレージディレクトリを取得メソッド(getFileDir)がnullを
返していたことが判明。
パッケージ:android.content
クラス:Context
メソッド:getFilesDir()
早速APIを確認したが、nullを返す場合について勤窮されていない・・・。
何度かテストしたが原因は不明なまま・・。
とりあえず、クラッシュしないように修正。
Majigatari v2.17 → v2.18のバージョンアップに盛り込みました。
内部ストレージ容量限界?メモリ異常?一時エラー?
NullPointerExceptionが発生していた・・・。
確認すると、内部ストレージディレクトリを取得メソッド(getFileDir)がnullを
返していたことが判明。
パッケージ:android.content
クラス:Context
メソッド:getFilesDir()
早速APIを確認したが、nullを返す場合について勤窮されていない・・・。
何度かテストしたが原因は不明なまま・・。
とりあえず、クラッシュしないように修正。
Majigatari v2.17 → v2.18のバージョンアップに盛り込みました。
内部ストレージ容量限界?メモリ異常?一時エラー?
PR
androidマーケット登録用に自己作成の証明書を使用しているが、アプリをアップデートする際に受け付けてくれないandroidマーケットのバグ?に悩まされている。
アップデートNGとなる理由は「 apk は前のバージョンと同じ証明書で署名する必要があります。」である。

androidマーケットに初登録して以来、一貫して同じ証明書を使用しているが、アップデートを受け付けないのは、まったく意味不明である。
仕方がないので、パッケージ名を変えて別のアプリとして登録し直して対処・・・。
登録し直した後は、問題の証明書と同じ証明書を引き続き使用していますが、正常にアプリをアップロードすることができる。
ますます、謎は深まるばかりである。
謎1.証明書の変更をしていないが、突如アップデートNGとなる。
謎2.アップデート受付不可となったあと、何度apkファイルを再作成&再書名してもアップデートが受け付けられない。
謎3.パッケージ名を変更し、別アプリとして登録した後、同じ証明書を使用しても正常にアップデートできる。
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
原因(私の場合)
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
以下の手順でマーケットにアップデートしてました。
マーケットにあるapkファイルの証明書を確認すると、「従来の証明書」と「デバッグ証明書」が署名されていることがわかった。
<<証明書確認コマンド>>
$ jarsigner -verify -verbose -certs XXXXX.apk
<<証明書確認コマンド実行結果>>
つまり、元々マーケット上にあるapkファイルは「従来の証明書」「デバッグ証明書」の二重署名で、今回アップデートしようとしたapkファイルは、「 従来の証明書」のみの署名であったため、マーケットが「 apk は前のバージョンと同じ証明書で署名する必要があります。」としていたのである。
※解決方法※
※二重署名アプリのアップデート方法※
※本来の署名方法※
アップデートNGとなる理由は「 apk は前のバージョンと同じ証明書で署名する必要があります。」である。
androidマーケットに初登録して以来、一貫して同じ証明書を使用しているが、アップデートを受け付けないのは、まったく意味不明である。
仕方がないので、パッケージ名を変えて別のアプリとして登録し直して対処・・・。
登録し直した後は、問題の証明書と同じ証明書を引き続き使用していますが、正常にアプリをアップロードすることができる。
謎1.証明書の変更をしていないが、突如アップデートNGとなる。
謎2.アップデート受付不可となったあと、何度apkファイルを再作成&再書名してもアップデートが受け付けられない。
謎3.パッケージ名を変更し、別アプリとして登録した後、同じ証明書を使用しても正常にアップデートできる。
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
原因(私の場合)
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
以下の手順でマーケットにアップデートしてました。
- Eclipseにてプロジェクトをビルド
- 「bin」配下にある「XXXX.apk」に対して「jarsigner」で従来の証明書で署名を実施。
- zipalignで最適化する。
- アンドロイドマーケットにアップデート
マーケットにあるapkファイルの証明書を確認すると、「従来の証明書」と「デバッグ証明書」が署名されていることがわかった。
<<証明書確認コマンド>>
$ jarsigner -verify -verbose -certs XXXXX.apk
sm xxxxxx Tue Mar 08 21:58:40 JST 2011 classes.dex
X.509, CN=oreore, OU=oredayo, O=ore, L=bachan, ST=oredayo, C=ore ←従来の署名
[証明書は 10/12/23 7:57 から 38/05/10 7:57 まで有効です]
X.509, CN=Android Debug, O=Android, C=US ←デバッグ用署名
[証明書は 11/01/13 23:48 から 12/01/13 23:48 まで有効です]
※従来の署名内容はイメージです。
これは、eclipseビルド時?、エミュレータ、実機起動時?にeclipseが「デバッグ用証明書」を署名してくれた「
XXXXX.apk」に対して、jarsignerで「
従来の証明書」で署名したため、二重署名された「
XXXXX.apk」ができたことを示している。※従来の署名内容はイメージです。
つまり、元々マーケット上にあるapkファイルは「従来の証明書」「デバッグ証明書」の二重署名で、今回アップデートしようとしたapkファイルは、「 従来の証明書」のみの署名であったため、マーケットが「 apk は前のバージョンと同じ証明書で署名する必要があります。」としていたのである。
※解決方法※
上記問題の解決方法は、「パッケージ名を変更する方法
」「二重署名を継続する方法」「地デジ方式」が考えられる。
- パッケージ名を変更する方法は、二重署名を解消できるメリットがある半面、旧パッケージのユーザがアップデートできないというデメリットがある。
- 二重署名を継続する方法は、現在のユーザを維持することができるメリットがあるが、デバッグ署名が期限切れとなった場合、新規ユーザが利用できなくなる恐れがある。(検証&調査してませんので、どうなるか私にはわかりません。)
- パッケージ名変更方法に加えて、二重署名APKには、起動時に「このアプリをアンインストールして、新アプリXXXXをインストールしてください。ごめんなさい。」とアプリにメッセージを出してユーザを誘導する地デジ方方式。有料アプリの場合、この方式はとりづらいので要注意!
※二重署名アプリのアップデート方法※
- 「eclipse」にて、「Project Explorer」より問題のプロジェクトを右クリックし、「Android Tools」「Export Unsigned Application Package...」を選択し、署名のないapkファイルを生成する。
-
eclipseが使っていたと思われるデバッグ証明書「default.keyset」を探す。
Ubuntuの場合、「~/.android/default.keyset」 -
jarsignerにて、デバッグ証明書「default.keyset」で署名する。
$ jarsigner -sectionsonly -keystore ~/.android/debug.keystore -verbose XXXXX.apk androiddebugkey
※パスワードは「android」
- jarsignerにて、従来の証明書「XXXX.keyset」で署名する。
- zipalignで最適化する。
- マーケットにアップデートする。
この方法で「apk は前のバージョンと同じ証明書で署名する必要があります。」と拒否していたエラーメッセージも収まり、正常にアップデートできました。
※本来の署名方法※
- 「eclipse」にて、「Project Explorer」より問題のプロジェクトを右クリックし、「Android Tools」「Export Signed Application Package...」を選択し、署名のあるapkファイルを生成する。
- zipalignで最適化する。
- マーケットにアップデートする。
Majigatari
自動的に童話を作成します。童話のバリエーションは無限大です。毎回異なる童話が作成されるので、永遠に楽しむことができます。
自動的に童話を作成します。
作成される童話は、16種類のストーリーと
独自に開発した約4000種類の単語を無作為に選ぶ
ランダム単語エンジンを使用するため、毎回異なる童話が
楽しむことができます。
童話も数分で読み終えることができるので、
ちょっとした空き時間に気軽に楽しむことができます。
ただし、童話は自動で作成されるため、シュールな内容に
思わず吹き出してしまう恐れがあるため、電車など
公共の場でのご使用は注意が必要です。
また、作成した童話はツイッターやメールで共有できます。
2011/02/26 「保存」機能を追加しました。
アンドロイダー 様にて紹介していただきました。
http://androider.jp/?p=28843
Appliko様にて紹介していただきました。
http://appliko.jp/review/14975
ソフトバンクモバイル様よりSoftBankピックアップに選んでいただきました。
掲載期間:2011/03/04 Am10:00~2011/03/11 Am10:00
http://mb.softbank.jp/mb/smartphone/service/pickup/

≪書庫画面≫
・リストより閲覧したい図書を選択し、閲覧画面へ移動する。
・「書庫入替え」を押下すると、図書を入れ替える。
自動的に童話を作成します。童話のバリエーションは無限大です。毎回異なる童話が作成されるので、永遠に楽しむことができます。
自動的に童話を作成します。
作成される童話は、16種類のストーリーと
独自に開発した約4000種類の単語を無作為に選ぶ
ランダム単語エンジンを使用するため、毎回異なる童話が
楽しむことができます。
童話も数分で読み終えることができるので、
ちょっとした空き時間に気軽に楽しむことができます。
ただし、童話は自動で作成されるため、シュールな内容に
思わず吹き出してしまう恐れがあるため、電車など
公共の場でのご使用は注意が必要です。
また、作成した童話はツイッターやメールで共有できます。
2011/02/26 「保存」機能を追加しました。
アンドロイダー 様にて紹介していただきました。
http://androider.jp/?p=28843
Appliko様にて紹介していただきました。
http://appliko.jp/review/14975
ソフトバンクモバイル様よりSoftBankピックアップに選んでいただきました。
掲載期間:2011/03/04 Am10:00~2011/03/11 Am10:00
http://mb.softbank.jp/mb/smartphone/service/pickup/
≪書庫画面≫
・リストより閲覧したい図書を選択し、閲覧画面へ移動する。
・「書庫入替え」を押下すると、図書を入れ替える。
≪閲覧画面≫
・「続きを読む」を押下すると、図書を読み進めることができる。
・「書庫へ」を押下すると、書庫画面に戻る。
・「共有」ボタン押下で、twitterやメールで共有できます。
Javaで作成していた自動作文アプリを
話題のandroidに移植してみた。
アンドロイダー様にて紹介していただきました。
http://androider.jp/?p=28471
<アプリ名>
Majibun

<機能概要>
作詞、宿題、レポート、反省文、手紙などのネタに困った人に朗報!
指先一つで、作文が出来上がります。
普通の作文と違い、本人の意志と無関係に文を追加します。
作文は、Twitterやメールで共有できます。
話題のandroidに移植してみた。
アンドロイダー様にて紹介していただきました。
http://androider.jp/?p=28471
<アプリ名>
Majibun
<機能概要>
作詞、宿題、レポート、反省文、手紙などのネタに困った人に朗報!
指先一つで、作文が出来上がります。
普通の作文と違い、本人の意志と無関係に文を追加します。
作文は、Twitterやメールで共有できます。
※収録単語はリソース節約のため、メモリ常駐、外部ファイル書き込み、DB格納など一切行っておりません。
<操作方法>
・「文追加」ボタンを押下すると、ランダムで作成される文を追加する。
・「全消去」ボタンを押下すると、表示中の文章をクリアする。
・「共有」ボタンを押下すると、twitterやメールで共有できる。
・「Font Size」で文字の大きさを選択する。
・品詞ボタンで押下すると単語を追加する。
Ubuntu10.10で楽天証券のマーケットスピードを使うためのメモ
<用意したもの>
・wine1.0
・cabextract
・ies4linux(2.0.4)
・MarketSpeed611Installkits.exe (ver.6.0)
※以上、wine、ies4linux、マーケットスピードについては、最新版では
実現できなかったので、古いバージョンを使用した。
<最新版を諦めた理由>
・ ies4linux
→ インストール中にインストールモジュール(python?)がフリーズしたため
・wine
→ 最新版の ies4linux( 2.99.0.1)を諦め、 ies4linux(2.0.4)をインストールする際に「wineprefixcreate」が
必要であるため変更した。 2.04を選択した根拠は、なんとなく・・・。
wine1.0に落としても、最新版 ies4linux(2.99.0.1)はインストールできなかった・・・。
・ マーケットスピード
→ 最新版(ver.10)では楽天証券にログインできなかったため変更した。
ちなみに、マーケットスピードver.10のMarketSpeedNanoはログインできた。
ただし、時間の都合で「注文変更」のみしか確認できてない・・・。
<手順>
1.wine1.0、 cabextractのインストール
# sudo apt-get install wine1.0 cabextract
2. ies4linux(2.0.4)のインストール
# wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-2.0.4.tar.gz
3.マーケットスピードのインストール
# wine MarketSpeed611Installkits.exe
4.マーケットスピードの起動
メニューバーより「アプリケーション」→「未分類」→「MarketSpeed」

以上、でマーケットスピードが起動に成功!!!!!!!!

なんとなくランキングを表示!!!!!!!!!!

<困ってること>
注文確認パスワードを受け付けてくれぬ・・・。
とりあえず観賞用として マーケットスピードを使用する。
<用意したもの>
・wine1.0
・cabextract
・ies4linux(2.0.4)
・MarketSpeed611Installkits.exe (ver.6.0)
※以上、wine、ies4linux、マーケットスピードについては、最新版では
実現できなかったので、古いバージョンを使用した。
<最新版を諦めた理由>
・ ies4linux
→ インストール中にインストールモジュール(python?)がフリーズしたため
・wine
→ 最新版の ies4linux( 2.99.0.1)を諦め、 ies4linux(2.0.4)をインストールする際に「wineprefixcreate」が
必要であるため変更した。 2.04を選択した根拠は、なんとなく・・・。
wine1.0に落としても、最新版 ies4linux(2.99.0.1)はインストールできなかった・・・。
・ マーケットスピード
→ 最新版(ver.10)では楽天証券にログインできなかったため変更した。
ちなみに、マーケットスピードver.10のMarketSpeedNanoはログインできた。
ただし、時間の都合で「注文変更」のみしか確認できてない・・・。
<手順>
1.wine1.0、 cabextractのインストール
# sudo apt-get install wine1.0 cabextract
2. ies4linux(2.0.4)のインストール
# wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-2.0.4.tar.gz
# tar zxvf ies4linux-2.0.4.tar.gz
# cd ies4linux-2.0.4/
# ./ies4linux
# wine MarketSpeed611Installkits.exe
4.マーケットスピードの起動
メニューバーより「アプリケーション」→「未分類」→「MarketSpeed」
以上、でマーケットスピードが起動に成功!!!!!!!!
なんとなくランキングを表示!!!!!!!!!!
<困ってること>
注文確認パスワードを受け付けてくれぬ・・・。
とりあえず観賞用として マーケットスピードを使用する。
カレンダー
02 | 2025/03 | 04 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
フリーエリア
最新CM
最新記事
(08/12)
(02/23)
(02/23)
(02/22)
(02/22)
最新TB
プロフィール
HN:
kstv2011
性別:
男性
職業:
プログラマ
趣味:
作ること
自己紹介:
プログラマー、Javaを中心にネットワーク通信系アプリを作成する男。
ブログ内検索
最古記事
(12/18)
(12/23)
(01/23)
(01/23)
(02/17)
アクセス解析