Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics


Goran Lukic 2011/09/06 01:19
Dear Community,

if you want to run OpenCASCADE latest version on Android, you can do this now
by following a few simple steps (more or less).

You'll need to have the standard developer's tools on Linux.
(including Java Development Kit) please check!:
$ update-alternatives --config java (* 3 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode)
$ update-alternatives --config javac (* 3 /usr/lib/jvm/java-6-sun/bin/javac 63 manual mode)
$ update-alternatives --config javah (* 2 /usr/lib/jvm/java-6-sun/bin/javah 63 manual mode)

I recommend you to Download/Install to $HOME/OCCANDROID so you have everything at one place.

1. Download/Install Eclipse with C/C++ support -

2. Download/Install Android(ADT) plugin for Eclipse
(~/OCCANDROID/android-sdk-linux_x86$ ./tools/android) or use Eclipse plugin.
(SDK Platform Android 1.6, AP 4, Android SDK Platform-tools, revision 6)
(Old hardware support too)

3. Download/Install latest SDK(Software Development Kit)

4. Download/Install latest NDK(Native Development Kit)

5. Download/Install Apache Ant
[] (apt-get install ant)

6. Download allready OCCT pre-compiled (binary) shared librarys for Android
from - [Download] somewhere in the right corner

7. cd $HOME
8. mkdir -p $HOME/OCCANDROID/Examples
9. cd $HOME/OCCANDROID/Examples
10. git clone git://
This will download two dir. Please remove dir "Example"- so that you have only "OCCANDRODID"
(I've created github user account today, and have no idea how to use it :-))

11. Create Environment variables
export PATH=$PATH:$HOME/OCCANDROID/android-ndk-r6b
export PATH=$PATH:$HOME/OCCANDROID/android-sdk-linux_x86/tools
export PATH=$PATH:$HOME/OCCANDROID/android-sdk-linux_x86/platform-tools
export ANDROID_SDK=$HOME/OCCANDROID/android-sdk-linux_x86
export ANDROID_NDK=$HOME/OCCANDROID/android-ndk-r6b
export ANDROID_ARM_4=$HOME/OCCANDROID/android-ndk-r6b/platforms/android-4/arch-arm/usr

cd Examples/OCCMobileExample2

Connect your phone with your machine via USB and make sure "USB debugging"
and "Allow mock locations" is on.
adb devices
ant install

Create/Start emulator
android create avd -n myHTC -t android-4 -c 1000M -s QVGA
emulator -avd myHTC -skin QVGA

13. Enjoj:)

Best Regards,
Goran Lukic
Forum supervisor 2011/09/06 10:11
Dear Goran,
We appreciated your efforts and done work.
It is really impressive...
We would be pleased also to get performance details
and possible remarks/comments concerning OCCT behavior
(if possible of course).
Goran Lukic 2011/09/07 17:03
Hello Forum supervisor,

My intention was originally to use only a few components for my personal
use. I did not have time to do more tests. Only i can say is that those
things that are important to me - working *excellent*.

Cauchy Ding 2011/09/06 14:10
heXus 2011/09/06 17:36
Roman Lygin 2011/09/06 17:56
Hi Goran,
Thanks for this post. Can you add some details about which components you have managed to run? In particular, were you able to get TKV3d running on top of OpenGL-ES ? Secondly, have you been able to run the app on any physical device in addition to emulator ? (Presumably not as you seemed to use x86-only NDK but just in case).

Goran Lukic 2011/09/07 17:04

You can find everything inside tar.gz archive (is available at:
I run my app on device (real device *not* emulator) that has only poor support for OpenGL and it is crippled version of anything,
so i have not even tried to get TKV3d running on top of OpenGL ES 1.1 ;-)

heXus 2011/09/07 08:50
How you compile OCC with NDK? Is there some patches for OCC? And where I should get ".hxx" files? From original OCC sources?
P Dolbey 2011/09/07 14:54
Now I'm tempted to try a port to webOS for my HP TouchPad.

Goran Lukic 2011/09/07 17:05

You can safely use your own header files. If you use something that doesn't exist
you won't be able to compile anyway - so don't worry;-)

Please have in mind that we deal with cross-compiling, and to make the pathes *real* corectly,
(not just for my own private use) it is a bit of work to do.
And BTW we are *lucky* because OpenCASCADE is *very well* designed for cross-compiling.

What kind of droid phone do you own? Were you able to get this basic examples running on your phone?
Or maybe it's not the phone at all..
Please, write some reports.

Fabiano Correa 2012/04/02 19:14
Dear Goran Luckic,
I'm trying to port some public libraries that uses OpenCASCADE to android tablets, and get to know the work you've done. You compile OpenCASCADE in Android for what platform? I can't run any application using your OpenCASCADE libraries above Android 2.3. I successfully run in android 1.6. Could you give me some help in this case? I need OpenCASCADE for Android 3.2 or above.

Best regards, Fabiano Correa
jelle 2012/04/02 19:18
Interesting work. Perhaps a git OCC or OCE branch would be helpful to coordinate the effort?
Fabiano Correa 2012/04/03 14:30
Apologies ... I understood the problem with my compilations. Using NetBeans or MSVisual Studio, sometimes the C code don't used the same android platform, and the application couldn't run. Now I successfully compiled and run in other android platforms, 1.6, 2.2, 2.3, 3.2, 4.0 ...      
Goran Lukic 2012/04/09 18:23
Please find attached v651.patch and
You have to be logged in to download the attached file
Fabiano Correa 2012/04/20 15:23
Thanks for the help!     
Goran Lukic 2013/03/30 17:35
Update to OCCT 6.5.4 version
You have to be logged in to download the attached file
nickelastic 2013/12/28 21:40
      Hi Goran,
Do you still have this OCCT 6.5.4 version (or any more recent) ? that last link was empty.

Many thanks
Latest news
  • Open CASCADE CAD Assistant for iOS platform is available!
  • Open CASCADE Technology 6.9.0 is available for download!
  • JT Assistant for Android

  • © OPEN CASCADE 2000 - 2015  |  Search  |  Contacts   |  Site map