• en
  • pl

Posts Tagged : Android

android_vector
Co zrobić gdy moja aplikacja dla Androida zajmuje więcej niż 50MB

Ograniczenie  wielkości aplikacji (pliku APK) do 50MB na platformie Android jest dość uciążliwe, ale nie pozostajemy sami z tym problemem. Jest to wyłącznie teoretyczne ograniczenie. Rozwiązaniem są expansion files. Expansion file są to pliki z roszerzeniem .obb, hostowane na serverach Google. Odciąża to nas tym samym z konieczności hostowania dużych plików, co przy sporej ilości instalacji może stanowić duże obciążenie.

Zawartość pliku obb może być całkowicie dowolna, może być to plik ZIP, PDF czy nawet MP4. O ile spakowanie naszych dodatkowych danych do postaci ZIP’a wydaje się rozsądne, pamiętajmy  że takie dane trzeba będzie wypakować. Dużo lepszym rozwiazaniem jest trzymanie plików w oryginalnej formie, pozwala nam to osadzić plik obb i korzystać z jego zawartości jak gdyby były to wypakowane pliki. Bez rozpakowywania.

Standardowym narzędziem do tworzenia pliku obb, jest JOBB tool. Przykładowy sposób wygenerowania pliku dla ANT’a:


<exec executable="${adb.sdk}tools/jobb.bat">
 <arg value="-d" />
 <arg value="${basedir}/sciezka-do-folderu-z-naszymi-plikami/" />
 <arg value="-o" />
 <arg value="${obbpath}" />
 <arg value="-pn" />
 <arg value="${app.full-package}" />
 <arg value="-pv" />
 <arg value="${version}" />
 </exec>

oczywiście w miejsce zmiennych należy podać odpowiednie ścieżki, np:

adb.sdk = C:/Program Files (x86)/Android/android-sdk/
obbpath=sciezka-do-pliku/main.100001.com.mycompany.mygame.obb
app.full-package = com.mycompany.mygame
version=100001

Rzeczą o której należy pamiętać jest schemat nazywania pliku:  [main|patch].<expansion-version>.<package-name>.obb

Tak przygotowany plik wstawiamy w android console wraz z naszą aplikacją. Mamy możliwość dodania dwóch plików rozszerzenia, główny (main) i aktualizujący (patch). Każdy z tych plików pozwala na dodanie dodatkowych 2GB danych.

Aby skorzystać z naszego pliku w aplikacji, najprościej jest wykorzystać gotową bibliotekę.