O que ' s realmente ' aplicativos de terceiros '?

Eu gostaria de saber o que é realmente aplicativos de terceiros no android. Enquanto eu me referia ao desenvolvimento do Android , ele diz que a camada do aplicativo consiste em:

  1. aplicativos nativos
  2. Aplicativos de terceiros
  3. Aplicativos de desenvolvedor

Sei que aplicativos de terceiros são aqueles que não são desenvolvidos pelo primeiro (provedor da sistema) conforme mencionado em aplicativos de terceiros . Mas acho que quando se trata de aplicativos de terceiros para Android e aplicativos de desenvolvedor são iguais, não é? Alguém poderia me ajudar .

Comentários

  • Eu honestamente não ' entender a separação entre aplicativos nativos de terceiros aplicativos e aplicativos (todos esses são aplicativos no meu dicionário). Como foi citado no livro (ao qual não poderíamos ' ter acesso a menos que o comprássemos), isso também explica a diferença entre eles, ou apenas menciona isso? Em caso afirmativo, você também poderia citar e adicioná-lo à pergunta?
  • @AndrewT.: Oh, desculpe. Na verdade, eram Apps para desenvolvedores e não Aplicativos conforme editei o post. Você poderia dizer se os aplicativos de terceiros diferem dos aplicativos de desenvolvedor. Conforme a resposta declarada por Izzy, ambos devem ser os mesmos porque nenhum dos dois foi desenvolvido pelo SO nem o fabricante .
  • Acho que, neste contexto, " aplicativos de desenvolvedor " significa aplicativos não instalados de nenhum " mercado " – mas aqueles que você mesmo escreve e instala por teste por meio das estruturas de desenvolvimento correspondentes. No contexto de " assinaturas " (veja minha resposta abaixo): AFAIK esses aplicativos são assinados com " chaves de desenvolvimento ", para que tenham novamente uma espécie de " assinatura especial ". Devo investigar mais a fundo para saber a diferença exata do ponto de vista ' de um usuário.

Resposta

Versão curta

Todos os aplicativos, exceto " SO e aplicativos do fabricante " significa " aplicativos de terceiros ".

TL; DR

Aplicativos de terceiros são aqueles fornecidos por um, hrm, terceiro. Embora os termos a seguir não existam, você pode visualizar isso da seguinte forma: Primário é aquele que fornece o SO (AOSP / Google), o segundo é o fabricante (adicionando seus próprios aplicativos).

Basicamente, isso pode ser lido como: Tudo que não veio pré-instalado. É assim que o termo " terceiro " normalmente é usado para 1 .

Formação técnica

Você encontra alguma formação técnica no sistema de permissão do Android. Se você navegar nas páginas relacionadas em desenvolvedores Android ou ver minhas permissões de aplicativos explicadas , para alguns permissões você encontrará a frase " não para uso por aplicativos de terceiros " (ou semelhante). Como o sistema decide o que torna um " aplicativo de terceiros "? Ele examina sua assinatura e a compara com as assinaturas do sistema operacional e dos fabricantes. Se a assinatura do aplicativo não corresponder a nenhuma das duas, é " aplicativo de terceiros ".

" Aplicativos para desenvolvedores "

Em sua pergunta, o foco era decidir entre " terceiros " e " aplicativos de desenvolvedor ". Basicamente, na prática, os aplicativos de desenvolvedor são um " subgrupo " de " terceiro aplicativos de " para festas. Conforme afirma a página do desenvolvedor correspondente , para facilitar a depuração de um aplicativo durante o desenvolvimento 3 , ele pode ser assinado " no modo de depuração ":

Você pode assinar um aplicativo em depuração ou lançamento modo. Você assina seu aplicativo no modo de depuração durante o desenvolvimento e no modo de lançamento quando estiver pronto para distribuir seu aplicativo. O Android SDK gera um certificado para assinar aplicativos no modo de depuração. Para assinar aplicativos no modo de liberação, você precisa gerar seu próprio certificado.

[…]

Você pode executar e depurar um aplicativo assinado em modo de depuração no emulador e em dispositivos conectados ao seu manchine de desenvolvimento por USB, mas não pode distribuir um aplicativo conectado modo de depuração.

Assim, " aplicativos de desenvolvedor " podem ser informado usando um " certificado de depuração " conhecido. Como afirma a fonte citada, isso não deve ser usado com " aplicativos lançados " (por exemplo, um desenvolvedor não deve publicar nenhum aplicativo assinado neste maneira) 2 .

Leituras adicionais


1: embora tecnicamente possa não estar totalmente correto (exemplo: neste contexto, como seria chamado um aplicativo que você instalou manualmente, quando era assinado com a mesma chave da própria ROM – ou seja, vinha do fabricante?)

2: Isso é por motivos de segurança. Os aplicativos podem ser capazes de acessar outros recursos “de aplicativos ao usar a mesma assinatura – um fato usado, por exemplo, por " addons " para aplicativos específicos escritos pelo mesmo desenvolvedor (como a fonte já nomeada , por exemplo, coloca: Android permite que aplicativos assinados pelo mesmo certificado sejam executados no mesmo processo, se o aplicativos assim solicitam, para que o sistema os trate como um único aplicativo. E: Android fornece aplicação de permissões baseadas em assinatura, para que um aplicativo possa expor a funcionalidade a outro aplicativo assinado com um certificado especificado. Ao assinar vários aplicativos com o mesmo certificado e usar verificações de permissões baseadas em assinatura, seus aplicativos podem compartilhar código e dados de maneira segura ). Usando " seu próprio " certificado protege " seu " aplicativo de ser acessado por " outro deve lopers “apps ".

3: AFAIK, você não pode instalar um " aplicativo não assinado ", então assiná-lo é obrigatório. Ao " assinar " um aplicativo, geralmente é necessário fornecer duas senhas (uma para o armazenamento de chaves que contém suas assinaturas e outra para a assinatura em si). Usando o " modo de depuração " assinatura, isso pode ser evitado, pois usa uma assinatura interna do SDK com uma senha conhecida pelo desenvolvedor Ferramentas. Isso torna a depuração muito mais fácil, já que você não precisa digitar as duas senhas repetidamente durante a " compilar ›teste› compilar ›teste novamente› .. " processo.

Comentários

  • : Isso ' uma boa resposta elaborada. Mas você poderia dizer se há alguma necessidade de assinar um aplicativo no modo de depuração .
  • Conforme descrito por minha resposta (atualizada novamente): " mais uma atualização ". Depois disso, vamos ' limpar nossos comentários (excluindo aqueles obsoletos por minhas atualizações na resposta), vamos?;)
  • : Ok. Mas você poderia me dizer o que realmente significa a assinatura de um aplicativo. Isso significa quem realmente o desenvolveu (seja ' s SO, fabricante) ou significa mais alguma coisa?
  • Isso ' está se aprofundando um pouco na parte técnica. Você pode querer consultar a Wikipedia para isso. Basicamente, significa quem assinou o aplicativo, que geralmente é o desenvolvedor.Tal como acontece com um papel sendo assinado por uma assinatura (escrita à mão), uma assinatura digital demonstra a autenticidade dos dados assinados (aqui o .apk).

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *