androidアプリ-エラーコード103

Play Storeに公開したアプリが、対応している端末なのに[エラーコード 103]と表示され、インストールできない状況に見舞われました。

4571

インストールできない端末でのエラーメッセージ

Playストアの対応端末を見ると、たしかに対応していると書かれているのに、ダウンロードまではできて、インストールはできません。

%e5%af%be%e5%bf%9c%e7%ab%af%e6%9c%ab

詳しくはわからないですが、原因としては開発環境のJavaのバージョンと実行環境のJavaのバージョンの違いでゴニョゴニョうまくいっていなかったようです。

 

解決策としては、開発環境のJavaのバージョンをコンパイルする際に一時的に1.6まで落として、パッケージを作成し、そのパッケージをストアに公開することで解決しました。

パッケージの署名を行う際に後ろに -sigalg SHA1withRSA -digestalg SHA1 をつけることで解決しました。

参考:
Android旧機種にアプリをインストールする際、 103 エラー  – さわやかサタデー
Play Store: Can’t install app, (Error code: -103)

 

開発環境

  • Mac OS X (10.12)
  • JDK 1.8.0_45 (下記参照) ※重要
java -version
> java version "1.8.0_45"
> Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
> Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

 

リリースビルド後のパッケージについて、署名を行う際に以下のコマンドを利用していました。

[今まで] jarsigner -verbose -keystore <ダウンロードしたkeystore.privateを指定> <apkファイル> <エイリアス名>

[新しい方法] jarsigner -verbose -keystore <ダウンロードしたkeystore.privateを指定> <apkファイル> <エイリアス名> -sigalg SHA1withRSA -digestalg SHA1

Cordovaからandroidパッケージのビルドについては他記事についてまとめています。
CordovaでAndroidのキーファイルを指定して署名

 

これで、無事に今までインストールできなかったAndroid4.X端末でもアプリをインストールすることができました。

 

追記

できたのですが、他のAndroid端末では動作していた操作(ネットワークへのアクセスやデータの保存)がうまく動作していないようです。これは他の問題だと思いますが…なぜだろう…。

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください