2014-09-08 15 views
5

Sto sviluppando l'SDK e vorrei utilizzare l'annotazione @hide per metodi/classi che non desidero essere visibile per l'utente che utilizza il mio SDK. (come in Activity implementation - line 3898)Android - come aggiungere annotazione @hide nel mio progetto

Ho provato solo ad aggiungere l'annotazione @hide ma ho visto che non succede nulla. Cosa dovrei fare per usare @hide annotation/o qualsiasi altra soluzione simile per incapsulare le classi/metodi del mio SDK interno.

risposta

5

In Android SDK, l'annotazione @hide viene utilizzata solo quando si crea la versione stub di android.jar. Al momento della compilazione, i simboli vengono importati da questo stub jar e sono disponibili solo simboli non nascosti. Durante il runtime nel dispositivo o nell'emulatore, i simboli sono presenti nelle librerie della piattaforma e possono essere visualizzati ad esempio tramite la riflessione.

Se il tuo SDK consiste solo di un file jar o qualcosa di simile, non c'è davvero un modo per nascondere i simboli al suo interno.

+13

Quindi, cosa posso fare se voglio incapsulare il mio SDK, quindi i miei utenti non vedranno tutte le classi e i metodi che uso all'interno del mio SDK? – galvan

Problemi correlati