0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Eclipseをうまく設定しておくと、アプリアップデート時に証明書が変わってるって怒られないし、Facebookにもログインできる

Posted at

何かというと、署名についてです。
Eclipseに署名をうまく設定すると、便利になります。

署名

Androidアプリ(apkファイル)を端末にインストールする場合、keystoreによる署名が必要になります。
マーケットへの公開も、署名がされたアプリでないとできません。

インストールできない問題

「同一のアプリである」とみなされる条件はいくつかあります。
そのうちの一つが「署名が同じであること」です。
署名が違うと、同じアプリであってもアップデートインストールができません。

それぞれのマシンでビルドする場合(Eclipse等)、keystoreによる署名は自動的に行われます。
このkeystoreはそれぞれのマシンによって違います。

複数人で開発をしていると、自分のマシン以外でビルドしたアプリが端末に入ってたりすると思いますが、そのときは一度アンインストールして、インストールするという作業が必要になります。

Facebookログインができない問題

Facebookログインを使用しているアプリの場合にかぎります。

Facebookログイン機能をFacebookSDKを使用して実現する場合、FacebookアプリにFacebookログインを使用するアプリのkeystoreのハッシュを登録する必要があります。
ここに登録されたハッシュを持つkeystoreによる署名が行われたアプリだけが、ログイン機能を使用することが可能になります。

個々のマシンで自動生成されるkeystoreのハッシュ全てを登録するのは、管理の面から考えても難しいと思われます。
ですが、ログインできないと機能が使えない、テストできない、等開発がなかなか進みません。

共有のkeystoreを作って、それでビルドできるようにすれば解決!

共有のkeystoreを作成し、それでビルドするようにそれぞれのマシンを設定すれば解決です。

・インストールできない問題
開発メンバーで使用するkeystoreが同じため、アップデートインストールできるようになります。

・Facebookログインができない問題
共有のkeystoreのハッシュ1つをFacebookアプリに登録することで、個々のマシンからビルドしたアプリでもログイン可能になります。

Eclipseの設定方法

ウィンドウ > 設定 > Android > ビルド
「カスタム・デバッグ・キーストア」に共有のkeystoreのパスを保存します。

これだけでOKです。

そもそも

公式のIDEはAndroid Studioなので、そちらに移行するのもよいですね。
http://developer.android.com/intl/ja/tools/publishing/app-signing.html
にいろいろ載っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?