CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: Varioflex con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 14 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 35 Thanks ricevuti nell'ultimo mese

Pagina 1 di 36 12311 ... ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 359
Discussione:

KitKat e le memorie SD esterne, facciamo chiarezza

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano


    Registrato dal
    May 2013
    Messaggi
    146

    Ringraziamenti
    5
    Ringraziato 110 volte in 39 Posts
    Predefinito

    KitKat e le memorie SD esterne, facciamo chiarezza

    Quote Originariamente inviato da lo Staff
    Premessa di partecipazione al thread:

    L'utente StarKnight, nella spiegazione qui sotto, è stato molto dettagliato, quindi vi chiediamo di leggerla con molta attenzione, evitando di postare domande alle quali ci sono già delle risposte
    Inoltre, onde evitare di appesantire il topic con lamentele sterili del tipo
    "Io cambio telefono; Ma google che vuole?; Che schifezza di aggiornamento; Etc..Etc.."!
    Vi chiediamo di evitarle, così da poter discutere sulla nuova impostazione ed eventuali novità in merito.

    Ringraziamo per la collaborazione a mantenere vivo lo scopo del thread.

    Poiché leggo un po' ovunque di persone che hanno aggiornato a KitKat (per ora con ROM non ufficiali) e non riescono più ad accedere in scrittura alla propria scheda SD esterna apro questo thread per fare un po' di chiarezza. Lo apro in questa sezione perché riguarda trasversalmente tutti i modelli di S4 (Google Edition inclusa) e riguarderà anche quelli venduti da noi quando usciranno i firmware ufficiali per l'Italia e gli utenti inizieranno a fare l'aggiornamento ignari di come sono cambiate le cose.

    Inizio spiegando come Android fin dalle sue origini considera gli spazi di memorizzazione.

    Fin dalla prima versione (1.0) esistono sostanzialmente due memorie: Interna ed esterna.
    La prima è esclusivamente interna al dispositivo ed è, solitamente, limitata a qualche centinaio di MB. Tecnicamente parlando è la partizione dati (/data) ed è quella in cui solitamente vengono installate le applicazioni, in particolar modo quelle che hanno parti di codice che dev'essere sempre disponibile fin dall'avvio (services, widgets, live wallpaper ecc...). In essa le applicazioni possono anche salvare dei file tenendo però conto che lo spazio a disposizione è abbastanza limitato.
    La seconda nei primi dispositivi Android era costituita dall'eventuale scheda SD esterna e per questo motivo mediante un link simbolico è stata comunemente resa accessibile alle applicazioni sotto il path "/sdcard". Con l'evoluzione degli smarthpone i produttori hanno iniziato ad integrarla nei dispositivi (i famosi 16Gb/32Gb/64Gb) non più rimovibile ma agli occhi di Android e delle applicazioni essa è come se fosse ancora una memoria "esterna". Sotto di essa le applicazioni sono solite memorizzare i dati "pesanti" quali mappe dei navigatori, foto, video, registrazioni sonore, documenti e quant'altro. Esiste una speciale directory al suo interno che si chiama "Android" sotto la quale ciascuna applicazione dispone di uno spazio "personale" per memorizzare i propri file privati (file), dati emporanei (cache) o dati di altro tipo solitamente di grosse dimensioni (obb) e che si presume non siano accessibili alle altre applicazioni.

    Fin dalle API 1.0 l'accesso in scrittura alla memoria interna da parte delle applicazioni è sempre stato limitato al solo spazio dedicato all'applicazione stessa (/data/data/nome.della.applicazione/) mentre in lettura salvo avere i permessi di root è limitato ad una manciata di file e directory pubblicamente accessibili in lettura e null'altro.
    L'accesso in scrittura alla (eventule) memoria esterna era anch'esso limitato alla sola directory destinata all'app (/sdcard/Android/data/nome.della.applicazione/) ma le applicazioni possono richiedere due particolari permessi: WRITE_EXTERNAL_STORAGE e READ_EXTERNAL_STORAGE per poter scrivere e leggere (o solo leggere) qualsiasi file in essa presente.

    Alcuni produttori hanno poi iniziato a fornire l'accesso ad altre memorie "esterne" quali schede SD o dispositivi USB connessi tramite cavetto OTG. L'accesso a tali memorie non è mai stato molto chiaro da parte di Google che, per ragioni difficilmente comprensibili ma si suppone legate ai suoi servizi di cloud, non ha mai amato le schede SD e i dispositivi di memorizzazione esterni agli smartphone. Le specifiche di Android in tal senso hanno sempre fatto riferimento ad un particolare permesso: WRITE_MEDIA_STORAGE senza il quale nessuna applicazione dovrebbe poter accedere in scrittura a suddetti dispositivi. Peccato che tale permesso possa venire concesso solo alle applicazioni di sistema (per intenderci quelle di base più quelle fornite dai singoli produttori). Per consentire anche alle altre applicazioni (Dropbox, Tom Tom, file manager, programmi vari) di accedervi in scrittura i singoli produttori fa cui Samsung hanno arbitrariamente deciso di concedere tale permesso alle applicazioni che richiedono il permesso di WRITE_EXTERNAL_STORAGE e che, ricordo, stando a Google dovrebbe essere limitato alla sola memoria esterna "integrata" e non a quelle rimovibili.

    Questo fino all'arrivo di KitKat...

    Con KitKat sempre per ragioni poco logiche e comprensibili Google ha praticamente ordinato a tutti i produttori di dispositivi Android di attenersi rigorosamente ad una regola: il permesso di WRITE_EXTERNAL_STORAGE deve concedere l'accesso in scrittura solo alla prima memoria esterna (quella integrata per intenderci) e non a quelle esterne. E con quelle esterne, direte voi ?
    Fin dalle prime API esistono due metodi a disposizione degli sviluppatori per sapere quali sono gli spazi "riservati" dal sistema alle proprie applicazioni (quindi non pubblici). Questi sono principalmente "getFilesDir" per la memoria interna e "getExternalFilesDir" per la prima memoria esterna (/sdcard). Sotto tali percorsi le applicazioni possono sempre scrivere e leggere i propri dati senza richiedere permessi particolari. Le altre applicazioni non possono accedervi e quando un'app viene rimossa anche i propri dati vengono rimossi. Con KitKat sono state introdotte nuove API fra cui "getExternalFilesDirs" (notare il plurale) che funziona esattamente come "getExternalFilesDir" ma anziché un solo percorso fornisce più percorsi uno per ciascuna memoria "esterna". Le regole rimangono invariate, solo sotto tali percorsi privati le applicazioni potranno scrivere e leggere i propri file. Questo include, quindi, anche le memorie SD esterne. Tutti gli altri file presenti in tali memorie SD esterne potranno ancora essere letti ma non si potrà ne cancellarli ne modificarli o crearne di nuovi.

    Per semplicità riassumerò quindi i vari casi:

    Dispositivi con firmware < 4.4 (precedenti a KitKat)

    • Le applicazioni di sistema o fornite dal produttore (es. App Archivio) possono accedere in lettura e scrittura a tutte le memorie sia interne che esterne ad esclusione dei file di sistema, quelli privati delle singole app o protetti.
    • Le applicazioni non di sistema (non importa se pre-installate come Dropbox o installate dallo Store) possono:
      1. Accedere in lettura e scrittura alla memoria interna solo nel proprio spazio personale, come restituito dal metodo "getFilesDir"
      2. Accedere in lettura e scrittura alla memoria esterna principale (integrata) solo nel proprio spazio personale, come restituito dal metodo "getExternalFilesDir", oppure accedere in lettura e scrittura a qualsiasi file tranne quelli privati/protetti se richiedono i permessi "READ_EXTERNAL_STORAGE" o "WRITE_EXTERNAL_STORAGE"
      3. Accedere in lettura e scrittura alla scheda SD esterna a qualsiasi file tranne quelli privati/protetti se richiedono i permessi "READ_EXTERNAL_STORAGE" o "WRITE_EXTERNAL_STORAGE" (come arbitrariamente deciso dai singoli produttori fra cui Samsung)


    Dispositivi con firmware >= 4.4 (da KitKat in poi salvo ulteriori cambiamenti)

    • Le applicazioni di sistema o fornite dal produttore (es. App Archivio) possono accedere in lettura e scrittura a tutte le memorie sia interne che esterne ad esclusione dei file di sistema, quelli privati delle singole app o protetti.
    • Le applicazioni non di sistema (non importa se pre-installate come Dropbox o installate dallo Store) possono:
      1. Accedere in lettura e scrittura alla memoria interna solo nel proprio spazio personale, come restituito dal metodo "getFilesDir"
      2. Accedere in lettura e scrittura alla memoria esterna principale (integrata) solo nel proprio spazio personale, come restituito dal metodo "getExternalFilesDir", oppure accedere in lettura e scrittura a qualsiasi file tranne quelli privati/protetti se richiedono i permessi "READ_EXTERNAL_STORAGE" o "WRITE_EXTERNAL_STORAGE"
      3. Accedere in lettura e scrittura alla scheda SD esterna solo nel proprio spazio personale, come restituito dal nuovo metodo "getExternalFilesDirs" mentre l'accesso a qualsiasi altro file pubblico o privato che sia è consentito solo in lettura. Non esistono, ad oggi, permessi che possono essere richiesti da tali applicazioni per aggirare questa pesante limitazione!!!


    La conseguenza più ovvia è che programmi come Sygic che fino ad oggi hanno fatto uso di una propria directory chiamata Sygic sotto la root della memoria che si intende usare potranno funzionare solo se questa si troverà nella memoria interna mentre su quella SD esterna avranno solo accesso in lettura. Per continuare a funzionare dovranno memorizzare i propri dati (es. mappe) esclusivamente nel proprio spazio privato (/storage/extSdCard/Android/data/nome.della.applicazione/) e da nessun'altra parte. Così come un programma di fotoritocco che aprirà una foto che avete salvato sulla SD esterna non potrà modificarla e salvarla nella stessa posizione ma dovrà chiedervi una nuova posizione nella memoria interna.

    Spero ora di aver chiarito meglio la (poco piacevole) situazione e se aggiornerete a KitKat anche con firmware ufficiali saprete a cosa andate incontro. Inutile protestare con Samsung... le decisioni le ha prese Google ed i produttori possono scegliere o di continuare a fare di testa loro consentendo accesso non ristretto alle SD esterne (magari altre marche faranno così) oppure rispettare le richieste di Google. Ovviamente chi se ne frega della garanzia può sempre andare di rooting ed in rete già esistono soluzioni per "ripristinare" il comportamento precedente a KitKat.

    AL SECONCO POST TROVATE UNA SERIE DI DOMANDE/RISPOSTE AI DUBBI PIU' COMUNI SU QUESTO ARGOMENTO, LEGGETELE CON ATTENZIONE PRIMA DI FARE DOMANDE
    Ultima modifica di dieguccio; 01-03-14 alle 17:17

  2. I seguenti 37 Utenti hanno ringraziato StarKnight per il post:

    Altatensione (31-10-14),carmilla81 (27-02-14),devadip (23-03-14),dgls82 (12-03-14),drastic77 (08-04-14),dyingsun (27-02-14),eddie84 (14-03-14),FerraristaXXL (09-07-14),Fulvio961 (02-11-14),gaglioffo (18-03-14),Gargarospo (29-07-14),GB ego sum (06-03-14),grillovirante (10-10-14),jacomail95 (28-02-14),JohnFire (10-03-14),kRel (15-03-14),leosoft (08-03-14),losteagle (05-03-14),lucatec (05-03-14),mario5588 (27-02-14),mike78 (05-03-14),myname75 (21-08-14),optimus77 (08-03-14),PAsan (06-03-14),PeppeFreeze (25-03-14),pinofz1 (05-03-14),prolix (27-02-14),proximo79 (27-02-14),riccardoPolaris (28-02-14),SamuGio (13-03-14),Sartolo (28-02-14),saves (06-03-14),sghi73 (07-03-14),speedyranger (28-02-14),Stevenb (03-07-14),superbere (27-06-14),xandrew92 (27-02-14)

  3.  
  4. #2
    Androidiano


    Registrato dal
    May 2013
    Messaggi
    146

    Ringraziamenti
    5
    Ringraziato 110 volte in 39 Posts
    Predefinito

    FAQ
    Alcune domande Frequenti



    Vi metto qui di seguito un elenco di domande/risposte ai dubbi più comuni inerenti questo argomento così da evitare che il topic si riempia con le stesse domande.

    D: Ho un Galaxy S4 originale mai modificato. Il problema riguarderà anche me installando la ROM di KitKat ufficiale ?
    R: Sì. La direttiva è partita da Google e Samsung sembra averla recepita con tutti gli aggiornamenti a KitKat. Ciò non toglie che in futuro con aggiornamenti Samsung o Google stessa decidano di tornare sui propri passi o, meglio ancora, implementare nuovi permessi per concedere libero accesso alle applicazioni che ne fanno richiesta.

    D: Ho le mie foto/musiche/documenti sulla scheda SD esterna. Con KitKat le mie applicazioni funzioneranno ancora?
    R: Se le applicazioni devono solo leggere tali dati sì, funzioneranno come sempre. Nel momento in cui, però, avessero la necessità di spostare, modificare o creare nuovi file verrebbe loro negata tale funzionalità a meno che questo non avvenga nel proprio spazio privato assegnato da Android. Applicazioni che gestiscono dati che non necessitano di essere condivisi con altre applicazioni (es. le mappe dei navigatori, le textures e i livelli in 3D dei giochi ecc...) potrebbero salvare tali dati nel proprio spazio privato, i rispettivi autori dovranno adeguarle in tal senso.

    D: Potrò continuare a salvare le mie foto sulla scheda SD esterna ?
    R: Sì ma solo usando l'applicazione "Fotocamera" di Samsung fornita con l'S4. Qualsiasi altra applicazione che scatta foto o registra video scaricata dallo Store potrà farlo solo nella memoria interna oppure nel proprio spazio privato della SD Esterna ma in quest'ultimo caso altre applicazioni non sarebbero in grado ne di vederle ne di modificarle.

    D: Ho sentito di alcune applicazioni quali "ES File Explorer" che riescono a scrivere sulle SD esterne, hanno trovato un metodo?
    R: Non è ben chiaro come alcuni sviluppatori abbiano aggirato il problema ma qualunque sia il metodo usato non è un metodo previsto da Google e come tutti gli exploit potrebbe non funzionare su tutte le rom o dopo eventuali aggiornamenti.

    D: Per liberare spazio spostavo le mie applicazioni sulla SD esterna, con KitKat non potrò più farlo?
    R: La possibilità di spostare parzialmente o interamente il codice eseguibile ed annessi dati (immagini, stili, stringhe di testo ed altro) necessari al funzionamento delle applicazioni è un'operazione gestita dal sistema operativo stesso che Google ha introdotto con Froyo e rimosso negli smartphone più recenti in quanto la memoria estesa interna è divenuta quella di default dove installare le applicazioni. Samsung ha re-introdotto questa funzionalità già con i primi aggiornamenti del 4.2 per gli S4. Poiché gestita da Android continua a funzionare con le stesse modalità ed i limiti di sempre (alcune app non possono essere spostate o solo una parte di esse per ragioni tecniche che non sto a spiegarvi in questa sede).

    D: Questa limitazione riguarda anche le memorie ed i dispositivi esterni (es. macchine fotografiche) connessi tramite cavetto USB OTG ?
    R: No, i dispositivi di memorizzazione USB connessi tramite cavetto OTG continueranno ad essere liberamente accessibili sia in lettura che scrittura da qualsiasi applicazione. La limitazione riguarda solo la memoria esterna MicroSD inserita nel dispositivo.

    D: Se collego il mio S4 al PC tramite cavo USB vedrò ancora la SD esterna ?
    R: Sì, essendo una funzione gestita da Android rimane tutto come prima. Potrai continuare a vedere tutte le cartelle ed i file così come potrai modificarli, spostarli o cancellarli.

    D: Del Knox e della garanzia non sono interessato. Con il rooting o una rom custom 4.4 avrò lo stesso problema?
    R: Le rom custom con KitKat stanno già provvedendo (o hanno provveduto come la Cyano) a ripristinare pieno accesso alla scheda SD. Rimanendo a quelle ufficiali Samsung mediante rooting si possono ripristinare i vecchi permessi ma l'operazione presenta ancora qualche inconveniente. Questo non è il thread in cui parlare di modding ma sui forum come XDA vi sono thread dedicati a questo argomento.

    D: Sembra essere tutto poco chiaro ed in rete se ne parla poco. Esiste qualcosa di ufficiale?
    R: Sì. Sebbene all'argomento non sembra sia stato dato (ancora) il giusto peso Google definisce in maniera precisa ed ufficiale sul sito per gli sviluppatori quali sono le regole a cui devono attenersi. Lo trovate (in lingua inglese) QUI. In particolare leggete il paragrafo "Multiple external storage devices".
    Ultima modifica di StarKnight; 22-03-14 alle 07:52

  5. I seguenti 12 Utenti hanno ringraziato StarKnight per il post:

    Altatensione (31-10-14),drastic77 (08-04-14),eddie84 (14-03-14),Gargarospo (29-07-14),leodis (24-03-14),losteagle (05-03-14),lucatec (05-03-14),misterblonde (09-07-14),optimus77 (08-03-14),PAsan (06-03-14),saves (06-03-14),sghi73 (19-04-14)

  6. #3
    Androidiano


    Registrato dal
    Mar 2012
    Messaggi
    97

    Ringraziamenti
    2
    Ringraziato 9 volte in 6 Posts
    Predefinito

    Spero che i mod mettano in evidenza questo post!!

    Perchè cavolo Google mi deve obbligare a comprare un telefono con 32/64gb quando con 20/30 posso comprare una microsd???????????

    Spero che Samsung lanci Tizen e mandi a quel paese i dittatori di Google che sta diventando come la MS

    E dopo questa VACCATA di google prendo seriamente in considerazione altre piattaforme......
    Ultima modifica di mario5588; 27-02-14 alle 11:28

  7. #4
    Administrator L'avatar di Anna


    Registrato dal
    Jun 2011
    Messaggi
    36,924

    Ringraziamenti
    1,959
    Ringraziato 14,518 volte in 9,621 Posts
    Predefinito

    In evidenza no, ma potrebbe essere messo nella raccolta delle discussioni utili. Vedremo con il tempo
    Sono un clown, e faccio collezione di attimi ....


    Sto guidando. (cit. DIEGUCCIO)

  8. #5
    Androidiano VIP L'avatar di dyingsun


    Registrato dal
    Apr 2010
    Località
    Scarperia (FI)
    Messaggi
    1,066
    Smartphone
    P20 Pro-Vivo X21UD-Poco F1

    Ringraziamenti
    7
    Ringraziato 177 volte in 150 Posts
    Predefinito

    Grazie davvero... Thread FANTASTICO! Sinceramente ho avuto diversi problemi con kitkat perché Foldermount sembra non funzionare correttamente... Anzi, fa dei casini immani (mi è toccato fare il wipe)

    Inviato dal mio LT30p usando Androidiani App
    HUAWEI P20 PRO - VIVO X21UD - POCOPHONE F1 - HUAWEI MEDIAPAD M3
    • Se sono stato utile non scriverlo, premi THANKS!
    • Ricorda sempre l'educazione. Nessuno viene pagato per aiutarti, se non ti rispondo subito non ti allarmare, ho una vita sociale: porta fuori la ganza e con calma ricontrolla.


  9. #6
    Senior Droid L'avatar di spaeter


    Registrato dal
    Dec 2010
    Messaggi
    373

    Ringraziamenti
    55
    Ringraziato 14 volte in 13 Posts
    Predefinito

    Quote Originariamente inviato da dyingsun Visualizza il messaggio
    Grazie davvero... Thread FANTASTICO! Sinceramente ho avuto diversi problemi con kitkat perché Foldermount sembra non funzionare correttamente... Anzi, fa dei casini immani (mi è toccato fare il wipe)

    Inviato dal mio LT30p usando Androidiani App
    quindi, anche con il root, non c'è soluzione al problema di scrittura delle apk non di sistema nella sd esterna?

    presumo che la memoria interna finisca prestissimo....
    Galaxy S Plus i9001
    Rom Stock

  10. #7
    Androidiano L'avatar di kaynn


    Registrato dal
    Sep 2012
    Messaggi
    149

    Ringraziamenti
    37
    Ringraziato 26 volte in 24 Posts
    Predefinito

    Quote Originariamente inviato da dyingsun Visualizza il messaggio
    Grazie davvero... Thread FANTASTICO! Sinceramente ho avuto diversi problemi con kitkat perché Foldermount sembra non funzionare correttamente... Anzi, fa dei casini immani (mi è toccato fare il wipe)

    Inviato dal mio LT30p usando Androidiani App
    che casini ti fa foldermount? io l'ho installato e mi da nuovamente la possibilità di fare un backup con titanium sulla sd esterna.

  11. #8
    Androidiano


    Registrato dal
    May 2013
    Messaggi
    146

    Ringraziamenti
    5
    Ringraziato 110 volte in 39 Posts
    Predefinito

    Attenzione a non confondere la funzionalità re-introdotta da Samsung e funzionante anche con KitKat di poter spostare alcune applicazioni (o parte di esse) sulla SD esterna con il permesso da parte delle applicazioni di poter scrivere sulla SD esterna. Sono due cose diverse. Il codice eseguibile ed i file necessari al suo funzionamento possono anche essere parzialmente o interamente installati o spostati sulla memoria esterna (per essere precisi solo le parti di codice che non devono essere disponibili al boot del sistema) ma quando l'applicazione viene eseguita con KitKat questa non può più creare o modificare file e directory sulla SD esterna tranne che all'interno del proprio spazio riservato.

  12. #9
    Androidiano L'avatar di xandrew92


    Registrato dal
    Jun 2013
    Località
    Napoli
    Messaggi
    113
    Smartphone
    Oneplus 5

    Ringraziamenti
    41
    Ringraziato 19 volte in 13 Posts
    Predefinito

    Quote Originariamente inviato da StarKnight Visualizza il messaggio
    Attenzione a non confondere la funzionalità re-introdotta da Samsung e funzionante anche con KitKat di poter spostare alcune applicazioni (o parte di esse) sulla SD esterna con il permesso da parte delle applicazioni di poter scrivere sulla SD esterna. Sono due cose diverse. Il codice eseguibile ed i file necessari al suo funzionamento possono anche essere parzialmente o interamente installati o spostati sulla memoria esterna (per essere precisi solo le parti di codice che non devono essere disponibili al boot del sistema) ma quando l'applicazione viene eseguita con KitKat questa non può più creare o modificare file e directory sulla SD esterna tranne che all'interno del proprio spazio riservato.
    Aspetta un secondo, quindi tu stai dicendo che quello che ha fatto Samsung (spostare una parti di dati delle app già installate su SD) è ancora possibile con la 4.4.2 ? Onestamente non ci sto capendo nulla, tu dici di sì (o ho capito io una cosa per un'altra) c'è invece chi dice di no.. :\

  13. #10
    Senior Droid L'avatar di dylan_tp


    Registrato dal
    Oct 2011
    Località
    Trapani
    Messaggi
    989
    Smartphone
    Samsung galaxy S7

    Ringraziamenti
    85
    Ringraziato 101 volte in 87 Posts
    Predefinito

    Infatti non se ne sta capendo nulla,perchè c'è chi dice che le app sulla sd esterna ora non girano più.
    Ci vorrebbe un pò più di chiarezza in merito.

Pagina 1 di 36 12311 ... ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy