This sample project consists of three Xc++ libraries named Shapes, Time and Pizza which are packaged into a Python Package named pypizza.
There is a simple console application ConsoleTest which is written in straight C++ and yet uses the Shapes, Time and Pizza libraries.
MyCompany ├── CedaAndroidExample │ ├── app │ │ ├── src │ │ │ ├── androidTest │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── cedanet │ │ │ │ └── cedaandroidexample │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ │ ├── cpp │ │ │ │ │ └── native-lib.cpp │ │ │ │ ├── java │ │ │ │ │ └── com │ │ │ │ │ └── cedanet │ │ │ │ │ └── cedaandroidexample │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── PizzaClient.java │ │ │ │ │ └── PizzaServer.java │ │ │ │ ├── res │ │ │ │ │ ├── drawable │ │ │ │ │ │ └── ic_launcher_background.xml │ │ │ │ │ ├── drawable-v24 │ │ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ │ ├── layout │ │ │ │ │ │ └── activity_main.xml │ │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ │ └── ic_launcher_round.png │ │ │ │ │ └── values │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── styles.xml │ │ │ │ └── AndroidManifest.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── cedanet │ │ │ └── cedaandroidexample │ │ │ └── ExampleUnitTest.java │ │ ├── CMakeLists.txt │ │ ├── build.gradle │ │ ├── old CMakeLists.txt │ │ └── proguard-rules.pro │ ├── gradle │ │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── build.gradle │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── ConsoleTest │ ├── CMakeLists.txt │ ├── ConsoleTest.cpp │ └── ShapeTest.cpp ├── DateTime │ ├── src │ │ ├── DateTime.cpp │ │ └── DateTime.xcpj │ └── DateTime.h ├── Java │ ├── tests │ │ ├── Example │ │ │ ├── CMakeLists.txt │ │ │ ├── MyTest.java │ │ │ ├── PizzaClient.java │ │ │ └── PizzaServer.java │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── generate_pizza_jni_wrappers.py ├── Pizza │ ├── src │ │ ├── Pizza.cpp │ │ └── Pizza.xcpj │ ├── Pizza.h │ └── PizzaDeliveries.h ├── Shapes │ ├── src │ │ ├── Shapes.cpp │ │ └── Shapes.xcpj │ └── Shapes.h ├── cmake │ ├── PizzaConfig.cmake.in │ └── PizzaConfigVersion.cmake.in ├── python │ ├── pypizza_package │ │ ├── pypizza │ │ │ └── __init__.py │ │ ├── LICENSE │ │ ├── README.md │ │ └── setup.py │ ├── CMakeLists.txt │ ├── datetime_example.py │ ├── generate_pizza_jni_wrappers.py │ ├── open_and_close_database_example.py │ ├── pizza_example.py │ └── shapes_example.py ├── CMakeLists.txt └── JniFiles.cmake