Autore Topic: Parsing del file build.prop (variabili custom)  (Letto 976 volte)

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
Parsing del file build.prop (variabili custom)
« il: 13 Febbraio 2011, 15:31:27 CET »
0
Salve ragazzi! Mi stavo chiedendo come fosse possibile estrapolare i dati presenti nel file build.prop, se queste variabili sono aggiunte manualmente al file. È possibile? Se sì, come?

Grazie :)

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Parsing del file build.prop (variabili custom)
« Risposta #1 il: 13 Febbraio 2011, 17:46:07 CET »
0
Mmm, hai provato con System.getProperty("tua.variabile.custom");?

Facci sapere se funziona...
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
Re:Parsing del file build.prop (variabili custom)
« Risposta #2 il: 14 Febbraio 2011, 12:17:09 CET »
+1
Non sembra funzionare. Questa è la variabile:

ro.romupdater.repository=http://mio/url

E questo è il test:
Codice: [Seleziona]
Log.i("TEST", "ro.romupdater.repository: "+System.getProperty("ro.romupdater.repository", "")); // nulla
Log.i("TEST", "ro.romupdater.repository: "+System.getProperty("romupdater.repository", "")); // nulla


EDIT: nel frattempo ho creato un build.prop parser semplice semplice... ma son sicuro che da qualche parte esista una classe che fa lo stesso :)
Codice: [Seleziona]
package org.elegosproject.romupdater;

import java.io.*;

public class BuildParser {
        private static String build_prop = "/system/build.prop";
       
        private static String readProperty(String prop) {
                File propFile = new File(build_prop);
               
                FileInputStream fis = null;
                BufferedInputStream bis = null;
                DataInputStream dis = null;
               
                try {
                        fis = new FileInputStream(propFile);
                        bis = new BufferedInputStream(fis);
                        dis = new DataInputStream(bis);
                        String buffer;
                       
                        while(dis.available() > 0) {
                                buffer = dis.readLine();
                                if(buffer.startsWith(prop))
                                        return buffer.substring(buffer.indexOf("=")+1);
                        }
                } catch (Exception e) {
                        e.printStackTrace();
                }
               
                return "";
        }
       
        public static String parseString(String prop) {
                return readProperty(prop);
        }
       
        public static Integer parseInt(String prop) {
                Integer result;
               
                try {
                        result = Integer.parseInt(readProperty(prop));
                } catch (Exception e) {
                        // not an integer
                        result = -1;
                }
                return result;
        }
}
« Ultima modifica: 14 Febbraio 2011, 13:17:53 CET da elegos »

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Parsing del file build.prop (variabili custom)
« Risposta #3 il: 14 Febbraio 2011, 14:46:12 CET »
0
Qui sembra esserci qualcosa di interessante (seconda risposta): Where is android.os.SystemProperties - Stack Overflow
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline elegos

  • Nuovo arrivato
  • *
  • Post: 44
  • Respect: +7
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Play Store ID:
    Giacomo Furlan
  • Sistema operativo:
    Mac OS X
Re:Parsing del file build.prop (variabili custom)
« Risposta #4 il: 14 Febbraio 2011, 16:35:32 CET »
0
uhm... l'avevo letto, ma avevo paura che fosse l'unica alternativa... Perché eseguire comandi esterni che non fanno altro che parsare il file? IMHO è molto meglio la classe direttamente allora... no? In ogni caso non capisco perché la classe sia stata nascosta, mentre non si richiedono particolari permessi per leggere /system/build.prop... mah!

Segno come risolto, ma aspetto eventuali critiche/miglioramenti :)