[Deprecation] It is safe to say that this techique to share code between Android and iOS is deprecated. I would recommend looking at other means to do this technique, e.g. Kotlin Mutliplatform Mobile etc. Some of my repositories also move towards using KMM instead.
Flickr API implementation for Android/iOS with C++ core
python
(required for gyp)- xcode &
xcodebuild
- android ndk and
ndk-build
on your PATH to build for android - Configure the paths to your Android SDK
and Android NDK in your
local.properties
- Run
make lib
to build xcodeproj for shared library. - Run
make ios
to build library for iOS project, located under ios/ - Run
make android
to triggerndk-build
for Android project, located under android/
- Running any
make
command will automatically download gyp and create.xcodeproj
files suitable for developing on each platform. - Please consult iOS and Android folder for more detail on the application layer.
Make targets:
clean
- clean all generated filesios
- build library namelibcookpit.a
,libcookpit_ios.a
suitable for iOSandroid
- build library namelibcookpit_android.so
suitable for Android
- gyp - generates xcode project to develop iOS and C++ (nobody likes adding files and configure project manually)
- djinni - generates all bridging code for C++, Java, Objective-C/C++
Cookpit
├── android/ # Android app (Android studio project)
├── cpp/ # Core cpp code and xcodeproj for develop C++
├── djinni/ # Djinni's interface files
├── ios/ # iOS app (open .xcworkspace)
├── utils/ # tools for tedious works, glob, clang-format etc.
├── vendors/ # 3rd party libraries and 3rd party libraries for C++ (gyp, djinni is also here)
├── common.gypi/ # gyp configuration file (common)
└── cookpit.gyp/ # gyp configuration file for this project