精华内容
下载资源
问答
  • 支持windows linux mac,python android批量多渠道打包
  • python android api

    2015-03-07 14:35:55
    python用于安卓android phone开发的api文档
  • python android 开发

    千次阅读 2016-11-03 10:11:27
    前言:用 python 写安卓 APP 肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习 Java ,再者,就编程而言已经会的就 Python 与 Golang( 注: Python , Golang 水平都一般 ) ,那么久 Google ...

    前言:用 python 写安卓 APP 肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习 Java ,再者,就编程而言已经会的就 Python 与 Golang( 注: Python , Golang 水平都一般 ) ,那么久 Google 了一下 Python 写安卓的 APP 的可能性,还真行。

    既然要写个 APP ,那么总得要有个想法吧。

    其实笔者想做两个 APP 来着,一个是自己写着好玩的,一个是关于运维的。

    关于运维的 APP ,设计应该如下

    可能长这样


    如何Python写一个安卓APP

    然后设计应该是这样。


    如何Python写一个安卓APP

    如果觉得可行的话,评论留言一下你觉得应该写进这个 APP 的运维常用命令吧 ^_^ ,笔者暂时想到的是 top,free -m,df Ch,uptime,iftop,iotop, 如果有什么好的想法就狠狠的砸过来吧,笔者到时应该也会把这个写成一个项目放到 github 上,大家一起用嘛,开源才是王道,哈哈。

    好吧,进入正题。

    我们使用 kivy 开发安卓 APP , Kivy 是一套专门用于跨平台快速应用开发的开源框架,使用 Python 和 Cython 编写,对于多点触控有着非常良好的支持,不仅能让开发者快速完成简洁的交互原型设计,还支持代码重用和部署,绝对是一款颇让人惊艳的 NUI 框架。

    因为跨平台的,所以只写一遍代码,就可以同时生成安卓及 IOS 的 APP ,很酷吧。

    本文会带大家写一个 Hello world 并瞧一瞧 Python 版的 2048的代码

    kivy 安装

    环境说明:笔者在用的是 Python2.7.10

    这里仅介绍 windows 平台安装

    所有平台参考 : https://kivy.org/#download

    更新 pip,setuptools

    python -m pip install --upgrade pip wheel setuptools

    然后是安装所需要的依赖

    python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew \ kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/

    值得注意的是,上面的安卓需要访问 Google ,所以请自备梯子,而且 kivy.deps.gstreamer 这个包比较大 (95MB) ,可以单独本地安装, http://pan.baidu.com/s/1o7mlxNk

    然后就是安装 kivy 了

    python -m pip install kivy

    至此,安装就已经完毕了,值得注意的是 64 位系统没有开启虚拟化支持,在导入 kivy 的时候会报错,如果是 64 位系统就设置一下机器的 BIOS ,开启虚拟化支持吧。

    注:这里只是 kivy 的运行环境,这样我就能直接在windows机器上直接调试了,怎么将代码编译成 APK 文件我们会在后面讲到。

    如果 kivy 在 python 中应该就能导入了。


    如何Python写一个安卓APP

    按照世界惯例,我们 ”hello” 一下吧。

    新建一个 .py 文件

    from kivy.app import App from kivy.uix.button importButton class TestApp(App): def build(self): return Button(text='Hello,kivy') TestApp().run()

    运行


    如何Python写一个安卓APP

    然后会弹出一个框,大概如下,点击 ”hello,kivy” 会变颜色


    如何Python写一个安卓APP

    点击窗口并按“ F1 ”会这个窗口的一些属性


    如何Python写一个安卓APP

    然后我们回过头看一看代码。

    ##导入App,然后让TestApp这个类继承 from kivy.app import App ##导入一个Button,运维有这个button,当你点击的时候才会有所反应 from kivy.uix.button importButton ###定义类,名字必须是xxxApp class TestApp(App): ###build一个Button def build(self): ###返回一个Button,文字内容是“Hello,kivy” return Button(text='Hello,kivy') ##运行,因为继承了App,所以才有的run这个方法 TestApp().run()

    上面就是我们的 Hello 了

    在 windows 上运行当然没有什么太大的意义,怎么在安卓手机上运行才是我们想要的,

    这时我们需要一个编译环境。

    官方说明的环境,如下:

    You’ll need:

    linux computer or a virtual machine

    Java

    Python 2.7 (not 2.6.)

    Jinja2 (python module)

    Apache ant

    Android SDK

    虽然官方提供了一个似乎还不错的虚拟机镜像,但是还是有很多内容需要翻出去,所以笔者在这里提供相对而言更加完善的镜像

    下载地址: http://pan.baidu.com/s/1geyAY7x

    注 :virtualbox , vmware 需自行下载

    root 密码: kivy

    默认使用账户 kivy ,密码: kivy123

    当然你也可以下载官方镜像,因为第一次编译需要去国外下一大堆东西,所以请自备梯子。

    Virtual Machine

    A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:

    Kivy Buildozer VM

    Or select the Torrent

    在笔者提供的镜像里,桌面上有一个 dev_and ,只要将上面写的代码,放入这个文件夹即可 ( 当然也可以在其他目录,后面会讲到 ) 。

    cd Desktop/dev_and/

    ## 初始化会在当前目录生成一个 buildozer.spec文件 用于配置生成的apk相关信息

    buildozer init

    ### 修改 buildozer.spec 文件

    vi buildozer.spec

    至少修改下面三项

    # (str) Title of your application title = helloworld # (str) Package name package.name = helloapp # (str) Package domain (needed for android/ios packaging) package.domain = youer.com

    然后注释

    # (str) Application versioning (method 1) #version.regex = __version__ = ['"](.*)['"] #version.filename = %(source.dir)s/main.py 下面这行改为非注释 version = 1.2.0

    最后我们生成我们需要的 apk 文件

    buildozer -v android debug

    buildozer.spec 更详细的相关参数配置参考:

    http://buildozer.readthedocs.org/en/latest/specifications.html

    buildozer命令会在当前文件夹创建一个 bin ,该文件夹里面有我们想要的 apk 文件

    helloapp-1.2.0-debug.apk

    安装以后应该是这样


    如何Python写一个安卓APP

    话说在编译的时候可能出现空间不足的情况,根据虚拟机的不同( vmware 或 virtualbox) 自行扩容吧。

    最后我们来瞧瞧简易版Python开发的2048这个游戏的源代码。

    代码来自:https://github.com/mvasilkov/kb/tree/master/6_2048

    先看效果图


    如何Python写一个安卓APP
    如何Python写一个安卓APP
    如何Python写一个安卓APP

    试玩了一下,还是蛮流畅的,有兴趣的可以下载玩一下

    下载地址: http://pan.baidu.com/s/1eQZACDW

    这个游戏代码虽然不长,但是还是蛮占篇幅的,所以简要的说明一下流程。


    如何Python写一个安卓APP

    主要由三部分组成,一是素材,图片音频之类的文件,二是Python代码,三是kv文件,这个kv文件有点像html中的css。

    Python代码的文件名一般命名为main.py

    然后一定有一个叫做XXXApp的类,并继承App。

    比如该类叫做GameApp,那么该目录下的kv文件则必须为Game,如上图所示,如果不是,那么kv文件中的一些设定就不会生效。

    比如设定一个标签

    Label: id: time text: 'xxxx' font_size: 60

    id为time,text文本内容为'xxxx',然后字体为60

    好吧,点到为止吧,不过似乎什么都没点到~~~

    从无到有做一个App,我想我会另起一篇文章吧。

    本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

    展开全文
  • 我的博客 第一条python

    准备

    环境搭建(需要root权限)

    方案一 Qpython:

    sh ./data/data/com.hipipal.qpy3/files/bin/qpython-android5.sh ./sdcard/aging.py &>./sdcard/log &
    //方法2
    sh ./data/user/0/org.qpython.qpy3/files/bin/qpython-android5.sh ./sdcard/time_schedual_aging.py
    

    方案二 SL4A

    • 下载python-for-android

    • 下载sl4a-r6.1.1-arm-debug.apk

    • Local install
      if you device is not connected to internet, please try this way.
      How to install
      Download sl4a apk
      Download py4a apk
      Download py4a zips, interpreter - python_r29.zip, modules - python_extras_r29.zip, sample scripts - python_scripts_r26.zip.
      Enable “Unknown Sources” in your device settings.
      Open 1. apk to install. (sl4a)
      Open 2. apk to install. (py4a)
      Open PythonForAndroid application
      push 3. zips to device’s /sdcard/com.googlecode.pythonforandroid. (be sure /sdcard path to fit your device.)
      Click “Local install” to check zips and install python binaries.
      Click “Local install” to install these zips.
      Launch sl4a, Select ‘Menu’ >> ‘View’ >> ‘Interpreters’ and Select ‘Python 2.7.?’.
      Python will be launched, have fun!

    • use with command line.
      download python3.sh from here, and push to your android.

    • use from SL4A script list
      From SL4A console, you can’t use with SL4A console. #135
      launch pip_console.py3
      to use modules, site.addsitedir

    $ cd /path/to/sl4a/scripts
    $ bash python3.sh pip_console.py3    # install pip
    $ bash python3.sh pip_console.py3    # re-launch
    --> pip install requests
    --> pip uninstall requests
    

    adb shell运行python脚本

    adb shell
    bash python3.sh /sdcard/aging.py
    
    

    代码编写

    SL4A api文档
    python 代码段

    关键性实例代码:
    打开app:

    def statApp(app_package_name,app_package_class):
            import androidhelper #qpython
            #import android sl4a
            droid = androidhelper.Android()
            ret = droid.startActivity('android.intent.action.MAIN',
            	None,None,None,False,app_package_name,app_package_name+app_package_class)
    startApp('com.mediatek.mtklogger','.MainActivity') 
    

    筛选数字:

    def getPid(p_name):
        pid_str = runPlatCmdInPip('ps -A|grep '+p_name)
        pattern = re.compile(r'\d+\.?\d*') #number list
        pinfo_list = pattern.findall(str(pid_str))
        pid = int( pinfo_list[0])
        return pid
    
    展开全文
  • 安装python3.7+ 安装uiautomator2 pip install --pre uiautomator2 pip install pillow ###初始化 python -m uiautomator2 init 1、安装: pip install --pre --upgrade weditor 2、使用: python3 -m weditor 这个...

    安装adb工具包 添加链接描述
    安装python3.7+
    安装uiautomator2
    pip install --pre uiautomator2

    pip install pillow

    ###初始化
    python -m uiautomator2 init

    1、安装:

    pip install --pre --upgrade weditor
    2、使用:

    python3 -m weditor

    这个意思整个重启adb devices

    adb start-server
    发现无法连上,出现offline。可以尝试adb kill-server,然后再用adb device查看

    查看手机app包名称
    adb shell am monitor

    d = u2.connect(‘3395b086’) #括号内为adb devices获取的设备号

    常用的定位方式:

    ResourceId定位:
    d(resourceId=“com.meizu.mzbbs:id/tp”).click()

    Text定位:
    d(text=“精选”).click()

    Description定位:
    d(description="…").click()

    ClassName定位:
    d(className=“android.widget.TextView”).click()

    直接上代码
    
    
    
    # import uiautomator2 as u2
    #
    # driver = u2.connect("3395b086")  # connect to device
    # print(driver.info)
    import time
    import unittest
    from time import sleep
    
    from appium.webdriver import webdriver
    import uiautomator2 as u2
    d = u2.connect('3395b086')  #括号内为adb devices获取的设备号
    d.app_start("com.taobao.taobao")   #括号内为要启动的APP包名
    # d(resourceId="com.taobao.taobao:id/searchEdit").click()
    d.xpath('//*[@resource-id="com.taobao.taobao:id/sv_search_view"]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.view.View[2]').click()
    
    d(resourceId="com.taobao.taobao:id/searchEdit").click()
    
    d(resourceId="com.taobao.taobao:id/searchEdit").set_text("跑鞋")
    d(resourceId="com.taobao.taobao:id/searchbtn").click()
    time.sleep(1)
    d(resourceId="com.taobao.taobao:id/title", text="黑科技机械减震跑鞋男弹簧弹跳机械助跑鞋助力鞋舒适马拉松运动鞋").click()
    
    

    在这里插入图片描述

    展开全文
  • 很早之前就听别人说:人生苦短,何不python;刚好借此工作机会,鼓起勇气了解下python;接下来就说说我搭建appuim环境过程 首先我疑惑的三个问题是: 1、appium python IDE用哪一...3、appium 怎么和android真机...

    本文主要学习参考:https://www.cnblogs.com/fnng/p/4540731.html

    很早之前就听别人说:人生苦短,何不python;刚好借此工作机会,鼓起勇气了解下python;接下来就说说我搭建appuim环境过程

    首先我疑惑的三个问题是:

    1、appium python IDE用哪一款

    2、appium 一些依赖有哪些

    3、appium 怎么和android真机连接

     

    我想在解决这三个问题前,我想先感性了解下appium长啥样:

    1、appium 是一个自动化测试开源工具,支持多语言开发(java、php、python等);

    2、appium 为你服务流程是这样的(这点大体上解决了我的疑惑2):

     

    疑惑1:appium python IDE用哪一款

    1、度娘告诉我,你得先安装python环境啊,还说你可以到官方网:https://www.python.org/ 下载

    (注意:在安装的过程中需要勾选:“Add Python 3.x to PATH” , 如果没有勾选,需要在安装完成之后,将Python的安装目录(如:C:\Python36)添加到环境变量PATH下面)

    2、还要安装Selenium(这个是什么鬼,自己问度娘吧,因为我也不知道啊),运行window cmd通过pip命令安装Selenium

    pip install selenium

    3、步骤一安装python环境,有自带一款IED叫IDLE,那就让我们来试下吧

    from selenium import webdriver
    
    
    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com')
    
    print(driver.title)
    
    driver.quit()

    4、尴尬,执行报错了:

    Traceback (most recent call last):
      File "C:\Users\ZhanXS\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start
        stdin=PIPE)
      File "C:\Users\ZhanXS\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 756, in __init__
        restore_signals, start_new_session)
      File "C:\Users\ZhanXS\AppData\Local\Programs\Python\Python37\lib\subprocess.py", line 1155, in _execute_child
        startupinfo)
    FileNotFoundError: [WinError 2] 系统找不到指定的文件。
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:\Users\ZhanXS\Desktop\test\drv.py", line 4, in <module>
        driver = webdriver.Chrome()
      File "C:\Users\ZhanXS\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 68, in __init__
        self.service.start()
      File "C:\Users\ZhanXS\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\common\service.py", line 83, in start
        os.path.basename(self.path), self.start_error_message)
    selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
    

    大概是说没有 chromedriver ,度娘这时又说了,要安装Selenuim3浏览器驱动(我这边以chrome浏览器为例):

    1)、Chrome浏览器驱动:https://sites.google.com/a/chromium.org/chromedriver/home

    2)、设置浏览器驱动:把驱动解压放到某个目录,再把这个目录添加到Path环境变量中

    3)、验证浏览器驱动是否正常使用

    from selenium import webdriver
    
    driver = webdriver.Chrome()    # Chrome浏览器

    4)、具体更详细内容,请参考:http://www.testclass.net/selenium_python/selenium3-browser-driver/

    疑惑2:appium 一些依赖有哪些

    1、appium-server

    appium-desktop 下载地址:https://github.com/appium/appium-desktop/releases

    (根据自己的平台选择相关的包进行下载。本文以 Windows 为例,所以选择 appium-desktop-Setup-1.2.4.exe 文件进行下载)

    2、appium-client

    其实,python-client 的项目名称叫:Appium-Python-Client: https://github.com/appium/python-client

    运行windows cmd命令安装: pip install Appium-Python-Client

    3、运行第一个Appium测试

    1)、一台能adb连接的android真机

    2)、启动appium-server  ip:127.0.0.1   port:4724

    3)、用python IDLE编写 appnium 测试脚本

    #coding=utf-8
    from appium import webdriver
    
    desired_caps = {}
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '6.0'
    desired_caps['deviceName'] = '1234567890123'   # 可通过adb devices,查看真机deviceName
    desired_caps['appPackage'] = 'com.android.settings'
    desired_caps['appActivity'] = '.Settings'
    
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 连接android真机,启动android settings设置界面
    
    # driver.find_element_by_name("=").click()
    
    driver.quit() # 退出android settings设置界面

    如果有弹出android settings设置界面,恭喜你,和我一样,环境你搭建成功了,如果没有,哈哈,你懂得:那就多折腾下吧。

    (android SDK开发环境也是要安装的,这个appium-server连接真机时要用到)

    展开全文
  • cocos2d-x 3.4 python android

    2015-07-16 15:37:08
    python ${ProjDirPath}/build_native.py -b release
  • kivy-python-android:具有python kivy的Android
  • 由于Google的Android Scripting项目SL4A,开发者可以使用脚本语言来开发Android应用,比如Python、Perl、JRuby、Lua、shell等,都可在Android上执行。不过使用它并不能帮助创建一个易安装、自包含可执行二进制文件的...
  • python-for-androidpython-for-android is an open source build tool to let you packagePython code into standalone android APKs. These can be passed around,installed, or uploaded to marketplaces such ...
  • python-for-android python-for-android is a packaging tool for Python apps on Android. You can create your own Python distribution including the modules and dependencies you want, and bundle it in...
  • Android上的Python解释器
  • Python on Android

    2015-05-04 16:19:00
    Python onAndroid Posted onApril 29, 2015byAlexander Taylor There are an increasing number of resources about different ways of running Python on Android. Kivy (and its subprojects) are ...
  • DocumentationFollow the quickstartinstructionsto install and begin creating APKs.Quick instructions to start would be:pip install python-for-androidor to test the master branch:pip install git+...
  • PythonForAndroid-debug.zip

    2021-05-22 11:56:09
    PythonForAndroid Python Fo rAndroid
  • QPython - Python for Android 介绍QPython - Python for AndroidQPython is a script engine that runs Python on android devices. It lets your android device run Python scripts and projects. It contains ...
  • PythonForAndroid

    2011-05-11 15:34:23
    该软件可允许一些脚本语言如python、Perl、Lua、Javascript(甚至可以用BeanShell——可以解释Java代码了)在android平台上来编写并编译程序。项目主页:http://code.google.com/p/android-scripting/
  • This is the demo app for Chaquopy, the Python SDK for Android. You can install a Python 2 or Python 3 build of this app from Google Play. The app includes: A Python console for interactive ...
  • android-vendor-cafrisoft-pythonandroid上运行的python
  • python开发android应用

    2020-05-07 10:19:34
    Kivy中文编程指南 PDF Kivy 是一个开源的 Python 框架,用于快速开发应用,实现各种当前流行的用户界面,比如多点触摸等等。
  • QPython - Python for Android 介绍QPython - Python for AndroidQPython is a script engine that runs Python on android devices. It lets your android device run Python scripts and projects. It contains ...
  • python in android

    2012-11-09 15:12:47
    第一节 在手机上配置Python运行环境   1.下载和安装 Scripting Layer for Android (SL4A)Scripting Layer for Android (SL4A) 是一个开源项目,目标是为android系统提供脚本语言的支持,使用户可以直接在android...
  • /home/shimoda/python-for-android.git/python-build/python_arm/python-ext/python/site.py", line 62, in <module> File "/home/shimoda/python-for-android.git/python-build/python_arm/python-...
  • python for android 安装手册
  • Python做后端,Android做前端的实验小项目
  • 这是python2.7.3,可以使用android-ndk进行编译通过使用python,可以在android手机中运行很多出色的应用程序。 在撰写本文时,我可以在Android手机上运行IPython,Isympy,Django等。 该项目仅考虑命令行二进制构建...
  • python4android

    2012-03-05 16:18:14
    http://code.google.com/p/android-scripting/downloads/list下载ase_r14.apk. 下载三个python模块: python_extras_r0.zippython_r0.zippython_scripts_r0.zip 把这三个放到存储卡根目录.ASE会自动找的. 打开...
  • PythonForAndroid+SL4A

    2015-10-08 22:21:02
    PythonForAndroid、SL4A两个安装包,安装后可在安卓平台上运行python
  • Android python2.7

    2019-01-25 09:08:31
    这个是python的安装软件,用于react native的开发环境。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,653
精华内容 11,861
关键字:

pythonandroid

python 订阅