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. gcc/linux内核中likely、unlikely和__attribute__(section(""))属性

    查看linux内核源码,你会发现有很多if (likely(""))...及if (unlikely(""))...语句,这些语句其实是编译器的一种优化方式,具 ...

  2. 【转】C# 中 10 个你真的应该学习(和使用!)的功能

    如果你开始探索C#或决定扩展你的知识,那么你应该学习这些有用的语言功能,这样做有助于简化代码,避免错误,节省大量的时间. 1)async / await 使用async / await-pattern ...

  3. iOS多线程主题

    下面是:2个并发进程.和2个并发线程的示意图: 下面介绍三种多线程技术(Thread.Cocoa Operation.Grand Central Dispatch): 1.最轻量级Thread(需要自 ...

  4. 基于C/S架构的3D对战网络游戏C++框架 _06搭建C/S架构的基本通信框架(尚未写完会重新编辑后再发出)

    本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...

  5. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(一)

    前言:出于某种原因,需要学习下Knockout.js,这个组件很早前听说过,但一直没尝试使用,这两天学习了下,觉得它真心不错,双向绑定的机制简直太爽了.今天打算结合bootstrapTable和Kno ...

  6. JAVA的反射理解

    1----------------------------反射的概念----------------------------------------------- JAVA的反射机制是在运行状态中,对 ...

  7. 用于科学计算的Python库

    Matplotlib NumPy Pandas SciPy SymPy

  8. 齐夫定律, Zipf's law,Zipfian distribution

    齐夫定律(英语:Zipf's law,IPA英语发音:/ˈzɪf/)是由哈佛大学的语言学家乔治·金斯利·齐夫(George Kingsley Zipf)于1949年发表的实验定律. 它可以表述为: 在 ...

  9. HttpHelper

    /// <summary> /// 类说明:HttpHelper类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理 /// 重要提 ...

  10. canvas钟表

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