Estamos trabalhando em uma versão S60 e esta plataforma possui uma ótima API Python.
No entanto, não há nada oficial sobre Python no Android, mas como o Jython existe, existe uma maneira de permitir que a cobra e o robô trabalhem juntos?
Uma maneira é usar o Kivy :
Biblioteca Python de código aberto para desenvolvimento rápido de aplicativos que fazem uso de interfaces de usuário inovadoras, como aplicativos multi-touch.
O Kivy é executado no Linux, Windows, OS X, Android e iOS. Você pode executar o mesmo código [python] em todas as plataformas suportadas.
Há também o novo projeto Android Scripting Environment (ASE / SL4A). Parece incrível e tem alguma integração com componentes nativos do Android.
Nota: não está mais em "desenvolvimento ativo", mas alguns garfos podem estar.
fonte
Sim! : Ambiente de script do Android
Um exemplo via Matt Cutts via SL4A - "aqui está um scanner de código de barras escrito em seis linhas de código Python:
fonte
import android as a;d=a.Android();d.startActivity('android.intent.action.VIEW',"http://books.google.com?q=%d"%int(d.scanBarcode()['result']['SCAN_RESULT']))
Subconjunto Pygame para Android
Pygame é um mecanismo de jogo 2D para Python (na área de trabalho) que é popular entre os novos programadores. O Subconjunto Pygame para Android descreve-se como ...
Os exemplos incluem um jogo completo empacotado como um APK, o que é bastante interessante.
fonte
Compilação Cruzada & Ignifuga
Meu blog tem instruções e um patch para compilar o Python 2.7.2 para Android.
Também abri o Ignifuga de código aberto , meu 2D Game Engine. É baseado em Python / SDL e cruza compilações para Android. Mesmo se você não usá-lo para jogos, poderá obter idéias úteis do utilitário de código ou construtor (chamado Schafer , depois de Tim ... você sabe quem).
fonte
Camada de script para Android
SL4A faz o que você quer. Você pode instalá-lo facilmente diretamente no dispositivo a partir do site deles e não precisa de raiz.
Ele suporta vários idiomas. Python é o mais maduro. Por padrão, ele usa Python 2.6, mas há uma porta 3.2 você pode usar. Eu usei essa porta para todos os tipos de coisas em um Galaxy S2 e funcionou bem.
API
O SL4A fornece uma porta de sua
android
biblioteca para cada idioma suportado. A biblioteca fornece uma interface para a API Android subjacente por meio de um únicoAndroid
objeto.Cada idioma possui praticamente a mesma API. Você pode até usar a API JavaScript dentro de visualizações da web.
Interfaces do usuário
Para interfaces de usuário, você tem três opções:
Você pode misturar opções, para ter uma visualização na web da interface principal e ainda usar diálogos nativos.
QPython
Há um projeto de terceiros chamado QPython . Ele se baseia no SL4A e lança outras coisas úteis.
O QPython oferece uma interface do usuário mais agradável para gerenciar sua instalação e inclui um pequeno editor de código da tela de toque, um shell Python e um shell PIP para gerenciamento de pacotes. Eles também têm uma porta Python 3. Ambas as versões estão disponíveis na Play Store, gratuitamente. O QPython também agrupa bibliotecas de um monte de Python em projetos Android, incluindo o Kivy, portanto não é apenas o SL4A.
Observe que o QPython ainda desenvolve sua bifurcação do SL4A (no entanto, não há muito para ser honesto). O principal projeto SL4A em si está praticamente morto.
Links Úteis
fonte
Como amante de Python e programador do Android, lamento dizer que esse não é um bom caminho a percorrer. Existem dois problemas:
Um problema é que há muito mais do que apenas uma linguagem de programação nas ferramentas de desenvolvimento do Android. Muitos gráficos do Android envolvem arquivos XML para configurar a exibição, semelhante ao HTML. Os objetos Java integrados são integrados a esse layout XML, e é muito mais fácil do que escrever seu código para passar da lógica para o bitmap.
O outro problema é que o G1 (e provavelmente outros dispositivos Android em um futuro próximo) não é tão rápido. Os processadores de 200 MHz e a RAM são muito limitados. Mesmo em Java, você precisa reescrever para evitar mais criação de objetos se quiser tornar seu aplicativo perfeitamente tranquilo. O Python ficará muito lento por um tempo ainda em dispositivos móveis.
fonte
Kivy
Eu queria acrescentar o que @JohnMudd escreveu sobre Kivy. Faz anos desde a situação que ele descreveu, e Kivy evoluiu substancialmente.
O maior ponto de venda do Kivy, na minha opinião, é a compatibilidade entre plataformas. Você pode codificar e testar tudo usando qualquer ambiente de área de trabalho (Windows / * nix etc.) e empacotar seu aplicativo para uma variedade de plataformas diferentes, incluindo Android, iOS, MacOS e Windows (embora os aplicativos geralmente não tenham a aparência e a aparência nativas).
Com a própria linguagem KV do Kivy , você pode codificar e criar a interface da GUI facilmente (é como Java XML, mas em vez do TextView etc., o KV possui sua própria
ui.widgets
tradução semelhante), o que, na minha opinião, é bastante fácil de adotar.Atualmente, o Buildozer e o python-for-android são as ferramentas mais recomendadas para criar e empacotar seus aplicativos. Eu tentei os dois e posso afirmar com firmeza que eles facilitam a criação de aplicativos Android com Python. Seus guias também estão bem documentados.
O iOS é outro grande ponto de venda do Kivy. Você pode usar a mesma base de código com poucas alterações necessárias através das ferramentas Homebrew do kivy-ios , embora o Xcode seja necessário para a compilação, antes de executar em seus dispositivos (o AFAIK, o iOS Simulator no Xcode atualmente não funciona na compilação da arquitetura x86) . Existem também alguns problemas de dependência que devem ser compilados manualmente e manipulados no Xcode para que a compilação seja bem-sucedida, mas eles não seriam muito difíceis de resolver e as pessoas no Kivy Google Group também são realmente úteis.
Com tudo isso dito, os usuários com bom conhecimento de Python não devem ter problemas para entender o básico rapidamente.
Se você estiver usando o Kivy para projetos mais sérios, poderá achar os módulos existentes insatisfatórios. Existem algumas soluções viáveis. Com o pyjnius (em andamento) para Android e pyobjus , os usuários agora podem acessar as classes Java / Objective-C para controlar algumas das APIs nativas.
fonte
ScreenManager
isso para economizar muito tempo. Também um conselho é ler a lista de discussão, um grupo de pessoas conhecedoras dispostas a ajudá-lo.Termux
Você pode usar o aplicativo Termux , que fornece um ambiente POSIX para Android, para instalar o Python.
Observe que
apt install python
o Python3 será instalado no Termux. Para Python2, você precisa usarapt install python2
.fonte
Não no momento e você teria a sorte de conseguir que o Jython funcionasse em breve. Se você está planejando iniciar seu desenvolvimento agora, seria melhor seguir o Java por agora.
fonte
Usando o SL4A (que já foi mencionado por si só em outras respostas), você pode executar uma instância web2py completa (outras estruturas da web python também são provavelmente candidatas). O SL4A não permite que você faça componentes nativos da interface do usuário (botões, barras de rolagem e similares), mas suporta WebViews . Um WebView nada mais é do que um navegador listrado apontado para um endereço fixo. Acredito que o aplicativo nativo do Gmail use um WebView em vez de seguir a rota normal do widget.
Esta rota teria algumas características interessantes:
fonte
QPython
Eu uso o aplicativo QPython . É gratuito e inclui um editor de código, um intérprete interativo e um gerenciador de pacotes, permitindo criar e executar programas Python diretamente no seu dispositivo.
fonte
No site Python para Android :
fonte
Chaquopy
Chaquopy é um plug-in para o sistema de compilação baseado no Gradle do Android Studio. Ele se concentra na estreita integração com as ferramentas de desenvolvimento padrão do Android.
Ele fornece APIs completas para chamar Java do Python ou Python do Java , permitindo que o desenvolvedor use a linguagem que for melhor para cada componente do aplicativo.
Ele pode baixar automaticamente pacotes PyPI e construí-los em um aplicativo, incluindo pacotes nativos selecionados, como o NumPy.
Ele permite acesso total a todas as APIs do Android a partir do Python, incluindo o kit de ferramentas da interface do usuário nativo ( exemplo de atividade pura em Python ).
Este é um produto comercial, mas é gratuito para uso em código aberto e sempre permanecerá assim.
(Eu sou o criador deste produto.)
fonte
Mais uma tentativa: https://code.google.com/p/android-python27/
Este incorpora diretamente o interpretador Python no aplicativo apk.
fonte
Aqui estão algumas ferramentas listadas no site oficial do python
Existe um aplicativo chamado QPython3 no playstore que pode ser usado para editar e executar scripts python.
Link Playstore
Outro aplicativo chamado Termux, no qual você pode instalar o python usando o comando
Link da Playstore
Se você deseja desenvolver aplicativos, existe o Python Android Scripting Layer ( SL4A ) .
The Scripting Layer for Android, SL4A, is an open source application that allows programs written in a range of interpreted languages to run on Android. It also provides a high level API that allows these programs to interact with the Android device, making it easy to do stuff like accessing sensor data, sending an SMS, rendering user interfaces and so on.
Você também pode verificar o PySide para Android , que é na verdade ligações do Python para o Qt 4.
Existe uma plataforma chamada PyMob, na qual os aplicativos podem ser escritos exclusivamente em Python e o fluxo de ferramentas do compilador (PyMob) os converte em códigos-fonte nativos para várias plataformas.
Verifique também python-for-android
python-for-android is an open source build tool to let you package Python code into standalone android APKs. These can be passed around, installed, or uploaded to marketplaces such as the Play Store just like any other Android app. This tool was originally developed for the Kivy cross-platform graphical framework, but now supports multiple bootstraps and can be easily extended to package other types of Python apps for Android.
Experimente o Chaquopy A Python SDK para Android
Anddd ... BeeWare
BeeWare allows you to write your app in Python and release it on multiple platforms. No need to rewrite the app in multiple programming languages. It means no issues with build tools, environments, compatibility, etc.
fonte
Você pode executar seu código Python usando sl4a . O sl4a suporta scripts Python, Perl , JRuby , Lua , BeanShell, JavaScript, Tcl e shell.
Você pode aprender exemplos de sl4a Python .
fonte
Você pode usar o QPython :
Possui um console Python, um editor e um gerenciador de pacotes / instaladores
http://qpython.com/
É um projeto de código aberto com implementações em Python 2 e Python 3. Você pode baixar os arquivos .apk de origem e Android diretamente do github.
QPython 2: https://github.com/qpython-android/qpython/releases
QPython 3: https://github.com/qpython-android/qpython3/releases
fonte
Outra opção, se você estiver procurando pelo 3.4.2 ou 3.5.1, é este arquivo no GitHub.
Python3-Android 3.4.2 ou Python3-Android 3.5.1
Atualmente, ele suporta Python 3.4.2 ou 3.5.1 e a versão 10d do NDK. Também pode suportar 3.3 e 9c, 11c e 12
É legal que você simplesmente faça o download, execute make e obtenha o .so ou o .a
Atualmente, uso isso para executar o Python bruto em dispositivos Android. Com algumas modificações nos arquivos de construção, você também pode criar x86 e armeabi de 64 bits
fonte
Não vi isso postado aqui, mas você pode fazê-lo com Pyside e Qt agora que o Qt funciona no Android, graças ao Necessitas.
Parece uma briga no momento, mas poderia ser uma rota viável eventualmente ...
http://qt-project.org/wiki/PySide_for_Android_guide
fonte
Mais uma opção parece ser pyqtdeploy, que cita os documentos:
De acordo com a implantação do aplicativo PyQt5 no Android via pyqtdeploy e Qt5, ele é desenvolvido ativamente, embora seja difícil encontrar exemplos de aplicativos Android em funcionamento ou um tutorial sobre como compilar todas as bibliotecas necessárias no Android. É um projeto interessante a ter em mente!
fonte
Dê uma olhada no BeeWare . No momento de responder a essa pergunta, ela ainda está em desenvolvimento inicial. Seu objetivo é ser capaz de criar aplicativos nativos com Python para todos os sistemas operacionais suportados, incluindo Android.
fonte
Confira enaml-native, que pega o conceito react-native e o aplica ao python.
Ele permite que os usuários criem aplicativos com widgets nativos do Android e fornece APIs para usar bibliotecas android e java a partir de python.
Ele também se integra ao android-studio e compartilha alguns dos agradáveis recursos de desenvolvimento do Rea, como recarga de código e depuração remota.
fonte