pythonforandroid打包

问题描述:如何使用python写一个android打包apk的脚本 大家好,本文将围绕python如何打包到安卓手机上运行展开说明,python写的程序怎么打包手机app是一个很多人都想弄明白的事情,想搞清楚python打包成手机可执行文件需要先了解以下几个事情。

如何使用QPython开发Android应用

pythonforandroid打包的相关图片

右键点击项目,弹出菜单。 鼠标移动到run as 选项上,弹出子菜单。然后单击Android application。他就会打包成apk了。 点击项目中bin目录前面的加号展开,就可以看到对应的apk了,然后右键该apk选择copy,再到某个目录点击粘贴就可以复制出来了。

在电脑上为android设备编写Python脚本的好用编译器的相关图片

在电脑上为android设备编写Python脚本的好用编译器

QPython入门

QPython WebApp应用框架能够让具有Web开发背景的开发者快速构建Android本地应用. 作为开发者,充分掌握你手中的利器,才能做到庖丁解牛,游刃有余地推动项目,接下来,你只需要30分钟,即可掌握QPython以及WebApp应用框架.。

QPython的使用

QPython是我们项目的运行容器,我们所开发的项目需要运行在QPython之上(当然QPython也提供其他不同定位的程序开发支持,可以在以后的Codelab教程中逐一展示),因此你需要掌握以下使用技巧:。

了解QPython的基本功能,能使用开始按钮以及开发者工具面板。

你需要知道如何把项目上传或更新到QPython中。

你需要掌握如何使用QPython运行项目。

程序运行出错,如何查看错误信息,这个是作为开发者必备的技能。

有些小的改动,比起上传或者更新整个项目而言,使用自带的QEdit方便第修改源代码可能会更简单。

如果你想使用第三方库,你需要知道如何使用QPython来安装第三方库。

更多详情可以参考如何使用QPython,以及如何使用QPython开发第一个HelloWorld。

QPython的WebApp框架。

为了让Web开发者能够快速上手Android应用开发,QPython推出了WebApp框架,它包括两个部分 - 基于Bottle框架的可定制本地Web服务器 - 构建于Android系统的WebView容器,。

实现上述两个特性,就我们能够轻松地让QPython运行本地WebApp,避免传统服务端WebApp的网络传输瓶颈问题,获得更佳用户体验,此外,通过让Python能作为Backend语言,拥有更强大的包括网络,图像,运算等多种处理能力. 再加上强大的Python第三方库支撑,拥有Python/Web开发经验的人即可轻松开发体验良好的WebApp。

更多详情可以参考QPython WebApp帮助。

应用设计

掌握了QPython基础使用以及其WebApp框架后,我们可以开始针对我们的项目目标设计应用系统。

应用的使用流程分析

输入:输入部分及为根据用户地理位置。

输出:用户所在城市的PM2.5数值以及对应的防护措施建议。

业务处理:通过地理位置坐标获得所在城市,通过请求PM2.5接口数据源获得PM2.5数值,再根据等级区分展示对应的防护措施建议。

关键数据来源

地理位置信息:通过QPython的SL4A接口可轻易获得。

根据地理位置查询所在城市

PM2.5数据来源:根据PM2.5API可以查询到所在城市的PM2.5数值情况。

了解QPython的地理位置的SL4A接口,掌握PM2.5的数据来源接口,Google的根据地理坐标查询所在城市。

应用的交互设计

主要为根据不同的PM2.5展示做不同的预警展示,并能满足用户查看详情的需求。

技术实现方面我们选定使用Bootstrap作为前端框架:Bootstrap能根据设备的宽度的不同提供适配的界面框架.。

推进过程以及FAQ

如何开始

在开发机器上安装bootstrap, bottle,象Web开发一样去开发, 本地调试后。

以上传到QPython运行目录/sdcard/com.hipipal.qpyplus/projects/。

通过QPython的运行按钮运行查看效果。

将在个人电脑上开发的项目上传到手机上有以下方法 - 启动QPython自带的FTP服务:在设置中可以看到FTP服务,开启FTP服务后会显示当前侦听的地址,端口以及帐号,你可以通过FTP客户端将项目目录上传到QPython运行目录 - 如果你的电脑安装了Android开发套件,你也可以连接手机到开发机后,执行 adb push <本地目录> /sdcard/com.hipipal.qpyplus/projects/PM2.5 来把项目上传到QPython的项目目录。

用Web开发模式开发QPython WebApp。

我们可以使用标准的本地Web开发流程去推进应用开发,左侧为浏览器, 中间为VIM窗口,右侧我们启动bottle开发的Web进程(QPython内建支持Bootle Web框架)。

在你的开发机上下载Bootstrap, 并配置Python+bottle运行环境,按照QPython WebApp的规范建立项目目录。

获得Bootstrap,获得Bottle。

了解QPython中WebApp中文件的结构。

上传到QPython运行

你可以将项目上传到手机的QPython项目目录。

点击开始按钮即可看到PM2.5选项。

启动后可以看到运行效果

功能开发

在UI开发的基础上进行能攻开发,即可得到我们最终的版本,下列为几个关键过程的参考代码:。

获得地理坐标

Droid = androidhelper.Android()。

location = Droid.getLastKnownLocation().result。

location = location.get('network', location.get('gps'))。

获得所在城市示范代码

ud  = urllib.urlopen('http://maps.google.com/maps/api/geocode/json?latlng=%s&sensor=true' % location)。

json_result = ud.read()。

ud.close()

""" process json_result """。

获得所在城市PM2.5

ud = urllib.urlopen('http://www.pm25.in/api/querys/pm2_5.json?city=%s&token=%s' % (city, token))。

json_result = ud.read()。

ud.close()

""" process json_result """。

根据PM2.5数值给出建议

if pm25_quality == '优':。

  ...

elif pm25_quality == '良好':。

  ...

elif pm25_quality == '不好':。

  ...

elif pm25_quality == '差劲':。

  ...

else:

  ...

将关键代码实现后输出即可实现我们本次的目标。

你可以获得PM2.5早知道项目源代码源代码。

此外,你还想增加什么功能?天气预报, PM2.5变化趋势图以及预测 ?Just do IT !。

如何将一整个python工程打包的相关图片

如何将一整个python工程打包

Android模拟器上安装Python解释器。

我了解的有两种方法可以下载并安装Android软件。一个是通过Android直接访问网络,下载安装;另一个是通过PC下载,然后通过模拟器工具ADB安装。这里介绍第二种方式。

下载Python for Android解释器;

解释器框架,点击下载:http://code.google.com/p/android-scripting/downloads/detail?name=sl4a_r3.apk&can=2&q=。

python解释器,点击下载:http://code.google.com/p/android-scripting/downloads/detail?name=PythonForAndroid_r4.apk&can=2&q=。

安装Python for Android解释器;

设置环境变量,加入Android模拟器工具 adb.exe所在的路径。

打开cmd运行界面,输入adb。你会看到如下信息:

输入adb device。

输入adb install –s <解释器框架所在路径>;比如adb install –s c:/sl4a_r3.apk。安装完毕后,在你的android中就会出现SL4A图标。

同上的步骤,再把python解释器安装上。比如adb install –s c:/PythonForAndroid_r4.apk。安装完毕后,在你的Android中就会出现Python for Android图标。

在Android中点击Python for Android。进去后,有一个install的button,点击安装。这个程序会通过网络,下载到所需要的所有程序包。

测试Python for Android解释器;

当一切安装妥当后,在Android中点击SL4A图标。

在出现的列表中点击hello_world.py(或者其他的脚本);界面左上角会出现一个小的SL4A的图标,同时界面也会出现“hello world!”

如果你的Android运行结果如上所述,证明你的安装成功了,继续下一步。

Step4 : 编写可在Android模拟器运行的Python Script并执行。

编写Python Script For Android;

传递Python Script到Android模拟器;。

假设你编写的python脚本存放在c:/Hello_world.py中。

打开cmd界面,运行adb push <local> <remote>;例如,adb push c:/Hello_world.py /sdcard/sl4a/scripts/Hello_wold.py。

在Android模拟器上运行Python Script;。

在Android上运行脚本,你会看到“Hello world!”出现在屏幕上。 (如同step3的结果)

如果你的运行结果如上所述,那么恭喜你,你已成功上传并运行了你的第一个android python脚本,继续下一步。

怎么用python编android app的相关图片

怎么用python编android app

1、下载并安装py2exe,可下载最新版本。

2、编写安装脚本,比较简单,不过多解释,如下:

Screenshot_setup.py。

#!/usr/bin/env python。

# -*- coding: utf-8 -*-。

from distutils.core import setup 。

import py2exe 。

includes = ["encodings", "encodings.*"] 。

data_files = ['CameraDll.dll'] 。

options = {"py2exe": 。

{ "compressed": 1, 。

"optimize": 2, 。

"bundle_files": 1, 。

"includes": includes。

}

}

setup(

version = "1.0", 。

description = "Screenshot Tool", 。

name = "Screenshot Tool", 。

options = options, 。

zipfile=None,。

data_files = data_files,。

console=[{"script": "Screenshot.py", "icon_resources": [(1, "Screenshot.ico")] }]。

)

各参数含义见第5小节或执行python命令行下执行help(py2exe)查看。

3、打包程序:

a、将要找包的程序、文件和打包脚本放在同一目录下,如下:

E:\tmp\pyexe_tmp>tree /F。

文件夹 PATH 列表

卷序列号码为 0007F240 101F:F68D。

E:.

CameraDll.dll。

screenshot.ico。

Screenshot.py。

screenshot_setup.py。

没有子文件夹

E:\tmp\pyexe_tmp>。

b、执行打包脚本:

E:\tmp\pyexe_tmp>python screenshot_setup.py py2exe。

python screenshot_setup.py py2exe。

running py2exe

creating E:\tmp\pyexe_tmp\build。

creating E:\tmp\pyexe_tmp\build\bdist.win32。

creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe。

creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\collect-2.6。

creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\bundle-2.6。

creating E:\tmp\pyexe_tmp\build\bdist.win32\winexe\temp。

creating E:\tmp\pyexe_tmp\dist。

*** searching for required modules ***。

*** parsing results ***。

*** finding dlls needed ***。

*** create binaries ***。

*** byte compile python files ***。

writing byte-compilation script 'e:\tmp\tmp1ecbcw.py'。

android sl4a怎么使用

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

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

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

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

可能长这样:

然后设计应该是这样:

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

好吧,进入正题。 

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

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

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

kivy安装 

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

这里仅介绍windows平台安装 。

更新pip,setuptools。

python -m pip install --upgrade pip wheel setuptools12。

然后是安装所需要的依赖

python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew \。

kivy.deps.gstreamer --extra-index-url 。

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

然后就是安装kivy了

python -m pip install kivy12。

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

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

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

按照世界惯例,我们”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()123456789。

运行:

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

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

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

##导入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()123456789101112131415。

上面就是我们的Hello了 

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

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

官方说明的环境,如下:

You’ll need:

A     linux computer or a virtual machine。

Java

Python     2.7 (not 2.6.)。

Jinja2     (python module)。

Apache     ant

Android     SDK12345678。

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

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

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/12。

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

buildozer init12。

修改buildozer.spec文件。

vi buildozer.spec12。

至少修改下面三项

# (str) Title of your application。

title = helloworld。

# (str) Package name。

package.name = helloapp。

# (str) Package domain (needed for android/ios packaging)。

package.domain = youer.com123456789。

然后注释

# (str) Application versioning (method 1)。

#version.regex = __version__ = ['"](.*)['"]。

#version.filename = %(source.dir)s/main.py。

下面这行改为非注释

version = 1.2.0123456。

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

buildozer -v android debug12。

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

helloapp-1.2.0-debug.apk。

安装以后应该是这样

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

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

先看效果图

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

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

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

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

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

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

比如设定一个标签

Label:

id: time

text: 'xxxx'

font_size: 6012345。

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

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

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

原文地址:http://www.qianchusai.com/pythonforandroid%E6%89%93%E5%8C%85.html

unkempt

unkempt

春天景物描写片段200字左右,春天景物描写片段200字左右怎么写

春天景物描写片段200字左右,春天景物描写片段200字左右怎么写

表达与交流200字,表达与交流的作文400字四年级

表达与交流200字,表达与交流的作文400字四年级

cc/几何图形思维导图,几何图形思维导图怎么画

cc/几何图形思维导图,几何图形思维导图怎么画

369代表爱情的意思,3697爱情数字是什么意思

369代表爱情的意思,3697爱情数字是什么意思

初一暮省100字

初一暮省100字

二年级日记有趣的英语课介绍家庭,二年级用英语写我的家庭50个字

二年级日记有趣的英语课介绍家庭,二年级用英语写我的家庭50个字

语文中写作方法有哪些,语文中写作方法有哪些种类

语文中写作方法有哪些,语文中写作方法有哪些种类

文化产品的类型有哪些,文化产品的类型有哪些种类

文化产品的类型有哪些,文化产品的类型有哪些种类

11141大写,1114大写怎么写

11141大写,1114大写怎么写