საჭიროა თუ არა root?
არა. Root არც საჭიროა და არც გამოიყენება: საკმარისია Android-ის დეველოპერის პარამეტრებში ერთხელ აირჩიოთ Mock Location ყალბი მდებარეობის აპად.
არა, და ეს კომპრომისი კი არა, თავად მექანიზმის თვისებაა. Android თავიდანვე უჭერდა მხარს ყალბ მდებარეობას დეველოპმენტისა და ტესტირებისთვის: სისტემა ერთ არჩეულ აპს სატესტო პროვაიდერების რეგისტრაციისა და მათში კოორდინატების ჩაწერის უფლებას აძლევს, შემდეგ კი ამ კოორდინატებს გადასცემს ყველას, ვინც მდებარეობას ჩვეულებრივი გზით ითხოვს.
აპი სხვა პროცესებში არ ერევა და სისტემურ ბიბლიოთეკებს არ გადაწერს — ის იყენებს ოფიციალურად გათვალისწინებულ შესაძლებლობას, რომელიც თავად ჩართეთ დეველოპერის პარამეტრებში. ამიტომ არც განბლოკილი ჩამტვირთავი გჭირდებათ, არც Magisk და არც Xposed.
ერთადერთი, რასაც სისტემის მოდიფიკაცია პრინციპულად ამატებს, ჩანაცვლების ფაქტის დამალვის შესაძლებლობაა: „ყალბი წყაროს“ ნიშნის მოხსნა, რომლითაც აპები ჩანაცვლებულ კოორდინატებს ნამდვილისგან არჩევენ. დანარჩენ ყველაფერს ჩაშენებული მექანიზმი root-ის გარეშე აკეთებს.
ამ შესაძლებლობის ფასი მაღალია: კარგავთ გარანტიას, ზოგიერთი საბანკო აპი და სერვისი სისტემის მთლიანობის შემოწმების გამო აღარ ეშვება, სისტემის განახლებები ნორმალურად აღარ ყენდება, წარუმატებელმა გადაწერამ კი შეიძლება ტელეფონი გამოუსადეგარი გახადოს. Mock Location მკაცრად ჩაშენებული მექანიზმის ფარგლებში მუშაობს და ამ გზას მხარს არ უჭერს.
პრაქტიკული დასკვნა: root-ის გარეშე ჩანაცვლება პატიოსნად ჩანს იმ აპებისთვის, რომლებსაც მისი დანახვა სურთ. რუკები, ამინდი, ახლომახლო ძიება, თქვენი აპები დეველოპმენტსა და ტესტირებაში — მუშაობს. სერვისები, რომლებისთვისაც მდებარეობა რაიმე ფაქტის დასტურია (მიწოდება, სამუშაო დროის აღრიცხვა, მდებარეობაზე მიბმული ჯილდოები), როგორც წესი, არა — და ეს მათი შეგნებული არჩევანია და არა ხარვეზი. დაწვრილებით — სტატიაში root-ის გარეშე ჩანაცვლების შესახებ და კითხვაში, რატომ ხედავს აპი ნამდვილ კოორდინატებს.