ubuntu 下应用 Python 和 SL4A 的 Android 应用程序搭建您自己的android研发环境
转载自:http://code.qtuba.com/article-50680.html
最近在看《head first python》,书中有讲python在android中进行开发的章节,但需要弄一个Android模拟器,于是我就在ubuntu上开始折腾了。
一、由于Android SDK是运行在java之上的,所以得配置jdk
在oracle的官网我下载了jdk7 的专为linux的32位安装包 jdk-7u55-linux-i586.tar.gz
然后我在 /usr 下应用 mkdir jvm 命令创建了一个jvm的目录。将 jdk-7u55-linux-i586.tar.gz移动到 /usr/jvm 目录下 应用 tar -zxvf jdk-7u55-linux-i586.tar.gz 解压之。
在linux终端输入命令 sudo vim /etc/profile 在文件最后加上下面几行:
export JAVA_HOME=/usr/jvm/jdk1.7.0_55 #jdk所在的目录
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
然后在终端输入命令 source /etc/profile,此时你可以检测你的java环境了:
二、去http://developer.android.com/sdk/index.html
a、下载专为linux的android sdk ,我下的是:android-sdk_r22.6.2-linux.tgz。对这个压缩文件进行解压,并进入其tools目录,
在终端输入 android sdk,就打开了Android SDK Manager:
在这里下载android开发所需要的一些工具。
b、在你的linux终端输入 android avd
就可以创建一个android虚拟机了:
点New按钮就可以创建一个android虚拟机,具体创建细节,我就不赘述了。
目前我创建了一个名字为python_test的虚拟机:
看下图,通过android list avd命令 查看你新建的android虚拟机python_test:
c、打开 /etc/profile文件配置一下环境变量
$sudo vim /etc/profile
在这个文件最下面加入这几行,
export android_home=/home/jack/python/android/android-sdk-linux #android sdk所在的目录
export PATH=$android_home/tools:$android_home/platform-tools:$PATH
d、现在最好重启一下电脑,让所配置的环境变量生效:
在我们可爱的终端,
$emulator @python_test, 看吧,就这样就成功了
三、这是比较激动人心的一步了,开始配置我们的python在android上的运行环境了,应用的是sl4a。进入https://code.google.com/p/android-scripting/
点击二维码下载,我的是sl4a_r6.apk, 然后去Downloads 页面:
应用adb工具将下载的两个文件安装到android虚拟设备中:
安装那两个apk文件
$adb install sl4a_r6.apk
$adb install PythonForAndroid_r4.apk
安装好后,进入你的android模拟器中,点击sl4a_r6.apk安装好后的应用图标 :
比如你写好一个hello_world.apk
在终端 $adb push hello_world.apk /sdcard/sl4a/scripts ,导入到模拟器中
然后在sl4a中就会检测到这个文件,点击hello_world.apk,再点击第二个像设置的按钮即可运行这个python文件:
基本上就这些了,大家如果有兴趣的话,可以折腾一下。
ubuntu 下应用 Python 和 SL4A 的 Android 应用程序搭建您自己的android研发环境的更多相关文章
- Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
- 在ubuntu下编写python(python入门)
在ubuntu下编写python 一般情况下,ubuntu已经安装了python,打开终端,直接输入python,即可进行python编写. 默认为python2 如果想写python3,在终端输入p ...
- Ubuntu 下生成 python 环境安装文件 requirements.txt
参考: 查找python项目依赖并生成requirements.txt Ubuntu 下生成 python 环境安装文件 requirements.txt 首先通过 pip 安装pyreqs模块: p ...
- 更改Ubuntu下默认Python版本
更改Ubuntu下默认Python版本 首先查看系统内有哪些版本的Python ls /usr/bin/python* 查看当前python版本 python --version 基于用户修改默认版本 ...
- ubuntu 下配置Python wxWidgets (复制自官方网站)
全系统英文官网操作地址:http://wxpython.org/download.php Ubuntu 英文操作地址:http://wiki.wxpython.org/InstallingOnUbun ...
- Ubuntu下一个python的BeautifulSoup和rsa安装方法---信息检索project2部分:微博爬行要求python包裹
后果<信息检索>第二project,微博具有抓取数据,再处理.师兄给了代码.让慢慢爬.可是在ubuntu下.少了非常多python软件包.须要安装. 1.首先执行时.说少了python.B ...
- 39 Ubuntu下配置python的vscode开发环境
0 引言 最近想在ubuntu下搞深度学习,首先配置了python的vscode开发环境.在配置python时,选择了Anaconda3.x,保证了其相对于系统python2.x的独立性.另外,vsc ...
- Linux发行版Ubuntu下的Python开发环境的配置
linux下的Python安装, 首先我们需要使用都Shell一系列的命令(前面的linux基础可不是白学的哦!) 1.更新软件安装源地址 sudo apt-get update apt-get,是一 ...
- Ubuntu下安装python相关数据处理
01. Ubuntu下安装ipython sudo apt-get install ipython 02. Ubuntu下安装pip $ sudo apt-get install python-pip ...
随机推荐
- 移动信息化不能延续PC时代的痛
当下,随着移动时代的到来,手机功能逐步完善,各个行业针对这一现象纷纷制定了相应的营销计划,于是霎时间兴起了一股网上订票/网上订饭/网上预约的热潮. 而对于IT行业,成为企业信息化最火的代名词莫过于移动 ...
- undefined reference to `__android_log_print'
使用android studio 编写NDK代码时出现错误:undefined reference to `__android_log_print' 解决办法: eclipse andro ...
- 4.1/4.2 多线程进阶篇<上>(Pthread & NSThread)
本文并非最终版本,如有更新或更正会第一时间置顶,联系方式详见文末 如果觉得本文内容过长,请前往本人 “简书” 本文源码 Demo 详见 Githubhttps://github.com/shorfng ...
- 升级Ubuntu 16.04 LTS后 DSL拨号上网(ppp)连接自动断开解决办法
原本在Ubuntu 15.10用拨号上网没有问题,但升级了16.04 LTS后发现原来的DSL连接不上了.主要表现为: 1.在NetworkManager里面选择DSL Connection能够尝试拨 ...
- SCNU 2015ACM新生赛初赛【1006. 3D打印】解题报告
题目链接详见SCNU 2015新生网络赛 1006. 3D打印 .出题思路来自codevs 3288. 积木大赛,属于模拟题. 首先我们把“选择从第L部分到第R部分”理 ...
- Selenium-java-Log4j环境搭建和
1 导入Log4j ,我这版本是1.2.17 自己选择版本 **别告诉我不会导入 2 Path 奶瓶 3 创建一个与src同目录文件 命名为 log4.properties 4 文件的内容是, ...
- 数组,集合分割函数,join()
join函数定义如下: // 串联类型为 System.String 的 System.Collections.Generic.IEnumerable<T> 构造集合的成员,其中在每个成员 ...
- MongoDB 导出、导入表
var srcTbl = "20161226"; var destTbl = "20161226-bak"; 方式一: MongoClient client ...
- [LeetCode] Contains Duplicate III 包含重复值之三
Given an array of integers, find out whether there are two distinct indices i and j in the array suc ...
- [LeetCode] Candy 分糖果问题
There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...