【Kanzi】1:android编译环境配置

简介
kanzi 是跨平台的 UI 设计工具,主要的目的是将 UI 的工作工具化,提升 UI 的设计效果,缩短 UI 的开发时间。
kanzi 基于 C 和 OpenGL/ES,任何操作系统只要支持 OpenGL/ES 就可以进行 kanzi 的移植和开发。
Kanzi 所有平台的编译都采用统一的 scons 编译工具,scons 是基于 python 的跨平台的编译套件。
下面进行 android 平台的开发环境介绍


Android 开发环境搭建
1.使用 kanzi 的安装包,进行安装,安装结尾会有个选项,
选中进行 kanzi build environment setup.会自动从网上下载 kanzi android 开发环境所需要的第三方的库,包括 android 的 sdk,ndk,python,scons,ant,并且自动解压,设置环境变量。 如果网络下载太慢的话,可以选择手动安装配置环境。
安装文件下有 3rdPartySDKs.zip 解压到磁盘上任意目录下,然后进行步骤 3 的配置。
2.安装完毕,会提示安装 jdk,kanzi 在 android 的开发中需要 jdk1.8 版本,最新 jdk 可能会有问题,可以从上面的目录中下载 jdk1.8 ,安装
3.安装好后,在 windows 7 下找到 C:\ProgramData\Rightware\Kanzi 2.8.2\kanzi_environment_variables.bat,用记事本打开,如下
@echo off
echo Setting environment variables for Kanzi build environment echo.
SET PYTHON_HOME=D:\KanziWorkspace_2_8_4_258\3rdPartySDKs\Python32
SET SCONS_HOME=D:\KanziWorkspace_2_8_4_258\3rdPartySDKs\Python27\Scripts
SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_51
SET ANT_HOME=D:\KanziWorkspace_2_8_4_258\3rdPartySDKs\apache-ant-1.9.5
SET NDK_PATH=D:\KanziWorkspace_2_8_4_258\3rdPartySDKs\android-ndk-r9d
SET ANDROID_SDK=D:\KanziWorkspace_2_8_4_258\3rdPartySDKs\android-sdk-windows
SET KANZI_HOME=E:\KanziWorkspace_3_2_1_293_82448
SET PATH=%KANZI_HOME%\Utils;%ANDROID_SDK%\tools;%ANDROID_SDK%\platformtools;%ANT_HOME%\bin;%JAVA_HOME%\bin;%SCONS_HOME%;%PYTHON_HOME%;%PATH%
IF EXIST "%KANZI_HOME%" CD /D "%KANZI_HOME%"
****后面省略
这里可以看到 kanzi 设置环境变量的几个地方,确保都正确,kanzi 就可以正常编译 android 了
4.编译项目
编译项目可以选择在 kanzi studio 中的试用菜单下的命令来编译 apk,也可以选择在命令行中使用
scons 来编译命令,下面分别介绍 2 个。
打开 kanzi studio,选择新建工程,会看到有个 c application 选项,选中这个表示创建工程文件。
比如新建 hellokanzi 工程
 
 
注意这里一定要选择 workspace 下的第一级子目录作为创建项目的目录,因为 workspace 下有 kanzi 平台的引擎需要的库,kanzi 工程是根据相对路径来寻找引擎的,否则无法编译通过。
新建好项目后,在 File 菜单下有个 export->build android package,

这个就是一键编译 apk,使用 USB 连接上 android 手机,注意安装手机驱动程序,可以使用豌豆荚来安装,豌豆荚识别到了手机表示驱动安装正确。
 
 当连接上手机后,选择 build android package,就可以编译 apk 并且安装 apk 到手机上,而且还会自动启动 kanzi 程序
这个功能是给设计师设计的,方便测试真机效果。
打开 visual studio 来编译 windows 上的 exe。
当我们打开项目目录, File 菜单下有个 open in windows explorer, 打开 kanzi studio 的工程目录,先回到上一层目录。
目录下有 Application 和 Tool_project 两个目录,Tool_project 目录就是刚刚创建的设计器的工程目录,Application 就是给工程师创建的开发工程目录,进入 Application 目录,有 bin,configs, src,三个目录,src 目录下是项目代码,注意以后创建新的项目文件.c,.cpp,.h 都要放在这个目录下,会被自动编译的,bin 目录是 windows 的 visual studio 工程运行时候的启动目录,下面有 OpenGLES 的模拟库。 如果需要运行 windows 的 visual studio 工程,必须先导出 kzb,看图


ctrl+b 快捷键导出 kzb,kzb 默认会被导出到 bin 目录。 如果 bin 目录下没有 kzb,运行 visual studio工程会报错,提示无法找到 kzb
下面我们来看 configs 目录,下面有 platforms,platforms 下有 android,win32,win32_vs2008, 首先 win32 
是 visual studio 2010 的开发环境,win32_vs2008 是 vs2008 的开发环境,都是为 windows 提供了,当然在 android 开发的时候我们也是可以使用 visual studio 的工程来写代码和看效果,因为 kanzi 的产品原型开发阶段是跨平台的,所以visual studio 的效果和 android 上的效果是一样的,重要的是 visual studo 可以方便写代码和调试,配合 visual assist,就效率爆升。
android 目录下是 eclipse 的 android 工程文件,可以使用 eclipse 导入这个 android 工程,导入后注意添加 E:\KanziWorkspace_3_2_1_293_82448\Engine\configs\platforms\android\kanzi_engine.jar,这个 jar包,这个 jar 包是包含 android 平台的KanziActivity.java,KanziView.java,KanziResourceFile.java,KanziNativeLibrary.java 的 jar 包,客户也可以发邮件至 bruce.wuu@rightware.com 索取这几个 java 文件的源文件。
eclipse 需要先设置 adt,最好使用 kanzi workspace 下的 android sdk。

编译 apk
可以使用 kanzi studio 中的 build android package,或者使用 kanzi 提供的 scons 工具来编译,注意因为kanzi 的引擎是用 c++写的,kanzi sdk 的 api 也是 c++的,所以 android 上的 kanzi 开发需要用到 c++和java,所以编译其实分为两个阶段,用过 android 的 ndk 开发的应该对 JNI 有所了解。
kanzi android 平台使用 scons 编译,第一阶段使用 ndk 的 gcc 工具编译动态库,这个动态库包含 kanzi引擎的静态库和用户写的 c++代码,第二阶段使用 ant 编译 android 的 java 代码并且打包第一阶段的动态库成 apk
编译在命令行进行


file 菜单下有 open kanzi command prompt,打开命令行,进入 Application\configs\platforms\android 目录
E:\KanziWorkspace_3_2_1_293_82448\Projects\test\Application\configs\platforms\android 然后使用scons es2 release hellokanzi 就可以编译 apk 了

es2 表示编译 opengles 2.0 版本的,在 linux pc 下可能就是 GL21 了,release 表示编译 release 版本的,如果是 debug 版本就是 debug 了,hellokanzi 是项目名字,就是你一开始 kanzi studio 创建的project 名字了。也可以直接输入 scons 就可以编译默认的 es2 release 版本的 apk


 
 前面我们讲过,kanzi 的 android 工程,这个工程只是用户 java 端开发的,eclipse 下也可以编译apk,但是前提是 libkanzi.so 已经使用 scons 编译好了,如果 C++代码不再改变,只改变 java 代码,那么可以使用 eclipse 来编译。但是用 eclipse 编译的 apk 默认启动速度会比 scons 编译的 apk 启动速度慢,这个是有原因的。
如果你打开 kanzi 的 android 工程下的 build.xml,会发现里面有一行<nocompress extension="kzb" />
这个表示使用 ant 编译 apk 的过程中不要压缩 kzb 资源,kzb 资源会被拷贝到 assets 目录下
如果压缩了资源,启动的过程中就要解压缩资源,eclipse 编译默认是无法修改的,kzb 会被压缩,关于原因可以参考这个帖子
http://cowboy.1988.blog.163.com/blog/static/7510579820143862642425/
所以推荐还是使用 scons 来进行编译吧。
编译完成后可以使用 adb devices and adb install 来从命令行进行 apk 的安装。
OK,那到此 kanzi 的 android 开发环境搭建就讲述完了,如果有任何问题欢迎留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值