Dacă sunteți inginer de telefonie mobilă, atât în timpul dezvoltării, cât și în timpul testelor, probabil că folosiți unele dintre cele mai comune instrumente existente pentru a depana, intercepta sau rescrie apelurile de rețea, cum ar fi Charles Proxy sau Fiddler.
De asemenea, probabil că veți găsi destul de enervant procesul de configurare a proxy-ului în dispozitivele dvs.: mergeți la Settings > Network Settings > Select your WiFi network > Modify Network > Add proxy. Fiecare. Single. Timp. Uf!
Dacă lucrați cu un set de dispozitive diferite, probabil că ați observat și mici diferențe între versiunile Android, producători etc., care ar putea adăuga sau modifica pașii pe care îi faceți pentru configurarea proxy-ului.
Există o mică comandă adb
pe care o puteți rula din Terminal pentru a activa un proxy global pe dispozitivul conectat:
adb shell settings put global http_proxy YOUR_IP:YOUR_PORT
Dar aceasta nu vă va oferi niciun indicator vizual pentru a ști dacă dispozitivul folosește sau nu un proxy. De asemenea, necesită ca dispozitivul să fie conectat la un computer cu adb instalat de fiecare dată când doriți să activați sau să dezactivați proxy-ul… ceea ce probabil face ca utilizarea acestei soluții alternative să nu fie cea mai ideală soluție.
Ei bine, am vești bune pentru dumneavoastră.
Proxy Toggle este o mică aplicație utilitară compatibilă cu Android 5.0 și mai sus, care vă va permite să activați și să dezactivați rapid setările proxy, precum și să unificați și să simplificați procesul între versiunile de platformă, dispozitive, producători etc.
Configurare ușoară: doar adăugați IP-ul și portul dorit, activați proxy-ul și voilà! totul este gata, întregul dvs. dispozitiv va fi proxiat.
Făcând-o și mai ușor
Știu că toate acestea sunt vești interesante. Dar simt, de asemenea, că a trebui să deschideți aplicația de fiecare dată când doriți să activați proxy-ul ar putea fi, de asemenea, un proces îndelungat… nu-i așa?
De aceea, am adăugat, de asemenea, două scurtături opționale pe care le puteți folosi: un widget pentru ecranul de pornire și o tăbliță de setări rapide.
Home Screen Widget
Această scurtătură este foarte utilă pentru a activa și dezactiva rapid ultimul proxy utilizat de pe ecranul de pornire.
Pentru a adăuga widgetul, în mod normal trebuie să apăsați lung pe ecranul de pornire (în funcție de lansatorul dvs.), să selectați Add Widget (Adăugare widget) și să derulați în jos în lista de aplicații până când vedeți widgetul Proxy Toggle.
Asta este! Activați și dezactivați proxy-ul cu o singură atingere!
Quick Settings Tile
Dacă dispozitivul dvs. rulează Android 7.0 sau o versiune mai recentă, veți avea acces la o altă scurtătură uimitoare: un Quick Settings Tile. Această comandă rapidă va locui în interiorul sertarului de notificări, alături de alte comenzi rapide la îndemână, cum ar fi WiFi, Location, Bluetooth, Airplane Mode etc.
Pentru a o activa, pur și simplu extindeți sertarul de navigare, faceți clic pe pictograma Edit și trageți pictograma Proxy Toggle acolo unde doriți să o plasați.
Făcut! Puteți activa și dezactiva proxy-ul fără a părăsi aplicația curentă!
Note: dacă aveți apeluri de rețea în curs de desfășurare, este posibil ca acestea să dureze câteva secunde pentru a se finaliza și a se actualiza cu noua setare.
Nu tot ce strălucește este aur
Deși aplicația își îndeplinește perfect scopul și ne ușurează viața, există câteva avertismente pe care vreau să le evidențiez cu privire la această aplicație strălucitoare.
Utilizarea permisiunilor restricționate de sistem
Aplicația se va folosi de Settings.Global. Deoarece aceasta este o setare de sistem, în mod normal este o setare doar pentru citire. Acest mic inconvenient este ocolit prin acordarea aplicației WRITE_SECURE_SETTINGS
permisiune restricționată.
Nota: aceasta este o permisiune protejată care ar trebui să fie acordată numai aplicațiilor de sistem. Fiți foarte atenți atunci când acordați această permisiune pentru aplicații din surse necunoscute.
Știu că acest lucru ar putea ridica unele îngrijorări și le înțeleg.
De aceea am decis să deschid proiectul: pentru a dovedi că este complet sigur să acordați această permisiune, deoarece veți avea control și cunoaștere completă a ceea ce se întâmplă în spatele scenei.
Concesionarea permisiunilor restricționate de sistem
Din moment ce aceasta este o permisiune restricționată, nu o putem solicita în timpul execuției, așa cum am face-o în mod normal, așa că va trebui să o acordăm manual de pe calculatorul nostru.
Dacă doriți doar să instalați aplicația fără a o construi din Android Studio, există un mic script care va fi livrat împreună cu aplicația. Trebuie doar să descărcați fișierul zip și să executați scriptul installAndGrantPermission.sh
.
Alternativ, puteți instala manual aplicația executând adb install -g App.apk
pe Terminal.
Pentru a acorda această permisiune odată ce aplicația este deja instalată, conectați dispozitivul la computer și executați următoarea comandă pe Terminal:
adb shell pm grant com.kinandcarta.create.proxytoggle android.permission.WRITE_SECURE_SETTINGS
Aveți grijă la dezinstalarea aplicației
Din păcate, ca dezvoltatori, nu putem rula niciun cod atunci când aplicația este dezinstalată. Prin urmare, dezinstalarea aplicației cu proxy-ul activat va lăsa permanent dispozitivul dvs. cu această configurație (deoarece este o configurație Settings.Global!).
Ar trebui să vă asigurați că proxy-ul este dezactivat înainte de a dezinstala aplicația. Deoarece nu putem garanta că acest lucru se va întâmpla, există, de asemenea, scriptul uninstallAndCleanUp.sh
pentru a vă asigura că totul este într-o stare curată după dezinstalarea aplicației.
Alternativ, ați putea rula următoarele comenzi pe Terminal pentru a curăța setările proxy:
adb shell settings delete global http_proxy
adb shell settings delete global global_http_proxy_host
adb shell settings delete global global_http_proxy_port
Conveniență la îndemână
Proxy Toggle facilitează configurarea unui proxy global pe orice telefon Android, precum și furnizarea de diferite comenzi rapide pentru activarea și dezactivarea proxy-ului cu o singură atingere pe ecran. Sper că acest instrument va fi la fel de util pentru echipa dvs. cum a fost pentru echipa noastră internă de aplicații, atât pentru dezvoltatori, cât și pentru testeri!
Puteți descărca cea mai recentă versiune de aici, sau puteți clona proiectul de pe Github.
Mulțumesc mult singurei și uimitoarei Flor Novello pentru ajutorul său neprețuit în proiectarea aplicației!