概述
最近编译一个行情Android APP,里面使用到ZeroC ICE工具,将ice文件转换成Java文件(当然不止于此)。初次使用,做一点总结。
macOS上安装
利用homebrew安装最新版本
由于要编译的代码很老旧,使用的ice需要3.6.3版本的,但我根据官网文档,只能安装3.6.4的,最后也能跑的通
1 2 3
| brew uninstall ice // 首先卸载之前最新版本 brew install zeroc-ice/tap/ice@3.6 // ice brew install zeroc-ice/tap/icetouch@3.6 //ice touch 是为iphone和ipod touch开发的版本,开发Android的话可以不用安装
|
Android项目配置
具体可以见官网 using-ice-on-android
我自己的相关配置如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| buildscript { repositories { google() jcenter() maven { url 'https://repo.zeroc.com/nexus/content/repositories/releases' } } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' classpath group: 'com.zeroc.gradle.ice-builder', name: 'slice', version: '1.3.14' } }
allprojects { repositories { google() jcenter() maven { url 'https://repo.zeroc.com/nexus/content/repositories/releases' } } }
task clean(type: Delete) { delete rootProject.buildDir }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| apply plugin: 'com.android.application' apply plugin: 'slice' slice { java { srcDir = '.' include = ["/usr/local/Cellar/ice@3.6/3.6.4_1/share/Ice-3.6.4/slice/"] } }
project.slice.output = project.file("${project.buildDir}/generated/source/ice")
android { compileSdkVersion 27 defaultConfig { applicationId "com.slm.tradeclient" minSdkVersion 16 targetSdkVersion 27 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } sourceSets { main { java { srcDirs = ['src/main/java', project.slice.output] } } } buildTypes { debug { debuggable true } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
dependencies { implementation 'com.zeroc:ice:3.6.4' implementation fileTree(include: ['*.jar'], dir: 'libs') }
|
在Gradle Projects里
- 先编译slice。->compileSlice
- 然后生成应用项。->assembleDebug
最后安装无误,顺利通过。
参考
- 中文简单介绍
- 官网
- 某个博客