If you go to 4shared, and look for the APK file for Minecraft Pocket Edition, and download it, etc.
And go into yojur File Manager of choice (Mine would be ASTRO, I HIGHLY Recommend this app)
Go to downloads, then look for that apk, a prompt will come up, and hit "Browse File"
Now you will see Files and Folders, the names of these will be
the "AndroidManifest" file
the "assets" folder
the "classes" file
the "lib" folder
the "META-INF" folder
the "res" folder
and the "resources" file.
Now, there are some files you can not open, but if you want you could simple email them to yourself and edit
them on your computer, wether it's a hex edit, Notepad++, or what, and you can email it back and replace it.
ASTRO, can open .XML files depending on your device, I have the Galaxy Tab 10.1.
Some files may be able to be opened in SilverEdit, available on the android market.
If anyone is curious now...
the "assets" folder contains:
a "font" folder which contains an image of the "Default" font
a "gui" folder which contains all the gui, like controls, buttons, etc.
an "item" folder which contains an image called "camera".
a "mob" folder containing the "char" image, which is the same template as PC version!
a "particles" image. It shows the snow flakes, rain drops, etc in picture.
a "sounds" folder which contains the "random" folder which contains sounds "click" "explode" and "splash"
and last but not least the terrain image!
Note: To open images, hold down on the image, tap Open As, and select Image.
the "lib" folder inside the app contains another folder named "armeabi-v7a" which contains a libminecraftpe.so file.
the META-INF folder contains the manifest, and CERT files. This is the folder we usually delete when adding mods to the PC version of Minecraft.
the "res" folder in the app contains:
the "drawable" folder, which contains a "bg32" image which is the dirt tile used in the background of the app, the "bgtiled" file which (I believe) tells the bg32 image to make a tile pattern, and also the "iconc" image which is the app's shortcut icon (size is 132,782)
the "drawable-hdpi" folder, which contains an "icon" image, which is also the same icon but very low res (im guessing for smaller devices)
the "drawable-ldpi" folder, which contains yet another (terrible quality) icon.
the "drawable-mdpi" folder, which contains THE SAME THING AS THE LAST FOLDER. Maybe as layers?
the "layout" folder, which contains: a "create_world_screen.xml" file (I'm guessing it tells the app what to show when you create a new world ), a "main.xml" file (No clue), a "mainmenu_options.xml" file ( Im now starting to guess it's the popups), and a "rename_mp_world.xml" file.
the "raw" folder, which contains (AHA!)
I see all the sounds, I will list them (Sounds are all .ogg formats); click, cloth1, cloth2, cloth 3, cloth4(I will just put 1-4 for the rest) explode, grass1-4, gravel1-4, ladder1-4, sand1-4, snow1-4, splash, stone1-4, wood1-4
the "xml" folder, which contains a "preferences" file. This is self explanatory as it memorizes your settings for the app.
If anyone can do anything with this, drop me a line. Also, I don't mind sending any files to anybody.
So far I can see that you can mod:
The font
Possibly the GUI
Your character
The terrain (That may possibly mean theme packs!)
Maybe the sounds, maybe someone could make me a .xml file to run a continuous music .ogg sound?)
So, these are ALL the files, images, and sounds related to the mobile app.
You can do this same thing as well, as long as you have the .apk file! I did this for educational purposes only, I actually bought the app, if you bought it, you should be entitled to getting the apk and editing it yourself.
Also, doing it this way, when modding any of this, you have to REINSTALL the application to your android!
I have no yet found the ACTUALL already-installed files on my Galaxy except where my maps are. If you want me to teach you how to import/export maps, to back them up, or w/e, I will make a tutorial for it!
Please comment and lemme know what you think guys! This took my a VERY long time to make!
In order to mod an android app, you have to disassemble it. You can do it using apk manager 4.9 it can also recompile it later. Anyway, there is no way for android app to be decompilet like java app, it's because of different compilation process. You can decompile dex classes so they will be readable.. But if you want to modify something you have to use smali. That's for regular android app. As such complex game like minecraft propably uses native coding mostly, it gets even more complicated, if not impossible...
@Mathewbe did you uninstall game before trying to install mod?
He already knows what he did wrong - he needed to sign the APK.
Also, doing it this way, when modding any of this, you have to REINSTALL the application to your android!
Wrong. If you have root you can replace the apk in the /data/app folder. If you don't have root you have the sign the APK and then install it.
As such complex game like minecraft propably uses native coding mostly, it gets even more complicated, if not impossible...
It does. The Minecraft Pocket Edition is mostly written in C++, not Java. The main file is the libminecraftpe.so file, and is a Linux shared library. You can disassemble it by downloading the Android NDK and running arm-linux-androideabi-objdump -dC libminecraftpe.so, which would give you raw assembler code. Unfortunately, I'm not familiar with assembler, so I don't quite understand the output.
Also, I'm curious: where does Minecraft Pocket Edition store its settings? On the SD card, perhaps?
It does. The Minecraft Pocket Edition is mostly written in C++, not Java. The main file is the libminecraftpe.so file, and is a Linux shared library. You can disassemble it by downloading the Android NDK and running arm-linux-androideabi-objdump -dC libminecraftpe.so, which would give you raw assembler code. Unfortunately, I'm not familiar with assembler, so I don't quite understand the output.
Also, I'm curious: where does Minecraft Pocket Edition store its settings? On the SD card, perhaps?
I have to look somewhere in my internal storage....as that's the only storage I have on my Galaxy Tab 10.1
I'll look around all my files. As I'm rooted now also, that might help.
I have a 64GB SdCard that is about halfway full on my phone, Idont want to bother with my phone.....
I have to look somewhere in my internal storage....as that's the only storage I have on my Galaxy Tab 10.1
I'll look around all my files. As I'm rooted now also, that might help.
I have a 64GB SdCard that is about halfway full on my phone, Idont want to bother with my phone.....
It's probably stored near the world storage folders, which are located at \games\com.mojang\
I'm curious to see whether there are hidden settings. (I'm hoping for an option to enable a F3-like debug screen. )
It's probably stored near the world storage folders, which are located at \games\com.mojang\
I'm curious to see whether there are hidden settings. (I'm hoping for an option to enable a F3-like debug screen. )
It's probably stored near the world storage folders, which are located at \games\com.mojang\
I'm curious to see whether there are hidden settings. (I'm hoping for an option to enable a F3-like debug screen. )
Hi!
Interesting thread, I recently (just for educational purposes only) successfully decompiled Minecraft PE into editable java-files, so in theory, modding is possible.
That's just the title screen and settings; the real stuff is the C++ code in libminecraftpe.so . I disassembled it, but couldn't understand the resulting ARM assembler.
The Minecraft PE settings reset after uninstalling and installing the game again, so I'm guessing they're stored in a default Android system location.. Like where any other app would store settings. According to a section of dev.android.com there are multiple methods of storing settings/other data.
I also looked a couple places but could not find it.
I found out that the Minecraft PE demo runs now, albeit extremely slowly, on the Android Ice Cream Sandwich SDK armv7-eabi emulator. The older emulators does not seem to work as they emulate an Armv5 processor, while Minecraft requires an Arm7 processor. I ran the emulator on a separate computer, as the other computer was faster, so I could not use the OpenGL acceleration, which meant that the world refused to render, as it required OpenGL ES 2.0. The UI seemed to work fine, with the exception of the settings button from the title screen, which segfaulted Android and caused the simulator to reboot.
Pictures:
Anyone know anything about the iOS version of Minecraft PE? I don't know a thing about modding but it would be nice to know or be told at least something about modding Minecraft PE for iOS.
Anyone know anything about the iOS version of Minecraft PE? I don't know a thing about modding but it would be nice to know or be told at least something about modding Minecraft PE for iOS.
The iOS version of the game is built off the same source code as the Android version. Both are written in C++, not Java, which means that modding methods would be very different from desktop modding if it is even possible.
So i'm not sure if this has been asked yet, but it doesn't show up anywhere on google. Can anyone tell me (or post a link) how to add a player skin onto the android version of pocket edition. This is easily done on the IOs version, but I can't seem to find the app on my android.
Root your phone and download caleb's app, its in the texture pack subsection
But he's asking how to change the player skin.
You would use AndroZip or ES File Explorer to open the APK, put your new texture in, and rezip it then use a certain app to sign it(I forget which, >_<).
The iOS version of the game is built off the same source code as the Android version. Both are written in C++, not Java, which means that modding methods would be very different from desktop modding if it is even possible.
Yep, it's made in C++, so you can't class-dump it and write a MobileSubstrate addon for it.
I've tried to run gdb (the GNU Debugger) on the Android version of Minecraft PE running in the Ice Cream Sandwich emulator and failed. I hope that someone with more experience could figure it out.
One of the problems with this is that the Minecraft PE executable, although not obfuscated, had its debugging symbols removed.
I downloaded the Android NDK, and followed the instructions on http://www.aton.com/android-native-development-using-the-android-open-source-project/ to get gdb going.
I first sent the NDK version of gdbserver over to the emulator (the built-in version is incompatible with the gdbclient shipped in the NDK), then ran adb forward "tcp:5505" "tcp:5505" to port forward port 5505 to my PC.
Then, I ran adb shell, and started Minecraft PE. I looked up its PID from running ps in the shell, and used it to launch gdbserver.(./gdbserver :5505 --attach 123 if 123 is the pid).
Finally, I ran the gdb provided in the NDK, typed file libminecraftpe.so to load a local copy of libminecraftpe, and typed target remote :5505 to connect to the gdbserver.
I could now control and break into Minecraft PE, but I could not set breakpoints, as gdb expects a proper debug symbols table to do that. I hope though that someone could figure a way to do this.
If we can mod PC version...
How about the Mobile edition as well?
Well...let's adventure through the files...
If you go to 4shared, and look for the APK file for Minecraft Pocket Edition, and download it, etc.
And go into yojur File Manager of choice (Mine would be ASTRO, I HIGHLY Recommend this app)
Go to downloads, then look for that apk, a prompt will come up, and hit "Browse File"
Now you will see Files and Folders, the names of these will be
the "AndroidManifest" file
the "assets" folder
the "classes" file
the "lib" folder
the "META-INF" folder
the "res" folder
and the "resources" file.
Now, there are some files you can not open, but if you want you could simple email them to yourself and edit
them on your computer, wether it's a hex edit, Notepad++, or what, and you can email it back and replace it.
ASTRO, can open .XML files depending on your device, I have the Galaxy Tab 10.1.
Some files may be able to be opened in SilverEdit, available on the android market.
If anyone is curious now...
the "assets" folder contains:
a "font" folder which contains an image of the "Default" font
a "gui" folder which contains all the gui, like controls, buttons, etc.
an "item" folder which contains an image called "camera".
a "mob" folder containing the "char" image, which is the same template as PC version!
a "particles" image. It shows the snow flakes, rain drops, etc in picture.
a "sounds" folder which contains the "random" folder which contains sounds "click" "explode" and "splash"
and last but not least the terrain image!
Note: To open images, hold down on the image, tap Open As, and select Image.
the "lib" folder inside the app contains another folder named "armeabi-v7a" which contains a libminecraftpe.so file.
the META-INF folder contains the manifest, and CERT files. This is the folder we usually delete when adding mods to the PC version of Minecraft.
the "res" folder in the app contains:
the "drawable" folder, which contains a "bg32" image which is the dirt tile used in the background of the app, the "bgtiled" file which (I believe) tells the bg32 image to make a tile pattern, and also the "iconc" image which is the app's shortcut icon (size is 132,782)
the "drawable-hdpi" folder, which contains an "icon" image, which is also the same icon but very low res (im guessing for smaller devices)
the "drawable-ldpi" folder, which contains yet another (terrible quality) icon.
the "drawable-mdpi" folder, which contains THE SAME THING AS THE LAST FOLDER. Maybe as layers?
the "layout" folder, which contains: a "create_world_screen.xml" file (I'm guessing it tells the app what to show when you create a new world ), a "main.xml" file (No clue), a "mainmenu_options.xml" file ( Im now starting to guess it's the popups), and a "rename_mp_world.xml" file.
the "raw" folder, which contains (AHA!)
I see all the sounds, I will list them (Sounds are all .ogg formats); click, cloth1, cloth2, cloth 3, cloth4(I will just put 1-4 for the rest) explode, grass1-4, gravel1-4, ladder1-4, sand1-4, snow1-4, splash, stone1-4, wood1-4
the "xml" folder, which contains a "preferences" file. This is self explanatory as it memorizes your settings for the app.
If anyone can do anything with this, drop me a line. Also, I don't mind sending any files to anybody.
So far I can see that you can mod:
The font
Possibly the GUI
Your character
The terrain (That may possibly mean theme packs!)
Maybe the sounds, maybe someone could make me a .xml file to run a continuous music .ogg sound?)
So, these are ALL the files, images, and sounds related to the mobile app.
You can do this same thing as well, as long as you have the .apk file! I did this for educational purposes only, I actually bought the app, if you bought it, you should be entitled to getting the apk and editing it yourself.
Also, doing it this way, when modding any of this, you have to REINSTALL the application to your android!
I have no yet found the ACTUALL already-installed files on my Galaxy except where my maps are. If you want me to teach you how to import/export maps, to back them up, or w/e, I will make a tutorial for it!
Please comment and lemme know what you think guys! This took my a VERY long time to make!
*-Game Modes Forum Moderator-*
Me, and everyone else on XDA-DEVELOPERS are stumped.
*-Game Modes Forum Moderator-*
That's separate, you hack the inventory via a hex editor.
He already knows what he did wrong - he needed to sign the APK.
Wrong. If you have root you can replace the apk in the /data/app folder. If you don't have root you have the sign the APK and then install it.
It does. The Minecraft Pocket Edition is mostly written in C++, not Java. The main file is the libminecraftpe.so file, and is a Linux shared library. You can disassemble it by downloading the Android NDK and running arm-linux-androideabi-objdump -dC libminecraftpe.so, which would give you raw assembler code. Unfortunately, I'm not familiar with assembler, so I don't quite understand the output.
Also, I'm curious: where does Minecraft Pocket Edition store its settings? On the SD card, perhaps?
I have to look somewhere in my internal storage....as that's the only storage I have on my Galaxy Tab 10.1
I'll look around all my files. As I'm rooted now also, that might help.
I have a 64GB SdCard that is about halfway full on my phone, Idont want to bother with my phone.....
*-Game Modes Forum Moderator-*
It's probably stored near the world storage folders, which are located at \games\com.mojang\
I'm curious to see whether there are hidden settings. (I'm hoping for an option to enable a F3-like debug screen. )
Did not find anything ANYWHERE.
Um..... Caleb may know. Lol.
*-Game Modes Forum Moderator-*
Did not find anything ANYWHERE.
Um..... Caleb may know. Lol.
*-Game Modes Forum Moderator-*
That's just the title screen and settings; the real stuff is the C++ code in libminecraftpe.so . I disassembled it, but couldn't understand the resulting ARM assembler.
I tried the objdump from the Android NDK, following the instructions from http://wiki.multimedia.cx/index.php?title=Objdump
The resulting file is ~15MB, and I'm too lazy to upload it.
Edit: Uploaded it at https://github.com/downloads/zhuowei/zhuowei.github.com/mpe_dis.zip
I feel so relied on.
The Minecraft PE settings reset after uninstalling and installing the game again, so I'm guessing they're stored in a default Android system location.. Like where any other app would store settings. According to a section of dev.android.com there are multiple methods of storing settings/other data.
I also looked a couple places but could not find it.
Source: http://developer.android.com/guide/topics/data/data-storage.html
Pictures:
Exactly.
Edit: Actually, adb install.
The iOS version of the game is built off the same source code as the Android version. Both are written in C++, not Java, which means that modding methods would be very different from desktop modding if it is even possible.
But he's asking how to change the player skin.
You would use AndroZip or ES File Explorer to open the APK, put your new texture in, and rezip it then use a certain app to sign it(I forget which, >_<).
Yep, it's made in C++, so you can't class-dump it and write a MobileSubstrate addon for it.
One of the problems with this is that the Minecraft PE executable, although not obfuscated, had its debugging symbols removed.
I downloaded the Android NDK, and followed the instructions on http://www.aton.com/android-native-development-using-the-android-open-source-project/ to get gdb going.
I first sent the NDK version of gdbserver over to the emulator (the built-in version is incompatible with the gdbclient shipped in the NDK), then ran adb forward "tcp:5505" "tcp:5505" to port forward port 5505 to my PC.
Then, I ran adb shell, and started Minecraft PE. I looked up its PID from running ps in the shell, and used it to launch gdbserver.(./gdbserver :5505 --attach 123 if 123 is the pid).
Finally, I ran the gdb provided in the NDK, typed file libminecraftpe.so to load a local copy of libminecraftpe, and typed target remote :5505 to connect to the gdbserver.
I could now control and break into Minecraft PE, but I could not set breakpoints, as gdb expects a proper debug symbols table to do that. I hope though that someone could figure a way to do this.