I know of four ways to install an Android application on a rooted phone:
- Install via the Android market
- Enable ‘Unknown sources’ in Settings->Applications and download an .apk from the web
- Enable ‘USB debugging’ in Settings->Applications->Development and adb install
- Enable ‘USB debugging’ in Settings->Applications->Development and adb push to /data/app or /system/app
What are the major differences between these options? If I delete Market/Vending and PackageInstaller apps, will I still be able to sideload from adb? For the purposes of this question assume I have no Market apps on the phone.
The primary differences in the install are the upgrade paths. Market installed apps notify you when there is an update (via the market). Manually installed apps (2-4) depend on the app to notify you which may or may not be supported in any given app, or you can always manually check the source of the app to see if there are available updates. I believe apps installed via adb push need a reboot in order for them to be properly registered as installed.
If you decide to delete MarketUpdater.apk, I believe the only issue will be auto-update notifications of previously market installed apps as previously mentioned. If you want to delete the Market App itself, vs the updater, Vending.apk is what you are looking for.
I would not remove the PackageInstaller. Its used to install (and register) apps regardless of install method. At one point I had accidentally replaced a commandline tool PackageInstaller uses with an incompatible busybox alternative. When I tried to manually install apps, PackageInstaller would barf. I fixed the commandline tool program, but the point is that PackageInstaller was used during manual installs.