1.5 mac下的脚本环境配置及脚本的使用

  脚本环境主要依赖sdk,ndk和ant,前两个可以在android官方网站下载(被墙了的话只能翻墙了)。

  第一步,clone工程到本地

  打开终端,cd到你希望创建工程目录的位置。nottvlike是我的用户名,记得改成自己的。

cd /Users/nottvlike/Documents/github

  clone nosdk项目

git clone https://github.com/nottvlike/nosdk.git nosdk

  /Users/nottvlike/Documents/github/nosdk/projects/main是工程所在位置。

  第二步,添加目录到PATH,更改~/.bash_profile(没有的话创建一个新的)。

  执行以下脚本,打开~/.bash_profile

vi  ~/.bash_profile

  将以下内容添加到~/.bash_profile文件末尾,前三个路径记得改下。

export NDK_ROOT=/Users/nottvlike/Documents/program/android-ndk-r9d
export ANDROID_SDK_ROOT=/Users/nottvlike/Documents/program/android-sdk-macosx
export ANDROID_ANT_BIN=/Users/nottvlike/Documents/program/apache-ant-1.9.4/bin export ANDROID_HOME=$ANDROID_SDK_ROOT
export PATH=$NDK_ROOT:$PATH
export PATH=$ANDROID_SDK_ROOT:$PATH
export PATH=$ANDROID_ANT_BIN:$PATH
export PATH=$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH

  保存文件并退出,同时按住shift和;按键,左下角出现冒号以后输入x然后再输入enter,返回到终端界面。

  执行以下命令,刷新PATH变量

source ~/.bash_profile

  第三步,更改build_native.sh

  打开/Users/nottvlike/Documents/github/nosdk/projects/main/build_android/tools/build_native.sh(可以用xcode,sublime等)

SDK_ROOT="$HOME/Documents/program/android-sdk-macosx"
NDK_ROOT="$HOME/Documents/program/android-ndk-r9d"

  更改这两个路径,和之前.bash_profile里的路径一致。

  第四步,添加keystore

  将/Users/nottvlike/Documents/github/nosdk/projects/main/keystore目录拷贝到家目录中(~/或者/Users/nottvlike/),记得是目录(等我先上传下,2015.07.17记)。

  这样环境就配置完成了。下面我们可以测试下,首先进入平台目录,

cd /Users/nottvlike/Documents/github/nosdk/projects/main/build_android/platform

  执行以下指令,编译,拷贝资源,并打包uc平台的包,不出意外的话,~/Desktop/apk里应该有apk了

./build_uc.sh -b mk -c -p

  执行以下指令,切换到小米平台,并打包小米平台的包

./build_xiaomi.sh -p

  执行以下指令,切换到无平台(app版本),并打包

./build_noplatform.sh -p

  大家应该发现,其实编译只执行了一次,后面几个平台的包都没有编译过,直接就打包了,这即是统一接入的好处,这些东西我们将在下一章介绍统一接入的时候再详细介绍。

NOSDK--一键打包的实现(五)的更多相关文章

  1. NOSDK--SDK一键打包及统一接入的实现(前言)

    前言 一,一键打包的实现 1.1 shell脚本执行流程介绍 1.2 自动刷新mk文件的脚本介绍 1.3 编译及拷贝资源的脚本介绍 1.4 打包及签名的脚本介绍 1.5 mac下的脚本环境配置及脚本的 ...

  2. 前端资源多个产品整站一键打包&包版本管理(一)

    来新公司工作的第五个月.整站资源打包管理也提上了日程. 问题: 首先.什么是整站的打包管理呢? 我们公司的几个重要产品都在同一个webapp里面,但是,不同的开发部门独立开发不同的产品,长期以来,我们 ...

  3. 前端资源多个产品整站一键打包&包版本管理(四)—— js&css文件文件打包并生成哈希后缀,自动写入路径、解决资源缓存问题。

    问题: 当我们版本更新的时候,我们都要清理缓存的js跟css,如何使得在网页中不需要手动清理呢? 答案: 生成带有哈希后缀的js跟css文件 1.文件路径 路径中的conf.js 是用于放置全局打包的 ...

  4. 前端资源多个产品整站一键打包&包版本管理(三)—— gulp分流

    问题: 当我们一个工作台里面有好几个项目的时候,我们要为项目的前端资源进行打包,但是,gulpfile只有一个,如果我们把所有的打包都放在同一个文件里面,首先文件会越来越大,而且不便于管理,这时,我们 ...

  5. cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程)

    链接地址:http://www.cocoachina.com/bbs/read.php?tid=333937 cocos2d-x3.9利用cocos引擎一键打包Android平台APK(C++小白教程 ...

  6. Wix打包系列(五) 部署数据库

    原文:Wix打包系列(五) 部署数据库 很多人在使用vs进行打包的时候,经常会为数据库部署的问题犯愁,即便是重写Installer类的方法,也不是很可靠方便,下面我们来看看在wix中如何部署数据库. ...

  7. Web项目也能一键打包Android、IOS

    随着移动互联网的不断发展,智能手机配置的不断提高,越来越多的年轻人基本都在使用手机,如微信.支付宝等等.已基本成为一种习惯,坐电梯也好.吃饭也好.开车也好,基本都捧着一个手机在那按来按去,开车就不建议 ...

  8. maven 聚合的含义是父类打包 ,清理等 则子类自动打包;也就是一键打包 方便服务

    maven 聚合的含义是父类打包 ,清理等 则子类自动打包:也就是一键打包 方便服务

  9. Android Studio如何配置CURL指令一键打包apk上传至蒲公英

    Android Studio如何配置CURL指令一键打包apk上传至蒲公英 第一步:在所需要打包的模块build.gradle文件中加入如下代码: android{ buildTypes { //配置 ...

  10. Docker的镜像制作与整套项目一键打包部署

    Dockerfile常用指令介绍 指令 描述 FROM 构建的新镜像是基于哪个镜像.例如:FROM centos:6 MAINTAINER 镜像维护者姓名或邮箱地址.例如:MAINTAINER Mr. ...

随机推荐

  1. CFD冲蚀模拟的一些理论

    [TOC] 在CFD中计算颗粒对固体壁面的冲蚀往往采用冲蚀模型(Erosion Model). 1 冲蚀速率(Erosion Rate) 冲蚀速率定义为壁面材料在单位时间单位面积上损失的质量(单位:\ ...

  2. [转].net core 通过ViewComponent封装控件 左侧菜单

    本文转自:http://www.cnblogs.com/BenDan2002/p/6224816.html 我们在.net core中还使用了ViewComponent方式生成控件.ViewCompo ...

  3. jsp九大内置对象

    application例如用于计算网站访问量时可用到.

  4. [C]指针有什么好处?

    指针的好处,需要和数组比较起来说.具体如下:     1.指针可以随意申请不连续的数据存储空间,而数组是连续的,如果数组空间没有全部占用,那么会造成浪费,比如你申请了a[10],缺只有5个数据输入,那 ...

  5. EF里的默认映射以及如何使用Data Annotations和Fluent API配置数据库的映射

    I.EF里的默认映射 上篇文章演示的通过定义实体类就可以自动生成数据库,并且EF自动设置了数据库的主键.外键以及表名和字段的类型等,这就是EF里的默认映射.具体分为: 数据库映射:Code First ...

  6. LZ77压缩算法编码原理详解(结合图片和简单代码)

    前言 LZ77算法是无损压缩算法,由以色列人Abraham Lempel发表于1977年.LZ77是典型的基于字典的压缩算法,现在很多压缩技术都是基于LZ77.鉴于其在数据压缩领域的地位,本文将结合图 ...

  7. [LeetCode] Swap Nodes in Pairs 成对交换节点

    Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...

  8. java web后台开发SSM框架(Spring+SpringMVC+MyBaitis)搭建与优化

    一.ssm框架搭建 1.1创建项目 新建项目后规划好各层的包. 1.2导入包 搭建SSM框架所需包百度云链接:http://pan.baidu.com/s/1cvKjL0 1.3整合spring与my ...

  9. hihocoder -1121-二分图的判定

    hihocoder -1121-二分图的判定 1121 : 二分图一•二分图判定 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 大家好,我是小Hi和小Ho的小伙伴Net ...

  10. 轻量级jQuery语法高亮代码高亮插件jQuery Litelighter。

    <!DOCTYPE html><html><head><meta charset="UTF-8" /><title>jQ ...