質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Google Play

Google Playは、Google社が提供しているAndroid端末向けのデジタルコンテンツ配信サービスです。Google Play Store アプリから、世界中の個人または企業が開発したアプリをダウンロードできます。有料アプリの売り上げは、70%を開発者、30%は通信キャリア等への支払いにあてられます。開発者が登録する場合は、初回のみ25ドルの登録手数料が必要です。

Q&A

解決済

1回答

2991閲覧

自作のandroidアプリがアップデートできない

essex

総合スコア21

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Google Play

Google Playは、Google社が提供しているAndroid端末向けのデジタルコンテンツ配信サービスです。Google Play Store アプリから、世界中の個人または企業が開発したアプリをダウンロードできます。有料アプリの売り上げは、70%を開発者、30%は通信キャリア等への支払いにあてられます。開発者が登録する場合は、初回のみ25ドルの登録手数料が必要です。

0グッド

0クリップ

投稿2018/04/28 12:01

Unityでandroidアプリを作っていますが、バージョンアップ版を作成しインストールしようとしたところ、
「名前が同じで、署名が競合するパッケージが既にインストールされています」という警告が出て、
アップデートできません。

前のバージョンを開発中には、端末に直接何度か転送し、普通にアップデートできました。
その時と条件が変わったのは、恐らく以下の2点だと思います。

1 現在端末に入っているのは、Google Play上で公開しているバージョン
2 開発用のパソコンを変更した。

何となく、証明書がバッティングしているために、違うアプリとして認識されているように思えるので、
以下の点を疑っています。

1 Google Playで公開される時、私がアップロードしたアプリから、Google Playの証明書に変更された。
2 開発用のパソコンに、新たにandroid sdkとUnityをインストールしたため、証明書が変わってしまった。

仮に1の様なことをやっているのであれば、端末のバージョンを削除してインストールすれば良いのですが、
もし開発用パソコンに依存する情報があったとすると、何をどうすれば継続できるのかが良く分かりません。

取りあえず、Unityのプロジェクトの中には、keystoreというフォルダがあり、
アプリ名.keystore というファイルが保存されています。
また、開発用パソコンのuser\username.androidの直下にdebug.keystoreというファイルがあったので、
これを古いパソコンの同名のファイルと入れ替えてみましたが、解消されませんでした。

何か原因として思い当たることがありましたら、ご教授ください。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

端末のバージョンを削除してインストールすれば良いのですが

まずこれをやってからではないでしょうか

開発用のパソコンを変更した

iOSと違ってAndroidはそれほど厳密ではありません

何か原因として思い当たること

Versionを上げ忘れているとか

投稿2018/04/29 03:06

aja

総合スコア3733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

essex

2018/04/30 13:54

aja様、ご回答ありがとうございます。 >まずこれをやってからではないでしょうか 説明不足で済みません。 端末のバージョンを削除してのインストールは試しました。 結果は、以下のような状態です。 1 旧環境で作成したものは、旧環境で作成したもので更新できます。 2 新環境で作成したものは、新環境で作成したもので更新できます。 3 旧環境で作成したものは、新環境で作成したもので更新できません。 4 Google Playからダウンロードしたものは、新環境で作成したものでは、アップデートできません。 つまり、旧環境、新環境、Google Playは、全て異なる証明書になっているようです。 私が良く分からないのは、Google Playにある 「キーストアを安全な場所に保管してください。キーストアを紛失した場合、新しいパッケージ名と新しい鍵でアプリを公開する必要があります。その場合、元のアプリは公開を停止し、アプリの説明を更新する必要もあります。」の件です。 アプリのフォルダ内にある「アプリ名.keystore」はそのままなのに、開発環境が変わって 更新できなくなった理由が良く分からないのです。 説明が下手で済みません。
aja

2018/04/30 14:35

「デバッグ用証明書の有効期限 デバッグモードで APK に署名するために使用する自己署名証明書は、作成日から 365 日で失効します。証明書の期限が切れるとビルドエラーになります。」 https://developer.android.com/studio/publish/app-signing?hl=ja
essex

2018/05/04 08:32

aja様、ご回答、ありがとうございました。 十分理解できた訳ではありませんが、以下のことが分かりました。 1 今回のアプリは、Google Play App Signingが有効になっていました。  (ブラウザからアップロードする場合、デフォルトで有効になるみたいです。) Google Developersの解説ページ https://developer.android.com/studio/publish/app-signing#generate-key 2 windowsの場合、userフォルダにあるandroid studioのdebug.keystoreは、デバッグモードで  ビルドする時の署名に使用され、これは公開用にGoogle Playにアップロードできませんが、  開発時に端末にダウンロードして実行することはできました。 3 debug.keystoreで署名されたファイル同士は、(同じプロジェクトである場合)、  同じパッケージとして認識されました。つまり、上書きインストールできました。 4 公開用ビルドをする時には、「任意の名前.keystore」を作成して署名しなければなりませんが、  バージョンアップ版を作成した場合も、このファイルを使って署名すれば、同一のパッケージと  みなされる様です。 8 これで作成したファイルをGoogle Play Consoleからアップロードすると、  公開用にアップロードされ公開されました。 でも、以下の点が未だに良く分かりません。  自分で作成したkeystoreを使用してビルドしているので、Google Play App Signingのアップロード・ キーを指定する操作はしていませんが、何故か公開されtファイルはバージョンアップ版として、従来の 公開版を更新できました。 ということで、少し謎が残りましたが、何となく理解できました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問