¿Qué ' son realmente ' aplicaciones de terceros '?

Me gustaría saber qué «son realmente aplicaciones de terceros en Android. Mientras me refería al desarrollo de Android , dice que la capa de aplicación consta de:

  1. Aplicaciones nativas
  2. Aplicaciones de terceros
  3. Aplicaciones para desarrolladores

Sé que las aplicaciones de terceros son aquellas que no son desarrolladas por la primera parte (proveedor de la system) como se menciona en aplicaciones de terceros . Pero creo que cuando se trata de aplicaciones de terceros para Android y aplicaciones para desarrolladores son las mismas, ¿no? ¿Alguien podría ayudarme? .

Comentarios

  • Honestamente, no pude ' entender la separación entre aplicaciones nativas, de terceros aplicaciones y aplicaciones (todas ellas son aplicaciones en mi diccionario). Como se cita en el libro (al que no podríamos ' acceder a menos que lo compremos), ¿también explica la diferencia entre ellos, o solo menciona esto? Si es así, ¿podría también citarlo y agregarlo a la pregunta?
  • @AndrewT.: Oh, lo siento. En realidad eran Aplicaciones para desarrolladores no Aplicaciones como edité la publicación. ¿Podrías decir si las aplicaciones de terceros difieren de las aplicaciones para desarrolladores? Como la respuesta indicada por Izzy, ambas deberían ser iguales porque ambas no están desarrolladas por el SO ni el fabricante .
  • Supongo que en este contexto, " aplicaciones para desarrolladores " significa aplicaciones que no se instalan desde ningún " market ", sino aquellas que usted mismo escribe y prueba-instala a través de los marcos de desarrollo correspondientes. En el contexto de " firmas " (vea mi respuesta a continuación): AFAIK, esas aplicaciones están firmadas con " claves de desarrollo ", por lo que nuevamente tienen una especie de " firma especial ". Sin embargo, debo investigar más a fondo para saber la diferencia exacta desde el punto de vista de un usuario '.

Respuesta

Versión corta

Todas las aplicaciones que no sean " OS y aplicaciones del fabricante " significa " aplicaciones de terceros ".

TL; DR

Las aplicaciones de terceros son las proporcionadas por un tercero, hrm. Aunque los siguientes términos no existen, puede visualizar esto de la siguiente manera: la primera parte es la que proporciona el sistema operativo (AOSP / Google), la segunda es el fabricante (agregando sus propias aplicaciones).

Básicamente, Esto se puede leer como: Todo lo que no vino preinstalado. Esto es lo que normalmente se usa el término " tercero " para 1 .

Antecedentes técnicos

Encontrará algunos antecedentes técnicos en el sistema de permisos de Android. Si navega por las páginas relacionadas en desarrolladores de Android o ve mi explicación de los permisos de la aplicación , para algunos permisos, encontrará la frase " no para uso de aplicaciones de terceros " (o similar). ¿Cómo decide el sistema qué hace que una " aplicación de terceros "? Observa su firma y la compara con las firmas del sistema operativo y de los fabricantes. Si la firma de la aplicación no coincide con ninguna de las dos, es un " aplicación de terceros ".

" Aplicaciones para desarrolladores "

En su pregunta, el enfoque era decidir entre " de terceros " y " aplicaciones " para desarrolladores. Básicamente, en la práctica, las aplicaciones para desarrolladores son más bien un " subgrupo " de " tercero party " aplicaciones. Como indica la página de desarrollador correspondiente , para facilitar la depuración de una aplicación durante el desarrollo 3 , se puede firmar " en modo de depuración ":

Puede firmar una aplicación en depuración o versión modo. Firma su aplicación en modo de depuración durante el desarrollo y en modo de lanzamiento cuando está listo para distribuir su aplicación. El SDK de Android genera un certificado para firmar aplicaciones en modo de depuración. Para firmar aplicaciones en el modo de lanzamiento, debe generar su propio certificado.

[…]

Puede ejecutar y depurar una aplicación firmada en modo de depuración en el emulador y en dispositivos conectados a su máquina de desarrollo a través de USB, pero no puede distribuir una aplicación que haya iniciado sesión modo de depuración.

Por lo tanto, " aplicaciones de desarrollador " pueden ser informado mediante un " certificado de depuración " conocido. Como indica la fuente citada, esto no debe usarse con " aplicaciones publicadas " (p. Ej., Un desarrollador no debe publicar ninguna aplicación firmada way) 2 .

Otras lecturas


1: aunque técnicamente podría no ser completamente correcto (ejemplo: en este contexto, ¿cómo se llamaría una aplicación que instaló manualmente, cuando firmado con la misma clave que la propia ROM, es decir, ¿venía del fabricante?)

2: Esto es por razones de seguridad. Las aplicaciones pueden acceder a los recursos de otras aplicaciones cuando usan la misma firma, un hecho que utilizan, por ejemplo, " addons " para aplicaciones específicas escritas por el mismo desarrollador (como la fuente ya nombrada , por ejemplo, dice: Android permite que las aplicaciones firmadas por el mismo certificado se ejecuten en el mismo proceso, si el las aplicaciones así lo solicitan, para que el sistema las trate como una sola aplicación. Y: Android proporciona la aplicación de permisos basados en firmas, de modo que una aplicación puede exponer la funcionalidad a otra aplicación que está firmada con un certificado específico. Al firmar varias aplicaciones con el mismo certificado y usar comprobaciones de permisos basadas en firmas, sus aplicaciones pueden compartir código y datos de manera segura ). Usando " su propio " certificado protege " tu " aplicación para que " otro deve lopers «apps ".

3: AFAIK, no puedes instalar una " aplicación sin firmar ", así que firmarla es imprescindible. Cuando " firma " una aplicación, normalmente se deben proporcionar dos contraseñas (una para el almacén de claves que contiene sus firmas y otra para la firma sí mismo). Si se utiliza la firma en " modo de depuración ", esto se puede evitar, ya que utiliza una firma interna del SDK con una contraseña conocida por el desarrollador instrumentos. Esto hace que la depuración sea mucho más fácil, ya que no tienes que escribir las dos contraseñas una y otra vez durante la " compilar ›probar› compilar ›probar nuevamente› .. " proceso.

Comentarios

  • : Eso ' es una buena respuesta elaborada. Pero, ¿podría decirnos si hay alguna necesidad de firmar una aplicación en modo de depuración ?
  • Como se describe en mi respuesta (nuevamente actualizada): " facilita la depuración de una aplicación durante el desarrollo ". Yo ' incluiré un poco de información sobre eso con " otra actualización más ". Después de eso, dejemos que ' limpiemos nuestros comentarios (eliminando los obsoletos por mis actualizaciones de la respuesta), ¿de acuerdo?;)
  • : Está bien, pero ¿podría decirme qué significa realmente la firma de una aplicación. quién lo desarrolló realmente (ya sea ' s SO, fabricante) o significa algo más?
  • Eso ' va un poco más profundo en la parte técnica. Es posible que desee consultar Wikipedia para esto. Básicamente, significa quién firmó la aplicación, que normalmente es el desarrollador.Al igual que con un documento que se firma con una firma (escrita a mano), una firma digital demuestra la autenticidad de los datos firmados (aquí, .apk).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *