Changes between Version 3 and Version 4 of AndroidBuildApp
- Timestamp:
- Jun 25, 2013, 1:20:28 AM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AndroidBuildApp
v3 v4 1 1 [[PageOutline]] 2 = How To Build BOINC Apps for AndroidBOINC=2 = How To Build BOINC Apps for BOINC on Android = 3 3 4 4 This document describes how to build BOINC scientific apps 5 to be executed by AndroidBOINCon Android-powered devices.5 to be executed on Android-powered devices. 6 6 7 7 … … 10 10 == Naming convention == 11 11 12 ''' AndroidBOINC''' - Android application that bundles a cross compiled BOINC12 '''BOINC on Android''' - Android application that bundles a cross compiled BOINC 13 13 Client together with a Android-specific BOINC Manager (GUI). 14 14 … … 20 20 21 21 * Android NKD: http://developer.android.com/tools/sdk/ndk/index.html 22 * AndroidBOINC build script: [https://github.com/novarow/AndroidBOINC/blob/master/native/build_android.sh]22 * BOINC on Android build script: [http://boinc.berkeley.edu/trac/browser/boinc-v2/android] 23 23 24 24 … … 34 34 35 35 36 == Compatibility with AndroidBOINC==36 == Compatibility with BOINC on Android == 37 37 38 Caution: Verification whether volunteering Android devices meets the requirements 39 is only done upon AndroidBOINC app installation. 38 Caution: BOINC on Android runs on all ARM based Android devices. The minimum requirement is therefore ARM ABIv5. Higher ABIs or specific CPU capabilities might only be available on a subset of volunteer's devices. 40 39 It is the project's responsibility to ensure, 41 that distributed BOINC apps meet the requirements. 42 If a higher minimum platform version is used for BOINC apps than for AndroidBOINC, 43 they are likely to crash on some devices. 40 that distributed BOINC apps meet these requirements. The client reports CPU capabilities, i.e. VFP and NEON support, to the project server. 41 It is recommended to have a fallback version for ARM ABIv5, since not all devices might have higher ABIs available. 44 42 45 There are two approaches to this: 46 * use the same toolchain and AndroidBOINC build script configuration for 47 building the BOINC Client and BOINC apps. 48 * make use of "BOINC platform" configuration of the AndroidBOINC 49 build script to distinct versions with the scheduler. 43 == BOINC platform name == 50 44 45 BOINC on Android uses BOINC platform identifier: "arm-android-linux-gnu" 51 46 52 47 = Setup NDK toolchain = … … 54 49 == Setup NDK toolchain == 55 50 56 Note: 0.3 Compatibility with AndroidBOINC57 58 51 To set up a custom cross compilation toolchain, 59 52 see article at AndroidBuildClient 60 53 61 54 62 = Invoke build script =55 = Build script = 63 56 64 It is recommended to use the same AndroidBOINC build script for compiling BOINC apps 65 and the BOINC Client for AndroidBOINC. 57 Take a look at the build scripts in the BOINC software repository. They give you an idea of what steps are required and which cross compilation tools to use. 66 58 67 It is possible to adapt the scripts routine, 68 by un-setting the environment variables BUILDOPENSSL, BUILDCURL and BUILDBOINC. 59 There are also scripts available, which build required software components, i.e. curl and openSSL, or BOINC libs. 69 60 70 61