2011-01-18 12 views
5

Sé que algunos métodos y algunas clases que se implementan en Android no se exportan al SDK público de Android. Pude crear una aplicación que usa algunas de estas funciones compilando mi aplicación colocándola dentro del árbol de Android. ¿Sería posible exportar estas funciones al SDK de Android compilando de nuevo las fuentes? ¿Cómo puede hacerse esto? ¿Puedo incluir clases y funciones personalizadas en el SDK de Android también (suponiendo, por supuesto, crear un nuevo SDK y un nuevo firmware)? Gracias!Modificar y volver a compilar el SDK de Android

Respuesta

1

Es posible descargar el SDK y realizar cambios en él.

Si está lanzando una aplicación pública, no debe usar ninguna API que no sea pública, ya que no existen garantías de que estén disponibles en todos los teléfonos, o en versiones futuras del sistema operativo.

+0

Estoy desarrollando un firmware que estoy compilando, así que tengo el control sobre esto. Pero de todos modos, hasta donde yo sé, las fuentes SDK están dentro del mismo árbol de las fuentes del sistema Android. Es posible compilar con un mm sdk. Y, de hecho, puedo hacer esto. Recopilé mi propio SDK. Pero, ¿cómo le hago cambios? ¿Qué clases compila? Lo mismo que se compilan al compilar el sistema? Pero entonces, ¿cómo es posible que algunas API no se exporten al SDK si los archivos de origen son los mismos? Puedo hacer cambios en el sistema y compilar el mío, ¿pero cómo puedo hacer esto con el SDK? ¡Gracias! –

+0

No estoy seguro de lo que quiere decir con "no exportado al SDK". ¿Puede dar un ejemplo? Creo que lo máximo que hacen es marcarlos para que no aparezcan en los documentos, pero aún así puedes acceder a ellos ... –

+0

Bueno, he visto esto algunas veces en el pasado. Ahora recuerdo dos ejemplos: la clase FileUtils, android.os.FileUtils, es utilizada por una aplicación como MediaProvider, pero no puedo encontrar documentación para ella ni puedo usar esa clase en un proyecto de Android en Eclipse. Otro ejemplo es que me gustaría poder agregar la posibilidad de instalar paquetes (con el método installPackage) en el SDK. Esto puede hacerlo la aplicación PackageManager, ya que está compilada en el sistema, pero no es posible con el SDK predeterminado (por razones de seguridad que no se aplican a mí, estoy creando el firmware). –

Cuestiones relacionadas