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:
- aplicativos nativos
- Aplicativos de terceiros
- 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
- Verificação de assinatura do aplicativo: como funciona, Como desabilitá-lo com o Xposed e por que você não deveria
- Vulnerabilidade do Android Fake ID permite que o malware se faça passar por aplicativos confiáveis ( descreve um bug explorado para contornar a proteção de assinatura, permitindo que qualquer aplicativo se faça passar por " assinado pelo sistema operacional ou fabricante ", o que foi corrigido, por exemplo com Kitkat)
- Mecanismo de assinatura do Android (descreve a diferença entre " mecanismo de assinatura de ROM " e " Mecanismo de assinatura de APK de terceiros ")
- Assinatura digital (contexto geral do que é uma assinatura digital e como funciona)
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
).