O Android Studio pode ser usado para executar projetos Java padrão?

331

Para aqueles momentos em que você deseja isolar o Java e fazer um teste rápido.

Você pode executar projetos Java não Android no Android studio como no Eclipse?

mgibson
fonte
2
O estúdio Android é baseado no inteliJ. Tão certo, certamente capaz de executar o código java "padrão". Mas por que você precisa disso?
Blackbelt
1
@vmironov Concordo com você.
Blackbelt
@vmironov Isso é essencialmente o que eles estão fazendo. Os recursos do Android são um plug-in IntelliJ, eles apenas o empacotam para o Android Studio. Não usei o Android Studio em particular, mas uso o IntelliJ há algum tempo e você não deve ter problemas ao executar projetos Java padrão nele.
22813 Kevin Coppock
4
@kcoppock, sim, mas esse plug-in não pode ser adicionado a uma IntelliJ IDEA "usual" (eu comprei a versão Ultimate e não quero voltar para a edição comunitária). A boa notícia é que JetBrains anunciou que será possível ter os recursos do Android Estúdio no IntelliJ IDEA 13
Vladimir Mironov
1
Existe uma maneira simples de fazer isso funcionar com Gradle ainda? Continuo travando porque não consigo ver minhas bibliotecas gradle em tempo de execução.
Katedral Pillon

Respostas:

347

Testado no Android Studio 0.8.6 - 3.5

Usando esse método, é possível ter módulos Java e módulos Android no mesmo projeto e também a capacidade de compilar e executar módulos Java como projetos Java independentes.

  1. Abra seu projeto Android no Android Studio. Se você não tiver um, crie um.
  2. Clique em Arquivo> Novo Módulo . Selecione Java Library e clique em Next .
  3. Preencha o nome do pacote, etc, e clique em Concluir . Agora você deve ver um módulo Java dentro do seu projeto Android.
  4. Adicione seu código ao módulo Java que você acabou de criar.
  5. Clique no menu suspenso à esquerda do botão de execução. Clique em Editar configurações ...
  6. Na nova janela, clique no sinal de mais no canto superior esquerdo da janela e selecione Aplicativo
  7. Uma nova configuração de aplicativo deve aparecer, digite os detalhes, como sua classe principal e o caminho de classe do seu módulo.
  8. Clique em OK .

Agora, se você clicar em executar, isso deverá compilar e executar seu módulo Java.

Se você receber o erro Error: Could not find or load main class..., basta digitar sua classe principal (como você fez na etapa 7) novamente, mesmo que o campo já esteja preenchido. Clique em Aplicar e, em seguida, clique em OK .

Meu caso de uso: meu aplicativo Android depende de alguns arquivos pré-computados para funcionar. Esses arquivos pré-computados são gerados por algum código Java. Como essas duas coisas andam de mãos dadas, faz mais sentido ter esses dois módulos no mesmo projeto.

NOVO - Como habilitar o Kotlin em seu projeto autônomo

Se você deseja habilitar o Kotlin dentro do seu projeto independente, faça o seguinte.

  1. Continuando na última etapa acima, adicione o seguinte código ao nível do seu projeto build.gradle(as linhas a serem adicionadas são indicadas por >>> ):

    buildscript {
        >>> ext.kotlin_version = '1.2.51'
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.3'
            >>> classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    ...
    
  2. Adicione o seguinte código ao nível do módulo build.gradle(as linhas a serem adicionadas são indicadas por >>> ):

    apply plugin: 'java-library'
    >>> apply plugin: 'kotlin'
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        >>> implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        >>> runtimeClasspath files(compileKotlin.destinationDir)
    }
    ...
    
  3. Etapa bônus: converta sua função principal em Kotlin! Simplesmente mude sua classe principal para:

    object Main {
        ...
        @JvmStatic
        fun main(args: Array<String>) {
            // do something
        }
        ...
    }
    
idunnololz
fonte
2
Posso confirmar que isso funciona no Android Studio 0.8.14. Eu usei um projeto básico do Hello World e adicionei uma classe Custom contendo um método principal. Eu apaguei o arquivo MainActivity.java. Na etapa 2, eu precisava divulgar o painel Mais módulos (canto inferior esquerdo da janela Criar novo módulo) e role para baixo para encontrar o item da biblioteca Java. Na etapa 6, nomeei meu aplicativo, selecionei Custom como minha classe principal e app para o caminho de classe do módulo. NOTA: Se você excluir o módulo do aplicativo, conforme a solução do @ simonp, seu aplicativo será executado, mas com erros.
James Newton
Deve haver outra etapa após a etapa 2: adicionar código à classe ou, pelo menos, torná-lo um código Hello-World: docs.oracle.com/javase/tutorial/getStarted/application
desenvolvedor android
3
Mas como posso exportar um projeto de área de trabalho para um arquivo .jar? Não consigo encontrar essa opção em qualquer lugar: /
Chris
1
Funciona em 2.2.2! :)
Pavel Biryukov
1
funcionou muito bem! Eu usei o Android Studio 3.1.4. Obrigado por compartilhar!
quer
27

EDIT: muitas lua depois que esta pergunta foi feita, sim, agora aparentemente você pode.

Não, mas é baseado no Intellij IDEA.

A versão da comunidade é gratuita para download, mas não suporta a maioria das coisas que exigem um banco de dados externo ou servidor de aplicativos. A linha para Java é praticamente o código JavaSE que pode usar a Comunidade com prazer.

Se você deseja isso (ou está usando o JavaEE), precisa da versão Ultimate, que não é gratuita, ou do EAP da próxima versão, que normalmente é válida por um mês até que eles lançem outra.

Basicamente, funciona assim

Android Studio é apenas o Android, o material Android da Comunidade IDEA 13 ...

... que será gratuito e é qualquer coisa do IDEA 13 Ultimate ...

... que não requer um banco de dados ou servidor de aplicativos.

http://www.jetbrains.com/idea/

O IDEA 12 Community não tem a capacidade de importar o projeto gradilizado e não será, portanto, enquanto você pode fazer o desenvolvimento do Android agora (eu sim), não espere que ele tenha os mesmos recursos do Android Studio. Há muitas coisas novas e boas no Android, que vão para 13.

JoeHz
fonte
3
Feliz por ajudar! Pessoalmente, adoro a IDEIA e detesto o Eclipse. Esta é a primeira vez que joguei com o EAP, porque claramente vou precisar de compatibilidade com todos que estão migrando para o Android Studio.
JoeHz
A partir do AS 0.5.8, isso não está mais correto. Definitivamente, você pode executar o código Java SE padrão no AS. Pelo menos, consegui importar um projeto Swing, desenvolvê-lo e executá-lo. Infelizmente, você não pode criar um projeto Java "regular" até o momento da redação deste documento, pelo menos não que eu saiba.
Code-Apprentice
3
A partir de 0.6.1 você pode. Veja minha resposta abaixo.
simonp
5
Exclua / edite esta resposta, pois ela não está mais correta. O Android Studio agora pode criar módulos Java e executá-los no JRE local.
Navin
Então é melhor usar o Android-Studio para coisas do Android e o IntelliJ para Java e o resto? E o suporte SWT no IntelliJ? Você conhece um bom designer de interface do usuário para ele? Eu preciso principalmente para a visualização da interface do usuário.
desenvolvedor android
18

A maneira mais fácil de executar um programa java no Android Studio seria,

1) Crie uma palavra de classe Java "Test.java"no Android Studio.

2) Escreva seu código, por exemplo, um Hello Worldprograma para testar.

3) Clique com o botão direito do mouse na classe Java e selecione a opção "Executar 'Test.main ()'" ou pressione Cntrl + Shift + F10.

Lá você tem seu código Java em execução abaixo.

Shruti Dasgopal
fonte
1
Isso funcionou - obrigado! No meu caso, eu estava tendo problemas com a compilação do gradle, ao tentar executar isso pela primeira vez. Então eu fiz um Android Studio > File > Invalidate Caches / Restarte, em seguida, o problema foi resolvido
Gene Bo
1
@ Sruti Leva um tempo para compilar a primeira vez após a mudança do aplicativo para o test.java. Você sabe se o executável que está criando é adicionado ao tamanho do APK?
Patrick
17

Com o Android Studio 0.6.1+ (e possivelmente anterior), você pode facilmente desenvolver aplicativos Java (não Android) padrão.

Este método foi testado em 0.8.2:

Comece criando um aplicativo Android Phone básico, usando Arquivo> Novo projeto. Em seguida, inclua um módulo Java Library para armazenar o código do aplicativo Java. (Escolha 'Java Library' mesmo se você estiver criando um aplicativo). Você descobrirá que pode criar e executar aplicativos Java com main()métodos, aplicativos Swing etc.

Você deseja excluir o módulo "aplicativo" Android gerado automaticamente, que não está usando. Vá para Arquivo -> Estrutura do projeto e exclua-o (selecione o módulo "aplicativo" na caixa à esquerda e clique no ícone 'menos' acima da caixa). Agora, quando você reabrir Arquivo -> Estrutura do projeto -> Projeto, verá opções para selecionar o SDK do projeto e o nível do idioma, além de várias outras opções que estavam ocultas anteriormente. Você pode ir em frente e excluir o módulo "app" do disco.

No 0.6.1, você poderia evitar criar o módulo android em primeiro lugar:

Vá para Arquivo> Novo Projeto. Preencha o nome do seu aplicativo. Na página de seleção "fatores de formulário", em que você indica seu SDK mínimo do Android, desmarque a caixa de seleção Móvel e continue com a criação do seu projeto.

Após a criação do projeto, vá para Arquivo -> Estrutura do projeto -> Projeto e defina seu JDK como o "SDK do projeto". Adicione um módulo Java Library para manter o código do aplicativo como acima.

simonp
fonte
Onde posso encontrar a compilação então? Se eu clicar em Build-> Make Project ou Build-> Compile 'PureJava.java', o estúdio android diz "Compilação concluída com êxito". Mas não consigo encontrar nenhum arquivo de compilação. Excluí o módulo do aplicativo e a pasta do aplicativo.
AndiPower
1
Você conseguiu depurar esses projetos?
MLProgrammer-CiM
@ MLProgrammer-CiM sim, é possível. Ocorreu-me que, durante a depuração, o IDE para em algum momento da fase "atualizando índices", não sei o que está causando isso, tentei limpar caches e reiniciar.
Shujito 14/03
14

Aqui está exatamente como é a configuração.

insira a descrição da imagem aqui

Editar configurações> '+'> Aplicativo: insira a descrição da imagem aqui

Adam Hurwitz
fonte
Oi Adam, posso saber se ainda funciona? E por que precisaríamos de gradle para esta aplicação? O projeto poderia ser limpo ainda mais, para que apenas os arquivos mínimos estejam presentes?
Harsha
Olá @Harsha, eu implementei isso como um experimento em 2016. Eu não implementei isso recentemente porque utilizo o IntelliJ independente para aplicativos Kotlin / Java de back-end. Sinta-se livre para atualizar os comentários / publicação com suas descobertas atualizadas.
Adam Hurwitz
5

Encontrei uma solução um tanto hacky, irritante e nem sempre completamente certa de que sempre funciona. Eu queria compartilhar caso alguém ache útil.

No Android Studio, você pode clicar com o botão direito do mouse em uma classe com um método principal e selecionar "Executar .main ()". Isso criará uma nova configuração de execução para YourClass, embora não funcione: faltam algumas entradas do caminho de classe.

Para corrigir as entradas ausentes do caminho de classe, entre na Estrutura do Projeto e adicione manualmente o local da pasta de saída para o seu módulo e quaisquer outras dependências necessárias, como:

  • Arquivo -> Estrutura do Projeto ...
  • Selecione "Módulos" no painel Configurações do projeto no painel da coluna esquerda
  • Selecione seu módulo na lista de módulos no painel da coluna do meio
  • Selecione a guia "Dependências" no painel da coluna da direita

E, em seguida, para o módulo em que você possui seu aplicativo Java e para cada uma das dependências necessárias: - Clique em "+" -> "Jars ou diretórios" na extremidade direita do painel da coluna direita - Navegue até a saída pasta do módulo (por exemplo: my_module / build / classes / main / java) e clique em "OK" - Na nova entrada da lista Dependências, na extremidade direita, altere a caixa de seleção de "Compilar" para "Tempo de execução"

Depois disso, você poderá executar a configuração Executar que você acabou de criar para executar o aplicativo Java simples.

Uma coisa a observar é que, para minha configuração específica do projeto Android Studio [bastante envolvida], eu tenho que construir manualmente o projeto com gradle, de fora do Android Studio, a fim de criar minhas classes simples de aplicativos Java antes de executar o aplicativo - acho que isso ocorre porque a configuração de execução do tipo "Aplicativo" não está acionando a compilação Gradle correspondente.

Por fim, isso foi feito no Android Studio 0.4.0.

Espero que outros achem útil. Também espero que o Google venha a apoiar esta funcionalidade em breve.

Julian Cerruti
fonte
1
I have to manually build the project with gradle, from outside Android StudioComo você faz isso?
Katedral Pillon
3

Instalei a versão da comunidade IntelliJ IDEA em http://www.jetbrains.com/idea/download/

Tentei abrir meu projeto que iniciei no Android studio, mas ele falhou quando estava na construção do gradle. Em vez disso, abri o android studio e o intellij ao mesmo tempo e coloquei uma tela ao lado da outra e simplesmente arrastei e soltei meus arquivos java, layouts xml, drawables e manifesto no projeto hiearchy de um novo projeto iniciado no IntelliJ. Ele resolveu os problemas de construção do gradle e agora posso iniciar um novo projeto no IntelliJ e criar um aplicativo Android ou um aplicativo Java básico. Felizmente isso funcionou porque eu odiava ter tantos IDEs no meu PC.

cjayem13
fonte
3

Consegui fazê-lo usando as seguintes etapas:

  1. Abra o Android Studio e selecione 'Importar projeto'.
    Android Studio importar um projeto

  2. Navegue até a pasta do projeto na janela de navegação e selecione-a.

Loveleen Saini
fonte
0

Testado no Android Studio 0.8.14:
Consegui executar um projeto padrão com etapas mínimas desta maneira:

  • Em um projeto aberto do Android Studio, clique em Arquivo> Novo Módulo.
  • Clique em Mais módulos> Biblioteca Java> Avançar e preencha o que você preferir para os nomes.
  • Um novo módulo aparecerá como uma pasta no mesmo nível da pasta "app" na Estrutura do projeto. Abra-o e abra o novo arquivo de classe Java.

    Você pode adicionar seu código e escolher Criar> Executar 'YourClassName'. Presto, seu código está sendo executado sem dispositivo Android!

  • John
    fonte
    Qual é a diferença dessa resposta @idunnololz? O seu funciona com gradle sem etapas adicionais?
    Katedral Pillon
    0

    Funciona perfeitamente se você fizer Arquivo> Abrir ... e selecionar o arquivo pom.xml. Altere a lista suspensa no canto superior esquerdo da barra lateral que diz "Android" para "Projeto" para ver todos os seus arquivos. Também acho que ajuda se a pasta do seu arquivo pom.xml estiver em uma pasta chamada "app /".

    Isenção de responsabilidade: meu projeto java foi gerado pelo Google App Engine.

    Jacob Ferrero
    fonte
    você precisa mudar suas dependências para o pom ou verá as coisas do gradle?
    Katedral Pillon
    0

    Passava um dia procurando a maneira mais fácil de fazer isso. O objetivo era encontrar o caminho mais rápido para atingir esse objetivo. Não consegui fazê-lo tão rápido quanto executar o comando javac do terminal ou compilar a partir de netbeans ou texto sublime 3. Mas ainda assim tenho uma boa velocidade com o android studio.

    Isso parece muito comum, mas como não iniciamos projetos diariamente, é por isso que posso fazer isso.

    Baixei a versão da comunidade IntelliJ IDEA e criei um projeto simplesmente em java. Eu adicionei uma classe principal e testei uma corrida. Em seguida, basta fechar o IntelliJ IDEA e abrir o Android Studio e abrir o mesmo projeto lá. Então, eu simplesmente tinha que anexar o JDK ao IDE, mostrando uma lista de JDKs disponíveis e eu selecionei o 1.8 e, em seguida, ele compilou bem. Agora posso abrir qualquer arquivo principal e pressionar Control + Shift + R para executar o arquivo principal.

    Em seguida, copiei todos os meus arquivos Java na pasta src pelo Mac OS Finder. E eu sou capaz de compilar o que eu quiser.

    Não há nada relacionado ao Gradle ou Android e a velocidade de compilação é muito boa.

    Obrigado amigos

    Asif Ashraf
    fonte
    0

    Para executar um arquivo java no Android, verifique se sua classe possui o método principal. No Android Studio 3.5, clique com o botão direito do mouse dentro do arquivo e selecione "Executar 'Nome do arquivo.main ()'" ou clique em "Executar" no menu e selecione "Executar nome do arquivo" no menu suspenso resultante.

    Alabi
    fonte