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. kmeans算法并行化的mpi程序

    用c语言写了kmeans算法的串行程序,再用mpi来写并行版的,貌似参照着串行版来写并行版,效果不是很赏心悦目~ 并行化思路: 使用主从模式.由一个节点充当主节点负责数据的划分与分配,其他节点完成本地 ...

  2. MySql.Data.Entity 在EF中解析uint的枚举时有BUG

    当枚举继承uint类型时无法获取值.

  3. Activity往另外一个Activity传值,Fragment获取另外一个Activity里面的值。

    在oneActivity中实现跳转到MainActivity //intent 用来跳转另外一个MainActivity,bundle传值到MainActivity         Intent Ma ...

  4. 解决Ubuntu下Firefox+OpenJDK没有Java插件的问题

    如果是安装的OpenJDK,很遗憾它是没有libnpjp2.so的. 此时按照网上各种奇怪的方法都挣扎无效,但可以用icedtea插件来解决这个问题. icedtea的版本与本机安装的OpenJDK版 ...

  5. [LeetCode] Palindrome Pairs 回文对

    Given a list of unique words. Find all pairs of distinct indices (i, j) in the given list, so that t ...

  6. 如何为Surface Dial设备开发自定义交互功能

    随着Surface Studio的发布,微软发布了与之相配套的外设硬件Surface Dial,用户可以将Surface Dail吸附在Surface Studio的屏幕上面,用旋转和点击的实体操作来 ...

  7. echart折线图小知识

    1)在折线图中,有时我们不想让太多折线显示,那么就隐藏,点击legend区域文字再显示. 比如我们要隐藏的折线叫"联盟广告",代码如下 var selected = {}; sel ...

  8. [转]Java中导入、导出Excel

    原文地址:http://blog.csdn.net/jerehedu/article/details/45195359 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样 ...

  9. Codeforces #364 DIV2

      ~A题 A. Cards time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  10. html-fieldset线中嵌套字符

    <form> <fieldset> <legend>health information</legend> height: <input type ...