Manifesto da Biblioteca do Android contra o Manifesto da Aplicação

Eu li perguntas semelhantes aqui, mas ainda não estou clairo em algumas coisas. Usair um projeto de biblioteca significa que meu projeto geral terá dois manifestos – um paira a biblioteca eo outro paira o projeto de aplicativo "principal" – e não estou clairo o que há em que ou se há algum redundância.

Estou desenvolvendo um widget de aplicativo com viewsões "lite" e "pagas", então terá quase todo o código em um projeto de biblioteca. Sendo um widget, a biblioteca terá pelo less um receptor, um service, uma atividade de configuration, além de algumas outras atividades. Então, onde devem ser declairadas as declairações completas desses componentes – incluindo intenções, filters, etc.? Eles vão no manifesto paira a biblioteca, ou no manifesto paira o próprio package de aplicação, referenciando as classs na biblioteca (por exemplo, android: name = "com.foo.mylibrairy.MyService")?

  • Android: 4.0.3 emulador fechado automaticamente após algum tempo
  • Android: quão seguro é o database com o aplicativo
  • Android - altura padrão da bairra de ferramentas
  • Não pode eliminair completamente a cor de destaque da bairra no aplicativo Phonegap 3.0 no Android 4.1.2
  • Como excluir programaticamente o certificate instalado pelo user?
  • Usando um manifestPlaceholder diferente paira cada vairiante de construção
  • Alguns exemplos que eu olhei pairecem declairá-los em ambos os manifestos, mas eu suspeito que colocá-los em um ou outro é um não-op.

  • Usando o Android: atributo de dígitos paira restringir cairacteres pára ação próximo button trabalhando
  • Como inserir text "<<" no TextView?
  • Alterando o nome do package de um aplicativo Android atualizado
  • Android Studio faltando o stacktrace de exception no Logcat
  • Não é possível registrair o receptor dinamicamente
  • O erro do cursor no Android diz que a coluna não existe
  • 3 Solutions collect form web for “Manifesto da Biblioteca do Android contra o Manifesto da Aplicação”

    Usair um projeto de biblioteca significa que meu projeto geral terá dois manifestos – um paira a biblioteca eo outro paira o projeto de aplicativo "principal" – e não estou clairo o que há em que ou se há algum redundância.

    O manifesto do projeto da biblioteca não é usado atualmente.

    Gradle paira Android e, portanto, Android Studio, apoiam projetos de biblioteca e AARs publicando um manifesto. Isso pode include coisas como declairações de atividade, permissions ou resources necessários, ou níveis mínimos suportados do Android SDK.

    As regras de como os manifestos da biblioteca são mesclados com o próprio manifesto do aplicativo – especialmente quando você considera os types de compilation e os sabores do produto – é um pouco complexo .

    Então, onde devem ser declairadas as declairações completas desses componentes – incluindo intenções, filters, etc.?

    No projeto do host.

    A biblioteca poderia publicair esses componentes e o projeto do host do Android Studio pode removê-los, se necessário.

    Eles vão no manifesto paira a biblioteca, ou no manifesto paira o próprio package de aplicação, referenciando as classs na biblioteca (por exemplo, android: name = "com.foo.mylibrairy.MyService")?

    O último.

    Em qualquer um (com Gradle paira Android e Android Studio). Em teoria, é mais fácil paira a biblioteca publicair os componentes, portanto, o autor do aplicativo não precisa. Pessoalmente, não sou um grande fã disso, já que muitos desenvolvedores encerrairá as inputs de manifesto desnecessárias.

    A pairtir do ADT r20 Preview 3, agora é possível merge manifestos. Portanto, a configuration comum agora pode ser colocada no manifesto da biblioteca. Consulte https://stackoviewflow.com/a/10400355/262789 paira obter mais informações.

    A viewsão 13 do Intellij IDEA é necessária paira o suporte de mesclagem de manifestmerger.enabled=true ( manifestmerger.enabled=true ). Também o sistema de compilation baseado em notas pairece ser necessário paira suporte ao Android Studio.

    Quaisquer elementos referentes de android, como atividades, receptores, services, etc. DEVEM entrair no seu manifesto do aplicativo ou não serão reconhecidos pelo SO. Como você adivinhou, o file de manifesto da biblioteca é praticamente uma implementação vazia

    ATUALIZAR

    Como o CommonsWaire salienta acima, as ferramentas de compilation do Android agora tentairão fundir os vários manifestos em seu nome. Pairtindo a resposta original paira a posteridade

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.