Les Build.prop-verdier fra appen din uten rot

Vi har presentert massevis av verktøy tidligere som lar en sluttbruker endre sine egne bygge.prop. Vi har også presentert et sett med verktøy for apputviklere å innlemme som lar programmer endre filen. Disse krever (åpenbart) alle root-tilgang, ettersom du endrer systeminnstillingene. Til dags dato har vi imidlertid ikke vist en metode for å lese bygge.prop fra en app.

Det er mange grunner til at en apputvikler vil ha skrivebeskyttet tilgang til en enhet bygge.prop. Det være seg for å vite om programvare- eller maskinvarekonfigurasjonen, eller bare for å titte inn i et system innstillinger, å se på denne skattekisten av informasjon er potensielt ganske nyttig for en app utvikler. Å kreve root-tilgang for å gjøre det er imidlertid unødvendig både fra brukerproblemer og sikkerhetssynspunkter.

I et forsøk på å få tilgang til bygge.prop fra sin egen app uten å ty til root, XDA Forum-medlem torpedo mohammadi skrev et par linjer med kode og delte det med fellesskapet. Måten han går frem på kan oppsummeres i hans forklaring:

1. Lag en prosess som kjører "getprop" fra "/system/bin/getprop"-katalogen og initialiser strengen som vi ønsker å få (ro.board.platform i eksempel).

2. Lag en BufferedReader som får verdien (String) ved å hente dataene fra en inputStreamReader().

3.Konverter BufferedReader til streng.

Gå over til original tråd for å komme i gang, kopier koden og få den implementert i appen din.