Skip to content
This repository has been archived by the owner on Dec 20, 2023. It is now read-only.

Clearly Scope and Specify What SDK, NDK and API Versions Are Supported by Makefile-Android #653

Open
gerickson opened this issue Mar 4, 2021 · 4 comments

Comments

@gerickson
Copy link
Contributor

At first glance, a developer might be led to believe that Makefile-Android supports any arbitrary version of NDK, SDK, and API.

However, such is not the case. Makefile-Android and/or supporting documentation should clearly specify what NDK, SDK, and API versions are supported.

@gerickson
Copy link
Contributor Author

/cc/ @robszewczyk

@gerickson
Copy link
Contributor Author

With checkout c1e02de, I ran a somewhat old version of the NDK with:

% make -f Makefile-Android ANDROID_HOME=/usr/local/android/android-sdk-macosx ANDROID_NDK_HOME=/usr/local/android/android-ndk-r10 JAVA_HOME=/usr ANDROID_API=13

which fails with some C++11 issues.

@gerickson
Copy link
Contributor Author

With checkout 50e179b, and NDK r12b, I was able to get a little farther with:

% make -f Makefile-Android ANDROID_HOME=/usr/local/android/android-sdk-macosx ANDROID_NDK_HOME=/usr/local/android/android-ndk-r12b JAVA_HOME=/usr

where I then run into an issue about :

  CXX      ../../src/inet/libInetLayer_a-InetFaultInjection.o
In file included from /Users/gerickson/Source/github.com/openweave/openweave-core/src/inet/../../src/inet/InetLayer.cpp:69:0:
/Users/gerickson/Source/github.com/openweave/openweave-core/third_party/android/platform-libcore/android-platform-libcore/luni/src/main/native/ifaddrs-android.h:21:19: fatal error: cstring: No such file or directory
 #include <cstring>
                   ^
compilation terminated.
make[4]: *** [Makefile:895: ../../src/inet/libInetLayer_a-InetLayer.o] Error 1
make[4]: *** Waiting for unfinished jobs….

@gerickson
Copy link
Contributor Author

With checkout 50e179b, and NDK r16b, I was able to get a little farther with:

% make -f Makefile-Android ANDROID_HOME=/usr/local/android/android-sdk-macosx ANDROID_NDK_HOME=/usr/local/android/android-ndk-r12b JAVA_HOME=/usr

where I then run into an issue Java, which is more about macOS than Android:

Making all in device-manager/java
  CXX      libWeaveDeviceManager_la-WeaveDeviceManager-JNI.lo
  CXX      libWeaveDeviceManager_la-PairingCodeUtils-JNI.lo
  CXX      libWeaveDeviceManager_la-AndroidBleApplicationDelegate.lo
  CXX      libWeaveDeviceManager_la-AndroidBlePlatformDelegate.lo
  MKDIR         bin
  JAVAC   
Unable to find a $JAVA_HOME at "/usr", continuing with system-provided Java...
warning: [options] bootstrap class path not set in conjunction with -source 6
warning: [options] source value 6 is obsolete and will be removed in a future release
warning: [options] target value 1.6 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.

So, it would seem NDKr16b is good.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant