0

Someone knows if it's possible to edit a system activity in android?

For example insert a new EditText in the activity of the ContactContracts.people..... If it's possible, how can i do?

Thanks

Ricardo Graça
  • 581
  • 2
  • 9
  • 17

2 Answers2

0

Yes, It is Possible. Edit android IOS ContactContracts function then setup it in your phone.

Md Abdul Gafur
  • 6,213
  • 2
  • 27
  • 37
0

Edit it? Sure.

Install it, or even build it? not so fast.

Many of the built in applications are unfortunately built against the full android system build, rather than the android SDK exports. Sometimes it is possible to modify them to build against the SDK, but in other cases you would need to build the entire source of android itself.

Installation can also get a bit tricky. Pretty much any android device you can buy for use is "secured" in the sense that you cannot change the partition on which system apps live or install replacements for them under the same name. Devices sold directly by Google, and increasingly those under manfucturer branding will sometimes let you unlock their bootloader to permit installation of a custom firmware image (note that is not the same as SIM unlock). However, even on a device that permits you to modify the system partition, you are not home free as you probably do not have a way to sign your modified apk with the same key used to sign the system apps already on the device. That means you end up having to re-sign all of the system apps so that you, rather than the vendor, become the trusted author. (But sometimes a device does not actually check the signature on every file within an apk if it is on the normally protected system partition, such that you can substitute a modified class file into a vendor signed apk and have it still work)

In practice, changing a system app is most straightforward if you replace the entire original build with a modified one for which you can select or obtain the signing keys. It's one of the great tragedies of the android model that making "just a small change" to your own device becomes such a big project - and by extension that you can only really share such changes with other users in the context of a full alternate build.

The one possible simplification is if the functionality you want to change doesn't have to remain within a system app - ie, if you can copy and rename the app, and install your modified version under the new name and simply use that instead. If the app doesn't need any special permissions and you come up with solutions for all of the full-system vs. sdk build problems, this can be a viable path.

Chris Stratton
  • 39,853
  • 6
  • 84
  • 117