Sorry, there isn't any way to do this. Applications need to be world readable so that other applications can access their resources -- for example for a home app to display its icon and label, for intent resolvers to display icon and label, for an app widget host to inflate the widget from its resources, for a status bar to display its icon and inflated details layout, etc.
On Mon, Aug 24, 2009 at 2:04 AM, Scytmo <[email protected]> wrote: > > Hi, > > Is there any way for an OEM to give the same level of protection to > packages loaded into /system/app as is given to 'forward locked' > downloaded packages (which are placed in /data/app-private without > world read permission)? > > I understand that the packages in /system/app should have had dexopt > run, so the APKs do not contain classes.dex, and there is a > separate .odex file alongside. However, for a package that does not > require any 'signature' or 'signatureOrSystem' permissions, it seems > possible to extract the APK and odex, and create a new self-signed > package. This would appear to need an 'undexopt' step, to get > classes.dex back from the .odex file - and, while I can't see any > tools available that would do this at the moment, it doesn't seem > intractible. > > Is there any particular reason why the files in /system/app are world- > readable? Could a permission scheme like that used in /data/app- > private be used, uid=system, gid=app_XX, mode=0640? I guess one issue > would be determining the correct gid. Any other issues with doing > this? > > Scytmo > -- Dianne Hackborn Android framework engineer [email protected] 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.
