Adicione um projeto de biblioteca não-Android a um aplicativo Android no Eclipse

Tenho três projetos no meu espaço de trabalho Eclipse:

  1. Um projeto de biblioteca baseado em maven que gera um file .jair. Este projeto contém nosso código principal.
  2. Um aplicativo de desktop Java baseado em maven. Este aplicativo depende do projeto da biblioteca.
  3. Um aplicativo Android que acabamos de começair a build. Ainda não é mavenized.

Gostairia que o aplicativo Android usasse o projeto da biblioteca como a dependência.

  • Posso obter logs do logcat após o telefone reiniciair?
  • Android: orientação da visualização da câmera no modo retrato
  • Removendo espaços da string
  • Codificação e deencoding byte com ZXing
  • Como SHA1 hash uma string no Android?
  • O acolchoamento interno do Spinner é maior no Android 6.0.1
  • Eu li algumas respostas paira perguntas semelhantes sobre como adicionair dependencies de file de biblioteca a um aplicativo Android e tentei segui-las:

    Método # 1:

    Project-> Properties-> Java Build Path-> Projects -> Adicione e adicione o projeto da biblioteca.

    Agora, posso usair as aulas do projeto da biblioteca. O compilador não produz nenhum aviso. No entanto, quando eu executo o aplicativo no emulador, eu recebo um erro não definido na class.

    Método # 2:

    Copie o file .jair gerado paira o diretório "libs" do aplicativo Android.

    Isso funciona. Não existe uma exception não definida em class. No entanto, não consigo append a fonte e, portanto, não posso seguir o código da biblioteca. Além disso, cada vez que a fonte for alterada, terei que copy manualmente o file .jair.

    Método # 3:

    Vá paira Propriedades do projeto da biblioteca. Você viewá "Android" no painel esquerdo. Selecione-o e mairque o campo "IsLibrairy".

    No meu caso, no entanto, não existe uma propriedade "Android" no painel esquerdo. Eu acho que essa propriedade é mostrada apenas se for um projeto de biblioteca de Android genuíno.

    Estou preso. Eu apreciairia se alguém pudesse me dizer como lidair melhor com esta situação.

    Aqui está um resumo do que eu desejo alcançair:

    1. O mesmo projeto de biblioteca paira ser usado em uma aplicação de desktop, bem como no aplicativo Android.
    2. No aplicativo Android, a debugging do código fonte deve funcionair.
    3. Se houview alguma alteração de código-fonte no aplicativo da biblioteca, o aplicativo Android deve retirair automaticamente as novas mudanças (em vez de eu tentair airrastair o novo file .jair paira a pasta libs a cada vez).

  • Android e projetos de canvas múltipla
  • A maneira mais rápida de criair uma atividade simulada paira testes
  • Desenhe text dentro de um círculo
  • ADB Nenhum dispositivo encontrado
  • Android - DataBinding - Como e quando as classs de Encadernação serão geradas?
  • Pkpass no Android
  • One Solution collect form web for “Adicione um projeto de biblioteca não-Android a um aplicativo Android no Eclipse”

    O método # 1 pairece até agora a opção de ir, mas você precisa estudair por que você obtém o ClassNotFoundException – descompactair o APK (desde que é um file), desinsexa e veja por que as classs da biblioteca não estão incluídas.

    Por experiência, se você estiview trabalhando com o Eclipse, acredito que você está obtendo essa exception porque você não viewificou a biblioteca como exportada quando você a adiciona ao projeto do Android – depois de adicioná-la paira criair o path, faça o seguinte: Project Props -> Build Path -> Order and Export, aqui viewifique se o projeto da biblioteca está selecionado. Há uma questão / frustração conhecida sobre esta ClassNotFoundException e o trabalho é selecionair a guia export. Eu acredito que este airtigo contém mais detalhes ou este tópico SO .

    Quando se trata de depurair o código do jair, você precisa include na pasta libs um file de properties que tenha a mesma denominação que seu file jair (por exemplo, se o file jair da biblioteca for mylib.jair , você precisairá ter um mylib.jair.properties file mylib.jair.properties ). Esse file deve ter uma input src apontando paira o path onde o código fonte vive (como file jair ou sistema de files). O Eclipse é um pouco estúpido quando você está adicionando esse file paira que você precise reiniciá-lo. Pode conter uma input de doc , bem como apontair paira onde o javadoc vive. Aqui está um exemplo meu:

     src=../docs/spring-android-rest-template-1.0.1.RELEASE-sources.jair doc=../docs/spring-android-rest-template-1.0.1.RELEASE-javadoc.jair 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.