Skip to content
zhuowei edited this page Dec 12, 2015 · 14 revisions

Install required software

You need Ubuntu 15.10 64-bit to run the prebuilt version. (Other versions of Linux are not supported at this time)

Install Clang and libbsd:

sudo apt-get install clang libbsd0

If you don't have Android SDK's ADB, sudo apt-get install android-tools-adb

Install Android NDK - version r10e Linux 64-bit

Configure NDK and linker

run export ANDROID_NDK_HOME=/path/to/ndk

run sudo ln -s $ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ld.bfd /usr/bin/armv7-none-linux-androideabi-ld

Install and run SwiftAndroid

Extract the downloaded file:

tar xf swift_android_2015-12-12.tar.xz

Write a simple Hello World program, and save it as hello.swift.

Now, try building the executable:

swiftandroid/bin/swiftc-android hello.swift

Run the resulting executable

Push the executable and all its dependent libraries to the Android device.

There's a script that will do this for you: run

swiftandroid/bin/swift-android-push hello

to push hello and the libraries to /data/local/tmp

You also need to push libc++_shared.so (I forgot to include it in the script :( )

adb push $ANDROID_NDK_HOME/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/libc++_shared.so /data/local/tmp

Run the executable, passing LD_LIBRARY_PATH to where the executable and libraries are saved

adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/hello

Issues, problems?

Please report any issues to the issue tracker

Clone this wiki locally