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. MySQL安装与基本配置

    一.简介 SQL语言 DDL:表.视图.索引.触发器操作等.CREATE/ALTER/DROP语句 DML:数据操作.SELECT/INSERT/UPDATE/DELETE DCL:权限设置.GRAN ...

  2. VS2015+Win10 调试DirectX 报错

    安装完Win10调试程序突然在这个地方报错: #if (defined(DEBUG) || defined(_DEBUG)) deviceFlags |= D3D11_CREATE_DEVICE_DE ...

  3. Apache服务停止:信号灯超时时间已到,指定的网络名不再可用

    环境说明:Apache2.4.10,Windows Server 2008 R2 问题说明: apache服务用于下载文件,但是在运行一段时间后,突然挂了. 其错误提示如下所示: [error] (7 ...

  4. linux的学习记录随笔

    为什么学习linux 因为操作系统是一种介质,你要接触其中的东西,首先必须要有介质,而linux在服务器端是老大哥的地位,所以呢,学习linux吧. 学习的方式 可以看视频 imooc.百度传课.网易 ...

  5. 解决 node-gyp rebuild 卡住 的问题

    node-gyp在编译前会首先尝试下载node的headers文件,像这样: gyp http GET https://nodejs.org/download/release/v6.8.1/node- ...

  6. codevs 3110 二叉堆练习3

    3110 二叉堆练习3 http://codevs.cn/problem/3110/ 题目描述 Description 给定N(N≤500,000)和N个整数(较有序),将其排序后输出. 输入描述 I ...

  7. Binding笔记

    Binding基础  绑定某个对象的属性值到控制上,写法如下: public class Order : INotifyPropertyChanged//只要实现此接口 { public event ...

  8. Not Hello World

    通常对于一门语言的学习,一般都是以"Hello,World!"开始的.但对于汇编语言的学习,输出这句话并不容易,首先得了解寄存器等硬件知识. 汇编语言要得以运行,首先要讲源文件编译 ...

  9. Masonry介绍与使用实践:快速上手Autolayout

    1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 w ...

  10. xamarin.forms uwp app部署到手机移动设备进行测试,真机调试(device portal方式部署)

    最近学习xamarin.刚好 手上有一个lumia 930.所以试一试把uwp app部署到手机上,并真机调试一把. 目前环境: 1.开发pc电脑是win10,版本1607.加入了insider,所以 ...