特定の端末でAPKに署名がないと見なされます

5,704 views
Skip to first unread message

トムキャット

unread,
Aug 8, 2014, 11:27:43 PM8/8/14
to android-g...@googlegroups.com
トムキャットです。

特定の端末でAPKのインストール時に署名がないと見なされるので困っています。JDK7で起きた、署名アルゴリズムが変わっているので・・・という問題ではないです。普段はADTで署名させていますが、未署名のAPKをエクスポート後に手動でjarsignerに-sigalg MD5withRSA -digestalg SHA1を付加して署名しても結果は同じでした。

この問題が起きているのは手元にあるT-01Cです。あと、ユーザーの方からL-04Cで「パッケージファイルに正しく署名されていません」というエラーになると言われています。

T-01CでADBでインストールすると

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

と表示されます。ADTは23.0を使っています。この問題、さんざんGoogle検索しましたが、JDK7におけるjarsignerの仕様変更以外には解決策がありませんでした。で、理由はそれではないと思うので行き詰っています。

同じ経験をされた方、解決策をご存知ではないでしょうか。

Jun Shiozawa

unread,
Aug 11, 2014, 12:45:30 AM8/11/14
to android-g...@googlegroups.com
>T-01CでADBでインストールすると

Gmailの「下書き」ディレクトリ経由のインストールや
USBマスストレージ経由のインストールやは試してみましたか?

あと経験上
Windows版adv(ここでは端末メーカーのWindows版ドライバも含めた概念)や
ADTやEclipseは動作が不安定ですね・・・

jarsignerの参考Webサイト2件
(Android OSの場合はjarsignerでのSHA-256やSHA-512の指定はどうなんだろう?未確認。
 だけどMD5withRSAやSHA1では正直なところ「危険」だよなあ・・・)



2014年8月9日土曜日 12時27分43秒 UTC+9 トムキャット:

トムキャット

unread,
Aug 11, 2014, 10:26:45 AM8/11/14
to android-g...@googlegroups.com
トムキャットです。

DropBoxでもGoogle Playでもダメです。なのでADBの問題ではないです。状況的にはJava7の環境だと正しいと言われている方法であっても、T-01Cでは処理できない状態で署名されてしまう気がします。


2014年8月11日月曜日 13時45分30秒 UTC+9 Jun Shiozawa:

tach...@gmail.com

unread,
Aug 11, 2014, 2:18:33 PM8/11/14
to android-g...@googlegroups.com
直接の解決策を提示できなくて申し訳ないですが以下参考まで。

OSバージョンの切り分けやメーカ改変由来かどうかの切り分け等どこまで終わっていますか?
特定端末といっているのは、特定機種という意ではなく特定の個体のことを意味していますか?
ファクトリリセットをしても状況は変わりませんか?
sigalgやdigestalgを変えてみましたか?
現在のandroid公式では sigalgはSHA1withRSAになっていますが、試されましたか?
http://developer.android.com/tools/publishing/app-signing.html

L-04CもT-01Cも2.xですよね?これは確認済みですか?
http://stackoverflow.com/questions/18069839/error-install-parse-failed-no-certificates-on-one-device-only?rq=1

どこまで原因の切り分けが終わっているかがわからないうえに、
open question になっているので皆さん答えにくいのではと思います。





2014年8月9日土曜日 12時27分43秒 UTC+9 トムキャット:

tkth

unread,
Aug 11, 2014, 9:41:46 PM8/11/14
to android-g...@googlegroups.com
こんな情報がありました。

Android2.2の端末で、apkに日本語ファイル名があるとINSTALL_PARSE_FAILED_NO_CERTIFICATES と出てエラーになってしまう。
 https://twitter.com/chototsumoushin/status/137471464441004032


2014年8月9日土曜日 12時27分43秒 UTC+9 トムキャット:

トムキャット

unread,
Aug 12, 2014, 11:00:40 AM8/12/14
to android-g...@googlegroups.com
情報ありがとうございます。

・分かっているのは2台の端末でこの問題が起きていることです。機種全体か端末個体かは分かりません。
・OS2.2なら全滅なんてことはありません。2.2でも動く端末を持っています。
・ファクトリーリセットはやりました。ダメでした。
・ sigalgはSHA1withRSAで試していました。最初に書いたのは間違いでした。で、ダメです。
・そのSOのエントリーは見ていませんでしたが、でもダメでした。

Java6のjarsignerも試してみましたがダメでした。署名の問題ではなくて、他の何かが原因でこのエラーが出ているような気がしてきました。


2014年8月12日火曜日 3時18分33秒 UTC+9 tach...@gmail.com:

トムキャット

unread,
Aug 12, 2014, 11:01:44 AM8/12/14
to android-g...@googlegroups.com
トムキャットです。

APKに日本語は使っていないです。


2014年8月12日火曜日 10時41分46秒 UTC+9 tkth:

tach...@gmail.com

unread,
Aug 12, 2014, 1:03:43 PM8/12/14
to android-g...@googlegroups.com
他のapk(適当にHelloWorldのような空のプロジェクト生成して)を用いて
その他の条件(genkyやjarsignerのコマンドオプションなど)を固定した場合はどうでしょうか。
あとLogcatは出せますか?(何かがわかるかはわかりませんが・・)


2014年8月13日水曜日 0時01分44秒 UTC+9 トムキャット:

トムキャット

unread,
Aug 13, 2014, 10:24:19 AM8/13/14
to android-g...@googlegroups.com
トムキャットです。

・Debug署名のAPKでも同じ結果でした。
・同じ開発環境で別のプロジェクトのAPKを作成したら問題ありませんでした。

ということでやはり署名以外の何かが原因ではないかと思います。
Logcatはこの場合APKをインストールするものが出したものを見るのですが、
意味のありそうなものは目にしていません。


2014年8月13日水曜日 2時03分43秒 UTC+9 tach...@gmail.com:

tamaco

unread,
Aug 13, 2014, 1:37:45 PM8/13/14
to android-g...@googlegroups.com
うーん、PackageManagerかPackageParserあたりがなにか出してないですかね?
あと、
以下のコマンドの出力はなんて出ますか?
$ jarsigner -verify -verbose -certs my_application.apk



2014年8月13日水曜日 23時24分19秒 UTC+9 トムキャット:

トムキャット

unread,
Aug 14, 2014, 11:15:16 AM8/14/14
to android-g...@googlegroups.com
トムキャットです。

おかげさまで解決しました。Logcatを見直すと、署名がされていなという出力の後に文字化けした部分が
ありました。で、jarsigner -verifyの出力の中に日本語を含むファイルがありました。これをなくしたら
問題が解消しました。

助かりました。

2014年8月14日木曜日 2時37分45秒 UTC+9 tamaco:

j

unread,
Aug 14, 2014, 8:54:51 PM8/14/14
to android-g...@googlegroups.com
あなたは今回の問題について原因を示したtkthさんに
謝罪とに感謝の意を述べるべきだ。

ここは有料の学習塾ではありませんよ。

回答する側も人間であることをお忘れなく。

ファイル名に
「記号」や「制御文字」や「日本語などの非ASCII文字」を含めない
プログラマにとっての常識を
あれが原因でもない、これも原因でない、と・・・

僕だって「(原因は)そっちかよ!」の一言も言いたくなるわけですよ。
Reply all
Reply to author
Forward
0 new messages