diff options
author | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2017-08-31 11:50:51 +0200 |
---|---|---|
committer | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2017-08-31 12:49:13 +0200 |
commit | 66518ead516e90d606e87c6ce58ec11fea6d172e (patch) | |
tree | ac8f7a5013665de3d7cba060534cf5e182c113db /android/source/build.gradle | |
parent | e19100212c41f1b992f6e893ba525612e652d0c5 (diff) |
use extractNativeLibs="false" for less disk usage and faster installation
no need to extract the (huge) nativve lib to the device's filesystem on
newer android versions (Marshmallow and later) - can access the .so from
within the apk if it is uncompressed.
While the standalone apk will be larger, the delta-update mechanism of
playstore can be more efficient, so you get:
* faster installation (since the file doesn't need to be extracted)
* less disk usage on device (for same reason)
* smaller delta-updates for playstore
drawbacks
* larger standalone apk
* on older android version more storage needed (the increased size of
the standalone apk), as those will still extract the native-lib
Unfortunately uncompressed it exceeds the current maximum size for
single apk files in playstore (100MB), so cannot use for release-builds
also revive installLocation attribute to allow installation on external
storage and move from manifestPlaceholders from defaultConfig to release
buildType (as otherwise gradle complains about having "Multiple entries
with same key")
Change-Id: Id07ac9c144886bb89abaf7b5b4bc7bd548f27247
Diffstat (limited to 'android/source/build.gradle')
-rw-r--r-- | android/source/build.gradle | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/android/source/build.gradle b/android/source/build.gradle index 92c6680f464a..1421f000de23 100644 --- a/android/source/build.gradle +++ b/android/source/build.gradle @@ -64,7 +64,6 @@ android { // 22 treats them as warnings, on 23 it is fatal error // ToDo: fix openssl stuff to not block targeting 23 or later targetSdkVersion 22 - manifestPlaceholders = [installLocation: "preferExternal"] vectorDrawables.useSupportLibrary = true } buildTypes { @@ -72,7 +71,12 @@ android { // make android studio happy... jniDebuggable true // would work just fine with external, but setting emulator up is a little more work - manifestPlaceholders = [installLocation: "internalOnly"] + manifestPlaceholders = [installLocation: "auto", extractNativeLibs: "false"] + } + release { + // need to extract native libs (allow to compress them in apk), since otherwise would + // exceed maximum size for playstore + manifestPlaceholders = [installLocation: "preferExternal", extractNativeLibs: "true"] } } productFlavors { |