2011-01-18 16 views
5

So che alcuni metodi e alcune classi implementate in Android non vengono esportati nell'SDK pubblico di Android. Sono stato in grado di creare un'applicazione che utilizza alcune di queste funzioni compilando la mia applicazione posizionandola all'interno dell'albero di Android. Sarebbe possibile esportare queste funzioni su Android SDK ricompilandolo dalle fonti? Come si può fare? Posso includere anche classi e funzioni personalizzate nell'SDK di Android (supponendo ovviamente che creo un nuovo SDK e un nuovo firmware)? Grazie!Modifica e ricompilazione dell'SDK Android

risposta

1

È possibile scaricare l'SDK e apportare modifiche ad esso.

Se si sta pubblicando un'app pubblica, non utilizzare API non pubbliche in quanto non ci sono garanzie che saranno disponibili su tutti i telefoni o nelle versioni future del sistema operativo.

+0

Sto sviluppando per un firmware che sto compilando, quindi ho il controllo su questo. Ma comunque, per quanto ne so, le sorgenti SDK si trovano nello stesso albero delle sorgenti del sistema Android. È possibile compilare con un sdk mm. E infatti posso farlo. Ho compilato il mio SDK. Ma come posso apportare modifiche ad esso? Quali classi compila? Gli stessi che vengono compilati durante la compilazione del sistema? Ma allora, come è possibile che alcune API non vengano esportate nell'SDK se i file di origine sono uguali? Sono in grado di apportare modifiche al sistema e compilare il mio, ma come farlo invece con l'SDK? Grazie! –

+0

Non sono sicuro di cosa intendi con "non esportato nell'SDK". Puoi fare un esempio? Penso che il massimo che fanno sia contrassegnarli nascosti in modo che non compaiano nei documenti, ma puoi comunque accedervi .. –

+0

Beh, l'ho visto alcune volte in passato. Ora ricordo due esempi: la classe FileUtils, android.os.FileUtils, è usata da un'applicazione come MediaProvider, ma non riesco a trovare la documentazione per esso né posso usare quella classe in un progetto Android in Eclipse. Un altro esempio è che vorrei poter aggiungere la possibilità di installare pacchetti (con il metodo installPackage) nell'SDK. Questo può essere fatto dall'applicazione PackageManager poiché è compilato nel sistema ma non è possibile con l'SDK predefinito (per ragioni di sicurezza che non si applicano a me che sto creando il firmware). –

Problemi correlati