Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-17391] Android: Support APK expansion files

GitHub Issuen/a
TypeNew Feature
PriorityMedium
StatusOpen
ResolutionUnresolved
Affected Version/sn/a
Fix Version/sn/a
ComponentsAndroid
Labelscb-tooling
ReporterIngo Muschenetz
AssigneeUnknown
Created2014-07-24T21:23:05.000+0000
Updated2018-02-28T20:04:27.000+0000

Description

If your application is over 50MB, you can publish additional "expansion" files to the Google Play Store. http://developer.android.com/google/play/expansion-files.html People have asked for this functionality before in Q & A. See: * https://developer.appcelerator.com/question/176459/android-apk-expansion-files * https://developer.appcelerator.com/question/134685/android-apk-expansion-pack * http://developer.appcelerator.com/question/134202/android-market-apk-changes * https://developer.appcelerator.com/question/164165/will-titanium-support-adding-apk-expansion-files

Comments

  1. Jason Kneen 2014-09-08

    Available here:- https://github.com/jasonkneen/TiExpansionFiles With example expansion files, example app.js - supports background downloads, direct file access without unzipping etc.
  2. Ricardo Arguello 2015-10-11

    Jason, Thanks for the module, it is very useful. The problem is that with android version 5.0 or 5.1 I am getting this error: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.android.vending.licensing.ILicensingService } The solution appears to be simple, just calling this line after initializing the intent: serviceIntent.setPackage("com.android.vending"); Do you think it is possible to fix the module or share the code? Thanks!
  3. Osian Evans 2016-10-19

    @RicardoArguello, did you resolve this issue, or find an alternative solution? Thanks.
  4. Ricardo Arguello 2016-10-19

    Osian, I ended up creating my own module for handling Expansion Files.
  5. Osian Evans 2016-10-19

    Do you have it available as a marketplace module or an open project? Have contacted and am waiting to hear back from Jason.
  6. Ricardo Arguello 2016-10-19

    Osian, please contact me at my email...
  7. Hans Knöchel 2016-11-05

    If I get the [APK Expansion Files](https://developer.android.com/google/play/expansion-files.html) page correctly, it is nothing that we must support with our SDK, but something that the user can package using the [JOBB Tool](https://developer.android.com/studio/command-line/jobb.html). We may need an adjustment in our Ti.Filesystem to handle the downloaded .obb, but that should be pretty straight forward. So if someone could do a PoC, we could help by doing a blog post about the single steps. *EDIT*: More thoughts in TIMOB-19069
  8. Jorge Leonor 2017-01-09

    Appcelerator SDK has a module to generate expansion files? The Module TIExpansionFiles (https://github.com/appcelerator-forks/_jasonkneen.TiExpansionFiles) don´t work for SDK 6.0.0 GA. I am investigating some module similar to this, but there is nothing to generate APK with expansion files. My APK is greater than 100 MB and I ran out of form to generate the APK. Any idea how to fix this? I think a module of this kind should be a priority. Thanks for the support.
  9. Hans Knöchel 2017-06-16

    Quick update here: [Ti.ExpansionFiles](https://github.com/jasonkneen/TiExpansionFiles) was updated to support SDK 6.0.0+ last recently, you should try it out. [~jquick] would it make sense to include that in the core? Trying to keep it more slim in general.
  10. Joshua Quick 2017-06-21

    Adding expansion file support to the core would definitely have its advantages. The current module appears to provide expansion file data via blobs, which would be expensive for large files. An integrated version can avoid that. But we would have to support 2 things first:

    We would need to add Google Licensing support (aka: Google LVL) to the core as well in order to download the expansion file... or at least require it as a module to work. This is because Google Play does not always automatically download it and we need licensing to acquire a temporary download URL once verified that the app was acquired legally.

    We would also need a new API/scheme to identify which Android app store we're targeting. This is because Google expansion files and licensing is a feature of the Google Play app store. It isn't relevant to other app stores such as Amazon, Samsung, etc.

JSON Source