Show interest in Blizzard bringing Linux support for their games

Man, I don't even play the game, but I do own a Nexus 5. :p So I'll help a guy out, haha. Guide: How to Hearthstone for your phone! [No root required]

Hey there

It seems everybody is eager to play Hearthstone on their mobile phone, but they can't because their phones aren't 6 inch or bigger. There is a way to get around this, but it involves some decompiling/recompiling and changing two lines of code.

Video tutorial done by /u/CleverFrog over here

First of all, the tools that you need are:

  • To decompile the APK: This tool
  • To decompile CSharp: Decompile CSharp: This tool
    • This one requires a plugin though; when you start this software, look for the menu item "Plugins/Plugins Manager" and install the plugin called "Assembly Editor"

APK and OBB files:

You can download them via your phone as individual files, as long as you just request the desktop website.

Bold means newer.

Step one:

Fire up APK Studio and decompile the Hearthstone APK
Open up the AndroidManifest.xml file
Replace android:normalScreens="false" with android:normalScreens="true"
The same goes for android:smallScreens="false" -> android:smallScreens="true"
Save this file

Step two:

Fire up JustDecompile and open the file Assembly-Csharp.dll (your_decompiled_folder/assets/bin/Data/Managed/Assembly-CSharp.dll)
Look in <Default namespace> for the class "MobileCallbackManager" (fold out "Assembly-CSharp" until you find <Default namespace>)
(if you haven't by now, open up the plugin by selecting it in the Plugins window (Reflexil))
There is a method in there called "IsAndroidDeviceTabletSize()", click on it
In the window of the plugin, on the "Instructions" tab, you should now see a line that has a value of 6 in the Operand column (http://puu.sh/dx8bX/bff8ee08ad.png)
Right click on this and select edit and change the value to 1 (or whatever you want, just a number smaller than the size of your phone) and then click Update
In the list on the left, scroll all the way back up, right click on "Assembly-CSharp", select "Reflexil 1.8 -> Save As" and save it (trying to overwrite the original one caused problems for me)
(If you have problems with this one, go to step two.one)
Remove the Assembly-CSharp.dll file and rename the new dll to Assembly-CSharp.dll

Steo two.one (Only if you're having problems saving the DLL):

- On the same line where you clicked edit and changed the value from 6 to whatever. Right click again and select "Replace all with code"
- This should open a window showing some code, **just click cancel**
- Now try to save using the normal steps

Step three:

Open APK Studio again
Click on the hammer icon (make sure you have the project selected) to build your modified APK (rebuilt.apk in the build folder)

Step four (you can skip this if you already have the OBB files on your phone):

Put the OBB files on your SD card in the following folder
Android/obb/com.blizzard.wtcg.hearthstone/XXX.OBB

Step five:

Install the APK
Enjoy the game

I've tested this myself on a Nexus 4 (KitKat) and Nexus 5 (Lollipop) and it starts on both. However, at some point it just decides to crash on my Nexus 5 and I assume this is because of Lollipop.

Cheers

http://www.reddit.com/r/hearthstone/comments/2phc0e/guide_how_to_hearthstone_for_your_phone_no_root/ I hope that works for you.

/r/pcgaming Thread Parent Link - gamingonlinux.com