[android-developers] Signing application with multiple certificates

2011-06-09 Thread Jalal
Dear Android community,

I'm having a big problem with the application certificates and I
haven't found any official info regarding the possibility of signing
an application with more than one certificate. I have an application
with package name com.example.myapp signed with certificate A and
the same app with the same package name but signed with certificate B.
The application signed with A comes preinstalled in device X and the
app signed with B comes preinstalled in device Y.

Now I need to publish a the app in the Market with the next version.
How can I publish this update so I don't leave any of my users
hanging. If i sign the update with certificate A, only users with the
device X will be able to install the update and the same thing with
certificate B and device Y.

I saw some posts from other developers in different forums and groups
saying that it's possible to sign an apk with two certificates. When I
try this I get the worst result possible, device X nor device Y can
install the update.

Another thing, is it possible to do some kind of device
differentiation in the Market so users with device X can download one
app and the users with device Y the other?

Thank you all in advance. I hope you can help me with this issue.

Cheers,
Jalal

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en


Re: [android-developers] Signing application with multiple certificates

2011-06-09 Thread Dianne Hackborn
You should only sign your app with one cert.  What you want to do can't be
done, sorry.  You should always sign your app with your own cert, not with
different certs.  The cert is the signature of who you are.  If the cert is
different, it is fundamentally a different app.

Fwiw, this is a bad thing that Amazon currently seems to be doing with their
app store -- they are re-signing apps with their own certs, but not changing
the package name.  This is not how Android works and doing that kind of
thing causes problems for developers.

If you have multiple certs, each of those apps should use a different
manifest package name.  You can fairly easily build different versions of
your app with different package names through the --rename-manifest-package
aapt option.  (Though you do need to take some care with it -- for example
if you have a content provider this will leave it with the same authority
name in both apps and thus they can't both be installed on the same device
the same time.)

On Thu, Jun 9, 2011 at 7:52 AM, Jalal jalalso...@gmail.com wrote:

 Dear Android community,

 I'm having a big problem with the application certificates and I
 haven't found any official info regarding the possibility of signing
 an application with more than one certificate. I have an application
 with package name com.example.myapp signed with certificate A and
 the same app with the same package name but signed with certificate B.
 The application signed with A comes preinstalled in device X and the
 app signed with B comes preinstalled in device Y.

 Now I need to publish a the app in the Market with the next version.
 How can I publish this update so I don't leave any of my users
 hanging. If i sign the update with certificate A, only users with the
 device X will be able to install the update and the same thing with
 certificate B and device Y.

 I saw some posts from other developers in different forums and groups
 saying that it's possible to sign an apk with two certificates. When I
 try this I get the worst result possible, device X nor device Y can
 install the update.

 Another thing, is it possible to do some kind of device
 differentiation in the Market so users with device X can download one
 app and the users with device Y the other?

 Thank you all in advance. I hope you can help me with this issue.

 Cheers,
 Jalal

 --
 You received this message because you are subscribed to the Google
 Groups Android Developers group.
 To post to this group, send email to android-developers@googlegroups.com
 To unsubscribe from this group, send email to
 android-developers+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/android-developers?hl=en




-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en