[APP] Android 开发笔记 001-环境搭建与命令行创建项目
1. 安装JDK,SDK
JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
Android SDK http://developer.android.com/sdk/index.html
https://dl.google.com/android/android-sdk_r24.4.1-windows.zip (No installer)
https://dl.google.com/android/installer_r24.4.1-windows.exe
Ant tool http://ant.apache.org/bindownload.cgi
Android SDK在线更新镜像服务器
|
2. 设置环境变量:
将下面两个加入系统环境变量表 Path键值中:
\Android\sdk\platform-tools
\Android\sdk\tools
设置Ant
ANT_HOME :指的是apache-ant-1.8.4-bin.zip的解压文件(apache-ant-1.8.4)所在的位置;
我把这个文件放在D盘,所以我这里设置的ant_home就是 ant_home=D:\apache-ant-1.8.2;
path路径设置为:PATH = %ANT_HOME%/bin; %ANT_HOME%/lib即可
3. 使用命令行创建Android应用:
1) 进入需要创建Android应用的文件夹:
cd D:\Android Development
2)在当前路径下,创建Android 项目
android create project -n MySecApp -p android_Sec -a MyActivitySec -k Com.test.mysecapp -t 2
命令行说明:
-n 表示 name 跟项目名称
-p 表示 path 跟工作空间
-a 表示 创建的Activity的名称
-k 表示 package 跟包名称
-t 表示 target 跟target id
(*target id * 可以通过 android list targets 查看,系统将列出所有的下载好的可用的 android 版本号)
3)使用命令给APK打包
ant debug 的过程:
D:\Android Development>ant -version
Apache Ant(TM) version 1.9.7 compiled on April 9 2016 D:\Android Development>cd android_Sec D:\Android Development\android_Sec>ant debug
Buildfile: D:\Android Development\android_Sec\build.xml -set-mode-check: -set-debug-files: -check-env:
[checkenv] Android SDK Tools Revision 25.1.2
[checkenv] Installed at C:\Users\SDSC\AppData\Local\Android\sdk -setup:
[echo] Project Name: MySecApp
[gettype] Project Type: Application -set-debug-mode: -debug-obfuscation-check: -pre-build: -build-setup:
[getbuildtools] Using latest Build Tools: 23.0.2
[echo] Resolving Build Target for MySecApp...
[gettarget] Project Target: Google APIs
[gettarget] Vendor: Google Inc.
[gettarget] Platform Version: 6.0
[gettarget] API level: 23
[gettarget] WARNING: No minSdkVersion value set. Application will install on all
Android versions.
[echo] ----------
[echo] Creating output directories if needed...
[mkdir] Created dir: D:\Android Development\android_Sec\bin\res
[mkdir] Created dir: D:\Android Development\android_Sec\bin\rsObj
[mkdir] Created dir: D:\Android Development\android_Sec\bin\rsLibs
[mkdir] Created dir: D:\Android Development\android_Sec\gen
[mkdir] Created dir: D:\Android Development\android_Sec\bin\classes
[mkdir] Created dir: D:\Android Development\android_Sec\bin\dexedLibs
[echo] ----------
[echo] Resolving Dependencies for MySecApp...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency]
[dependency] ------------------
[echo] ----------
[echo] Building Libraries with 'debug'...
[subant] No sub-builds to iterate on -code-gen:
[mergemanifest] Merging AndroidManifest files into one.
[mergemanifest] Manifest merger disabled. Using project manifest only.
[echo] Handling aidl files...
[aidl] No AIDL files to compile.
[echo] ----------
[echo] Handling RenderScript files...
[echo] ----------
[echo] Handling Resources...
[aapt] Generating resource IDs...
[echo] ----------
[echo] Handling BuildConfig class...
[buildconfig] Generating BuildConfig class. -pre-compile: -compile:
[javac] Compiling 3 source files to D:\Android Development\android_Sec\bin\c
lasses
[javac] 警告: [options] 源值1.5已过时, 将在未来所有发行版中删除
[javac] 警告: [options] 目标值1.5已过时, 将在未来所有发行版中删除
[javac] 警告: [options] 要隐藏有关已过时选项的警告, 请使用 -Xlint:-options。 [javac] 3 个警告 -post-compile: -obfuscate: -dex:
[dex] input: D:\Android Development\android_Sec\bin\classes
[dex] Converting compiled files and external libraries into D:\Android Dev
elopment\android_Sec\bin\classes.dex... -crunch:
[crunch] Crunching PNG Files in source dir: D:\Android Development\android_Se
c\res
[crunch] To destination dir: D:\Android Development\android_Sec\bin\res
[crunch] Processing image to cache: D:\Android Development\android_Sec\res\dr
awable-hdpi\ic_launcher.png => D:\Android Development\android_Sec\bin\res\drawab
le-hdpi\ic_launcher.png
[crunch] (processed image to cache entry D:\Android Development\android_Sec
\bin\res\drawable-hdpi\ic_launcher.png: 87% size of source)
[crunch] Processing image to cache: D:\Android Development\android_Sec\res\dr
awable-ldpi\ic_launcher.png => D:\Android Development\android_Sec\bin\res\drawab
le-ldpi\ic_launcher.png
[crunch] (processed image to cache entry D:\Android Development\android_Sec
\bin\res\drawable-ldpi\ic_launcher.png: 0% size of source)
[crunch] Processing image to cache: D:\Android Development\android_Sec\res\dr
awable-mdpi\ic_launcher.png => D:\Android Development\android_Sec\bin\res\drawab
le-mdpi\ic_launcher.png
[crunch] (processed image to cache entry D:\Android Development\android_Sec
\bin\res\drawable-mdpi\ic_launcher.png: 78% size of source)
[crunch] Processing image to cache: D:\Android Development\android_Sec\res\dr
awable-xhdpi\ic_launcher.png => D:\Android Development\android_Sec\bin\res\drawa
ble-xhdpi\ic_launcher.png
[crunch] (processed image to cache entry D:\Android Development\android_Sec
\bin\res\drawable-xhdpi\ic_launcher.png: 85% size of source)
[crunch] Crunched 4 PNG files to update cache -package-resources:
[aapt] Creating full resource package... -package:
[apkbuilder] Current build type is different than previous build: forced apkbuil
der run.
[apkbuilder] Creating MySecApp-debug-unaligned.apk and signing it with a debug k
ey... -post-package: -do-debug:
[zipalign] Running zip align on final apk...
[echo] Debug Package: D:\Android Development\android_Sec\bin\MySecApp-debug
.apk
[propertyfile] Creating new property file: D:\Android Development\android_Sec\bi
n\build.prop
[propertyfile] Updating property file: D:\Android Development\android_Sec\bin\bu
ild.prop
[propertyfile] Updating property file: D:\Android Development\android_Sec\bin\bu
ild.prop
[propertyfile] Updating property file: D:\Android Development\android_Sec\bin\bu
ild.prop -post-build: debug: BUILD SUCCESSFUL
Total time: 12 seconds D:\Android Development\android_Sec>
4)生成的Apk
[APP] Android 开发笔记 001-环境搭建与命令行创建项目的更多相关文章
- [APP] Android 开发笔记 002-命令行创建默认项目结构说明
接上节:[APP] Android 开发笔记 001 4. 默认项目结构说明: 这里我使用Sublime Text 进行加载.
- [APP] Android 开发笔记 003-使用Ant Release 打包与keystore加密说明
接上节 [APP] Android 开发笔记 002 5. 使用ant release 打包 1)制作 密钥文件 release.keystore (*.keystore) keytool -genk ...
- NET Core 环境搭建和命令行CLI入门
NET Core 环境搭建和命令行CLI入门 2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文 ...
- NET Core 环境搭建和命令行CLI入门[转]
NET Core 环境搭建和命令行CLI入门 时间:2016-07-06 01:48:19 阅读:258 评论:0 收藏:0 [点我收藏+] 标签: N ...
- vue环境搭建以及使用vue-cli创建项目
我要跑vue项目,所以我要搞vue. 1.环境搭建 进入node官网下载对应版本的node,一步步安装即可. 安装会自动配置路径和npm包管理环境,通过node -v进行验证 2.安装vue-cli脚 ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Egret 学习之简介,环境搭建及命令行语法 (一)
1,简介 1)egret是一个开源免费的游戏框架,它使用TypeScript脚本语言进行开发:当游戏完成最终的打包后,可以将程序转换为h5游戏,实现跨平台性:它基于BSD(Berkly Softwar ...
- [APP] Android 开发笔记 006-使用短信验证SDK进行短信验证
1. 下载SDK (http://www.mob.com/#/download) SMS For Android Studio: http://www.mob.com/download/sms/and ...
- [APP] Android 开发笔记 004-Android常用基本控件使用说明
TextView 文本框 EditText控件 Button 与 ImageButton ImageView RadioButton CheckBox复选框 TextView 文本框 ,用于显示文本的 ...
随机推荐
- Layer笔记
官网地址:http://layer.layui.com/hello.html 引入代码 <script src="jQuery的路径"></script> ...
- python中的字符串常量,是否支持通过下标的方式赋值
说明: 今天在看python,通过下标获取字符串常量的字符,在想是否可以通过下标的方式赋值. 操作: 1.对字符串下标赋值 >>> text='python' >>> ...
- python mysql 封装
封装 观察前面的文件发现,除了sql语句及参数不同,其它语句都是一样的 创建MysqlHelper.py文件,定义类 #encoding=utf8 import MySQLdb class Mysql ...
- 怎样自己定义注解Annotation,并利用反射进行解析
Java注解可以提供代码的相关信息,同一时候对于所注解的代码结构又没有直接影响.在这篇教程中,我们将学习Java注解,怎样编写自己定义注解.注解的使用,以及怎样使用反射解析注解. 注解是Java 1. ...
- 双调旅行商问题 (Bitonic TSP)
问题描写叙述: 上述问题能够使用动态规划的方法来解决. 以下是解决思路的详细介绍: 1. 最优子结构: 如果d[i][j]表示从起点1出发到达i及j两个顶点的最短路程之和. 为此能够如果K为此段路程上 ...
- logstash结合rsyslog,收集系统日志
rsyslog是日志收集工具.如今非常多Linux都自带rsyslog,用其替换掉syslog.怎样安装rsyslog就不讲了.大概讲下原理.然后讲logstash的相关配置. rsyslog本身有一 ...
- RESTful状态码说明
https://www.zhihu.com/question/58686782/answer/159603453 常用状态码: 200 请求成功并返回所需资源 400 客户端请求有语法错误 401 未 ...
- vue实现百度搜索下拉提示功能
这段代码用到vuejs和vue-resouece.实现对接智能提示接口,并通过上下键选择提示项,按enter进行搜索 <!DOCTYPE html> <html lang=" ...
- ios开发之--使用AFN上传3.1.0上传视频,不走成功回调原因及解决方法
在测试接口的时候,发现接口称走走了,但是success的回调不走,检查了下代码,发现没有初始化下面两个方法: manage.responseSerializer = [AFHTTPResponseSe ...
- swift--浮点数转换成整数(四舍五入/直接截断)
1,直接截取小数部分转换成整数 let i = Int(23.52536) print("输出是:\(i)") 2,四舍五入转换成证书 let q = lround(586.565 ...