I want to upload an APK file to Google Play, but the file exceeds the size of 50MB as I have over 600 images in the drawable package. I have searched the Internet, but could not find a good easy explanation of how to split the apk file to come up with expansion files.
Could anyone provide step by step of very simple example how to use JOBB tool and what modifications are need to be done in the application source file (in JAVA). I have found pages of Stack Overflow, but they do not show step-by-step simple easy to understand example.
For your kind information, I am using Android Studio.
Thank you very much
Related
I operated according to the tutorial of the following websitethis is the tutorial, but found that the contents of the file were different from those in the tutorial. As a result, when I extracted the assets folder, there was no content I wanted to obtain
i had tried to use AssetStudio to extract game but seems it failed,there are no resources in the packet folder of this game, only these contents in the picture, how should I extract the resources inside?If I only want to extract images, do I need to unzip the obb package? Or unpack the APK package?
someone come to help me,please,thanks a lot.
p
this is my file directory/
base\assets\bin\Data\Managed
I am developing an Android app in Java using OSMDroid to deliver offline maps in Mapnik tile format in a .zip file.
My question is about how to deliver these maps to users who download the app from the Play Store.
I don't know the exact size of my finished tileset but it will be a .zip file of about 100MB.
In protyping I am including a smaller tileset in my project's /assets folder, and on first run copying it to the user's external storage directory using the getExternalStoragePublicDirectory(Environment.MEDIA_SHARED) folder and replacing /shared with /osmdroid (on my phone it is /storage/emulated/0/osmdroid) and creating the directory if necessary. It's a bit of a hack but it works.
The problems with this are that the tileset (about 100MB) remains attached to the application while a copy is created in external storage. Which is kinda wasteful of space. I may also encounter problems with the APK being too big.
I thought of allowing the user to download the .zip file from an FTP server after they're finished installing the app (prompting them that it's a biggish download and to use WiFi if possible). I haven't looked at the technicalities in detail but this strikes me as being fairly straightforward to implement. However, I can't find any descriptions of people using this method.
So, my questions are:
Is there a standard or recommended way of delivering Mapnik tiles to users in live for offline use?
If so, what is it? (preferably with links to examples if possible)
Thank you to everybody in advance for your help!
In the end I downloaded the zip from an FTP server. This has been tested with a group of test users in a real-life environment and it seems to work well.
The zip file is downloaded to the directory returned by the method getExternalFilesDir. This returns the app's data storage directory which gives the advantage over a hard-coded path that when the app is uninstalled the zip files are also deleted.
I want to extract Clash of Clans game's images and animations from its android apk file. This is for a personal project and I want to add all characters and buildings in the projects.
I extracted the apk file and found the music but I didn't find any images/drawable assets which resemble any character/building.
There are some files with extension '.sc' and I doubt that they could be the files which I need. But I am not sure what are these and how to get the gif/png out of them? I found those file inside the game's apk at \assets\sc\ path.
Can anyone help me here, please?
Have you had any luck with this? I've also been looking for a way to decompress and came across this repo that decompresses some files, but I can't find a way to decompress the images/icons
https://github.com/amaanq/apk-updater
We are currently working on a Unity Android project that has to have localised mp4 streaming Videos. In order to achieve this I was hoping to put the video files in an expansion obb file, then we can have the same apk and submit it with different obb files according to language.
Unfortunately our application without the videos is still over 50Mb so we need to use the first "main.1.name.obb" for the application.
However we are allowed to also submit a second obb under the name "patch.1.name.obb". However I am having trouble making this and using it. Has anyone tried this with unity before?
The application builds and runs with the first obb file absolutely fine (i.e. the game works without videos) the problem is just in the patch obb creation.
I have tried to create the obb by using a linux zip command with 0% compression then renaming it to a .obb file with no luck. (e.g. patch.1.packname.zip to patch.1.packname.obb)
I have tried to create the obb using jobb tool, and it adds the videos fine but still in game they are not found/played.
The videos are definitely in an "assets" folder inside the obb files made (where I believe streaming assets have to be)
I have fudged the streaming Assets Path ( Application.streamingAssetsPath ) to replace "main" with "patch" and have seen through logcat that it is indeed trying to get the videos from the patch obb file.
(e.g. "jar:file:///[storagelocation]/Android/obb/packname/patch.1.packname.obb!/vid01.mp4 )
Our version code in the AndroidManifest.xml if definitely 1.
Can anyone suggest anything else to try or point out an clear errors I am making in trying to do this?
Let me know any more information you may need to help as well and thanks in advance.
I haven't worked with Unity before, but from my experience I can point out a few things I have found from working with '.obb' files:
Simply renaming the '.zip' file to a '.obb' file will not work. You will need to make a folder named '.obb'. Then add all the needed resource files to this folder and then zip this folder, using 0% compression of course. Make sure that the zipped file contains only the resource files in the root and not a sub folder (the folder you made previously). Now you have a zip file named '.obb.zip'. At this point you can rename the file to '.obb'. Of course, the files may be in a sub folder inside the obb file (the assets folder in your case), but I am not sure about the consequences of this.
In regards to the statement you made concerning the files that are not found after using the jobb tool, this is most likely due to a miss-spelling somewhere or in one of my cases, forgetting to rename the package after copying it from a previous app. I know this seems foolish and maybe insulting (in which case I deeply apologize), but it happens.
This answer is based on my personal experience and may be slightly off center, but here are some links I used:
http://developer.android.com/google/play/expansion-files.html
http://developer.android.com/google/play/publishing/multiple-apks.html
http://developer.android.com/tools/help/jobb.html
I've just finished an app which is about 100MB and I need to use expansion files for the first time.
I've looked through this tutorial http://ankitthakkar90.blogspot.co.uk/2013/01/apk-expansion-files-in-android-with.html, but I don't understand the concept of expansion files and looking for a bit more clarification.
What exactly are the contents of these expansion files? For example my app using alot of images and videos are these what need to go in my expansion files.
If the above is correct does that mean I need to take them out of my project, change my code were I have referenced these resources directly from my drawables and instead reference them from memory?
If both the above are wrong then what exactly goes in the expansion files and what happens to the apk which is already over 50MB.
I'd really appreciate any help explaining this.
1) Expansion files can have any assets that you use in your app (videos,audio,images,text files etc).
2) Yes, your expansion files are extracted inside the external storage of the device.. you should update all your references to get the data from there.
http://developer.android.com/google/play/expansion-files.html
The above link has it all explained (naming to use, how to debug ) etc.