Would SharedUserId be worth calling out. I currently don't have one set on 
any of my apps, but after playing around with the feature while trying to 
get a Test Project to run as the same user ...  I think it's not really 
possible to change the user_id with a live app without some big issues. The 
only way I can think to do it is to release an apk which changes all 
elements in /data/data/* to be opened with Context.MODE_WORLD_WRITEABLE and 
then later in another apk release, change the sharedUserId to the value 
desired. This sounds pretty bad. My theory is based on just very primitive 
tests of upgrading from a debug build with no sharedUserId to a debug build 
of the same package (cert) and realizing that any attempt to read anything 
in the /data/data/<my_package> either throws a SecurityException or 
FileNotFoundException (even when writing a new file). I think this should 
really be called out in the documentation, similar to how package name has 
big bold letters around it all the time that says (DO NOT CHANGE!) :)

However even with my idea of making a release with world writable files, I 
don't believe I would ever be able to create new files within 
/data/data/<my_package>. I am wondering that if the package name has to be 
unique anyways for the package manager, why they just didn't make the 
default user_id the package_name of the app. Then with the correct signing 
cert and agreed upon name you would be able to migrate to a userid if need 
be. 

... Or am I completely wrong?


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

Reply via email to