[Sony Ericsson XPERIA X10 Mini] myth999:
REASON FOR MAKING COMMON KEY

Due respect to member names I used as examples below. No offence intended. This is just an effort to collaborate devs work

I am seeing many arc apps being ported to X10 series. Its a good thing for all the X10 owners. However there is a frequent rise in the '' Application not installed '' errors. This gives rise to apps seeming useless and devs efforts are wasted in developing/editing the app.

I would like to give u a glimpse to the problem via an example:

Backhead92 has edited the Arc launcher and has made it available to a vast range of androids out there. He has fixed resolutions, app drawers and many many things! But when he edits an apk and compiles it back he must be obviously resigning the apk, coz android wont accept unsigned apks.

Similarly, I managed to get a some stuff off the arc rom to work on x10. Now again i signed those apks with some signature.

Now all those editing apks shall have come across this line

"sharedUserId:xxxxxxxxx". We sometimes remove this line to get the app working but thats not a good solution. And if we keep that line then the user will suffer. How? heres how...

take this example Three apps made by SE for arc have been ported

Home

Photowidget

TimescapeWidget

All these three apks have this sharedUserId as "com.sonyericsson.home"

HOME - edited and signed by backhead

Timescape widget - edited and signed by me

Photo widget - made and sidgned by SE (unless edited)

So now from a user point of view someone will install usually the home app first.

So certificate used to sign the modded home apk shall be registered and reserved under the sharedUserId = com.sonyericsson.home

Now if some one tries to install Timescape signed by me or photowidget signed by SE. Then the first thing OS would do is Check if the SharedUserId for widgets above is the same as any app already on the system. In our case it will find home app having sharedUserId to be same as that of widget.

So now the next thing it will do is match the signatures and KABOOM. They would not match coz they are signed by diff people or they might be test keys.

And installer will return a ''Application not installed" error.

So now, some would say, then we must remove the sharedUserId property from Android Manifest Xml. This solution might get the apps installed but when you dont use sharedUserId property, Home and timescape widget will not be able to interact with each other due to sandboxing policy of OS. This was a major reason Timescape widget ddnt work initially for most.

This was just an example. In future more devs might port more apps, but they will lose interoperability and compatibility. Also SharedUserId removed means isolation of an app whereas SharedUserId kept means the user shall have only to face ''Application installation failures'' and he might be dumb founded. :(

So heres what I am proposing to all the apk editing members on xda

Lets generate a signature (private key), something like xdaapkeditors.keystore, then all the genuine apk editors can share this key and sign their modded apps with this key.

Advantages:

1. We wont need to delete this very important property called "sharedUserId"

2. One devs work or app wont cause problems for the other devs app.

3. Application not installed error will be eliminted (unless user is a real noob!)

4. Our efforts to make better the user experience will not be thwarted by such silly issues

5. We shall unanimously decide who gets the key and maintain a list of people who have the key. So users can always check the list and know if the signature bug has struck him coz of a modded app not having appropriate signature

6.We can sign apps for the mand solve their issues on the spot

Disadvantages:

1. None except that more and more ppl would want the key :D :D

NOW I REALLY NEED YOU PPL TO CONSIDER THIS OPTION AND SHARE YOUR VIEWS SO THAT WE CAN TAKE THIS BIG STEP AND KEEP UP THE XDA SPIRIT BY CO OPERATION

Regards,

Myth

USERS AND DEVS SHARE YOUR OPINION ABOUT WHAT YOU THINK OF THIS PROPOSAL