Commit Graph

19 Commits

Author SHA1 Message Date
Andrew Breckenridge
bcb3fe398f docs/Android: fix typo in build script invocation
@lanza please smoke test
2018-06-27 15:40:58 -07:00
Nathan Lanza
bdf4f02576 Update docs/Android.md 2018-04-11 00:16:09 +00:00
Amr Aboelela
4bf6f5475d Android: adding swift suffix to icu generated libs to resolve conflict with Android's icu libs 2017-08-21 16:17:17 -07:00
Amr Aboelela
fbdc597c50 [docs] Update Android instructions for icu. (#11404)
You will also need to push the icu libraries, to be able to run the "Hello Android" application, in Android devices.
2017-08-11 15:32:19 -07:00
Qasim Iqbal
577913a476 [docs][Android] Update location of Android NDK's libc++ and libgcc 2017-03-30 12:16:54 -07:00
Alex Langford
9f779d49fa Updating Part 1 of Android doc for building on Ubuntu 16.04 LTS 2017-03-09 13:09:06 -08:00
William Dillon
14088f438f Mention that 16.04 also isn't supported. 2016-11-27 07:22:50 -08:00
Brian Gesiak
61868b5aec [CMake] Updates for Android NDK r13
Fixes the Android build, and makes some adjustments for Android NDK r13.

* Fix FindICU.cmake to properly set the `SWIFT_${sdk}_ICU_UC` and
  `SWIFT_${sdk}_ICU_I18N` values. These were not properly set because
  "uc" and "i18n" were lowercase.
* Adapt `add_swift_library` to parse `ICU_UC` and `ICU_I18N` for
  private link libraries and use the proper `SWIFT_${sdk}_ICU_*` values.
* NDK r13 removes a subdirectory from the llvm-libc++ includes path.
  Adapt to this change, and add a FIXME to address this issue before it
  may break again.
* Update the documentation to point to a new libicu download for NDK 13.
2016-10-24 15:17:20 -07:00
Brian Gesiak
e00642fcf5 Merge pull request #3194 from modocache/android-deploy-path-default
[Android] Specify default device deploy path
2016-06-24 13:33:40 -04:00
Brian Gesiak
6c053decd5 [Android] Specify default device deploy path
When the "--android-deploy-device-path" option was first added,
build products would only be deployed to a connected Android device
if the option was specified. Now, we use `command_upload_stdlib`
to upload every time the Android tests are being run.

As a result, running the test suite for Android without specifying
a deploy path leads to a subtle error, in which the
`command_upload_stdlib` CMake command fails. End users may find this
difficult to debug.

Add a default argument to the deployment path, and check for a valid
path before executing the CMake command.
2016-06-24 08:53:07 -07:00
Brian Gesiak
85d7046a63 [docs][Android] Add adb installation instructions
A clean Ubuntu install does not have `adb` installed by default, some
contributors will need to install it first. Add instructions on how to do so.
2016-06-23 13:51:20 -04:00
Brian Gesiak
247f30d168 [Android] Update docs for new NDK r12
The latest Android NDK is r12, update the docs to reflect this.
I've tested the build and can confirm that it works with the new NDK.
2016-06-22 16:54:32 -04:00
Brian Gesiak
ee51b7a6f6 [Android] Add testing support
This adds support for running tests for the stdlib built
for Android, both on the host machine and on an Android device.

The Android variant of Swift may be built and tested using
the following `build-script` invocation:

```
$ utils/build-script \
  -R \                                           # Build in ReleaseAssert mode.
  -T \                                           # Run all tests.
  --android \                                    # Build for Android.
  --android-deploy-device-path /data/local/tmp \ # Temporary directory on the device where Android tests are run.
  --android-ndk ~/android-ndk-r10e \             # Path to an Android NDK.
  --android-ndk-version 21 \
  --android-icu-uc ~/libicu-android/armeabi-v7a/libicuuc.so \
  --android-icu-uc-include ~/libicu-android/armeabi-v7a/icu/source/common \
  --android-icu-i18n ~/libicu-android/armeabi-v7a/libicui18n.so \
  --android-icu-i18n-include ~/libicu-android/armeabi-v7a/icu/source/i18n/
```

See docs/Testing.rst for more details.
2016-06-09 13:03:28 -04:00
Brian Gesiak
4e9c4353d0 [docs][Android] Update libicu download link 2016-04-26 10:55:38 -04:00
Brian Gesiak
d49d88e53d [SR-1264] Fix missing information in Android docs
* Add instructions to symlink the Android linker.
* Make it clear that paths to `android-ndk-r11c` and `libiconv-libicu-android` may be different based on where the user may have downloaded them by prefixing the paths, such as `/path/to/android-ndk-r11c`.
* Link to https://bugs.swift.org/browse/SR-1321 and recommend Ubuntu 15.10 for now.
* Use HTTPS when invoking `git clone`.
2016-04-26 10:48:03 -04:00
Brian Gesiak
2931c21540 [docs] Fix libicu paths for Android
https://bugs.swift.org/browse/SR-1264 identified a problem in the documentation: the `--android-icu-uc` and `--android-icu-i18n` are documented in `utils/build-script` as taking the path to *the directory that contains* the `libcicuuc.so` and `libicui18n.so` libraries, not the paths to the libraries themselves. Passing the path to the libraries themselves causes a build error.

Fix the path to prevent people from encountering an error when copying the build script invocation in the docs.
2016-04-22 12:46:41 -04:00
Brian Gesiak
a7e2329444 [android] Support latest Android NDK r11c
- Update the documentation to reflect that Swift supports (only)
  the latest NDK version. Based on what I've heard from Android
  developers that use the NDK, this is a reasonable requirement.
- The most recent version of the Android NDK no longer includes a
  "4.8" toolchain version. Change the default to "4.9", and update
  the paths in the documentation to match.
- The build script option "--android-ndk-version" was misleading.
  This parameter actually refers to the Android API level. Swift
  currently supports 21 (Android 5.0) and above (although supporting
  lower API levels would be desirable).
2016-04-20 11:20:29 -04:00
yanniks
d9d6705633 [docs][Android] Complete git command 2016-04-17 22:57:18 +02:00
Brian Gesiak
9618fe37b5 [docs][Android] Add a "Getting Started" guide
Until now the best instructions on how to get started with Swift on
Android were in the original pull request. This spruces those up and
places them in the documentation directory.
2016-04-14 21:19:54 -04:00