How would I dump files from an APK? - android

I was looking to mod a game as I really felt like adding a few extra things. It is a mobile game so I got the APK and moved it onto my computer, and began to decompile it. I know it uses the Unity engile so I looked for the .dll files but I couldn't find them, so after reading I found out that they only appear during running the game so I have to dump the files. The problem is, I have no idea how to dump files from an APK. Any help?

Use a rooted device, and extract all the files you need in runtime.

Related

Where is the .exe in flutter?

I am new to programming my own apps, since I used to work on old programs on the pc. Is there a file like the .exe in my old programs? Little backround information: I need to execute the app on a phone without a physical connection and without the typical appstores. In my imagination I can store something like the release file online and my users can download it?
Thanks for teaching me.
Hello and welcome to the community! On Android, the file you are looking for is called an APK, you can take that file and install it on other devices easily. For iOS it's a bit more complicated and you can't share the IPA files and install them as for android, you are confined to using a physical device or sending it over using testflight, which is provided by Apple for testers.
You can find those APK files inside your project's folder in the following path:
build/app/outputs/flutter-apk

How to compress an .APK file say by Winrar(.rar) and then convert it back to .APK?

As you all know a disadvantage of Xamarin Forms apps is their huge size. Though I went through different scenarios for reducing app size such as Linking and using Proguard, my Android APK size is still so high(about 30 MB). The thing is when I compressed this apk by Winrar the size got to about 11 MB. I renamed this compressed .rar file to .apk file but when I tried to install this file I got the message: "There was a problem parsing the package".
So my question is is there any mechanism to leverage the compression of a tool like winrar for an APK file so that it could be installed on any Android device?
Unfortunately, this isn't that easy.
During the packaging process, your app archive will be hashed. If you rar it or do any other tampering with the archive, the resulting app archive will have a different hash than the one it was built with. This will result in your apk invalidating itself on install due to security reasons.
You are going to have to unpack it then on the device again. You can't just go and rename a file and expect it to work, the binary structure is completely different.
You will need the user to download an app that is capable of unpacking a .rar (or whatever format you decide on) and learn the user to extract the APK file from there and then install it. The you do need to take into account is that the user needs to be a bit tech savvy to be able to do this and in some cases might even need more rights on a device than is usual. As far as I know there is no delivery mechanism that does this for you.
If you ask me, 30 MB isn't that much and the trouble to go through all this isn't worth the few megabytes you shaved off. If you look at the average apps in the store they are easily bigger than that.

Mutlilingual support for an already build up APK

I am facing a serious issue here. I built an android and iOS application. Now after I developed it completely and it is running seamlessly, I want it to be multilingual(both android and iOS). Is there any simplest method which I can use now to make both my android and iOS apps multilingual now. The .apk and .ipa files have already been prepared and the project is complete. Please help!!!!
You cannot modify your .apk and .ipa files to be multilingual. I mean, theoretically it's possible but it would be ludicrously difficult. If you are stuck with the .apk and .ipa files you have, then your task is extremely difficult, sorry.
You can modify the android and iOS projects (I am assuming they are separate projects) to provide multiple language versions of the resource files where your user text and images are stored, assuming that you correctly stored all text and images which get displayed to the user in resource files/folders.
For Android, see http://developer.android.com/training/basics/supporting-devices/languages.html
For IOS, see http://www.raywenderlich.com/64401/internationalization-tutorial-for-ios-2014.

Android jni lib not found when moving app to system app

I've been not able to solve my problem, I look around and I couldn't find a good solution.
The things is that I have an Android app that must be system app. I have my own devices so I'm able to install them on system app.
I'm doing this using a pre-installed app on system app. This app takes the .apk file from assets save it on the data/data and the move it to system/app/ folder.
Everything goes good, except when I launch it, it gets an exception java.lang.ExceptionInInitializerError, this means that the jni lib is not found. Probably because it has not been installed in the /system/lib directory.
Anyone know how can I solve this?
I know one solution is to look for the jni lib in the system and move it to system/lib but I would like to avoid this.
thank you.

How to unpack some files from .apk to /data/data/<package> folder while installing the .apk?

My android application needs another NATIVE application executable to run before the android one, so that they can communicate through sockets. Android application has a JNI layer for handling the client-side communication.
Now i need to bundle up the native executable along with the apk file, so that when it is installed on a device it gets unzipped into either the phone memory or the memory card.
How do i do this?
I tried keeping the native executable in res/asset and in res/raw folders, but they still don't get unzipped in /data/data/ folder.
One way I could find is to use AssetManager and then with help of InputStream and OutputStream, i can write this file onto the device the first time it is run and then use it. But there is no point to write it manually on phone memory as it might eat up the memory. ( the case where if memory card is not present. )
Can anyone help me on how can i achieve this? It would be great if there is an option to unzip the necessary files automatically at the time of installation.
How do i do this?
You don't. You unpack it yourself on first run of your application.
One way I could find is to use AssetManager and then with help of InputStream and OutputStream, i can write this file onto the device the first time it is run and then use it.
Correct.
But there is no point to write it manually on phone memory as it might eat up the memory.
Then why did you want it automatically unpacked there in the first place?
It would be great if there is an option to unzip the necessary files automatically at the time of installation.
No, sorry, this is not possible.
We have the same issue ... the direction we are exploring is to have two separate installs - the first one is the app and the second one is the data-app. When the data-app installs it copies the binary files to the SD card. When we uninstall the data-app it frees up the internal storage.
We don't have this one completely licked yet, and would love to hear other input and maybe find someone to help us by writing a couple of skeletal sample applications for us.
There are so many people who are in this boat (based on my googling) that if this approach doesn't work I suggest we (or someone) set up a generic file delivery web server and generic file delivery Android service and make it available to developers for a very low cost.
This isn't a typical use of OBBs but why not use one? It would then be a file separate to your apk installed in a pre-determined location. It doesn't have to be compressed.

Categories

Resources