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

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

  第一步,clone工程到本地

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

  1. cd /Users/nottvlike/Documents/github

  clone nosdk项目

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

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

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

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

  1. vi ~/.bash_profile

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

  1. export NDK_ROOT=/Users/nottvlike/Documents/program/android-ndk-r9d
  2. 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
  3.  
  4. 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变量

  1. source ~/.bash_profile

  第三步,更改build_native.sh

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

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

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

  第四步,添加keystore

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

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

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

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

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

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

  1. ./build_xiaomi.sh -p

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

  1. ./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. 萌新笔记——封装hiredis——C++与redis对接(一)(string的SET与GET操作)

    在菜鸟教程自学了redis,总想着像Mysql一样,在C/C++中进行对接.于是查询了一些资料,最后找到了hiredis.然而直接用它的话,难免有点不方便.于是,对其进行封装. hiredis直接去g ...

  2. Chrome Developer Tools:Timeline Panel说明

    一.Timeline panel 概况 Timeline工具栏可以详细检测出Web应用在加载过程中,时间花费情况的概览.这些应用包括下载资源,处理DOM事件, 页面布局渲染或者向屏幕绘制元素. 如下图 ...

  3. 常用算法——排序(二)

    简单选择排序法 选择排序(Selection Sort)的基本思想:对n个记录进行扫描,选择最小的记录,将其输出,接着在剩下的n-1个记录中扫描,选择最小的记录将其输出,--不断重复这个过程,直到只剩 ...

  4. 高级查询---嵌套and分页

    高级嵌套语句: 子查询: 语句: select * from 表名 where 列名= ( 子查询语句 ) 注意:子查询语句必须放在小括号呢 可以使用< >=等运算符号,sql serve ...

  5. c#中多线程同步Lock(锁)的研究以及跨线程UI的操作

    本文只针对C#中,多线程同步所用到的锁(lock)作为研究对象.由于想更直观的显示结果,所以,在做demo的时候,就把多线程通过事件操作UI的代码也写了出来,留作备忘和分享吧. 其实多线程的同步,使用 ...

  6. springmvc:jsp fmt标签格式化Date时间,格式化后可以用于页面展示

    java后台的对象时间参数是date类型,在前端想格式化,又是放在input输入框中的 先引入jstl标签库 <%@taglib uri="http://java.sun.com/js ...

  7. xss篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题

    前言 最早接触安全也是从xss攻击和sql注入攻击开始的. 0x01    跨站脚本攻击漏洞(XSS),是客户端脚本安全中的头号大敌,owasp top10 屡居榜首,由于攻击手法较多,开发者水平不一 ...

  8. supervisor的安装与简单介绍

    1,介绍 Supervisor是一个进程管理工具,官方的说法 用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断.当进程中断的时候我希望能自动重新启动它,此时,我就需要 ...

  9. 【USACO 3.2】Sweet Butter(最短路)

    题意 一个联通图里给定若干个点,求他们到某点距离之和的最小值. 题解 枚举到的某点,然后优先队列优化的dijkstra求最短路,把给定的点到其的最短路加起来,更新最小值.复杂度是\(O(NElogE) ...

  10. grails 优缺点分析

    Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring.Hibernate等开源框架之上,是一个高生产力一站式框架. 易于使用的基于Hibernate的对 ...