This is for those of you that were using the one build of the Swype Beta that actually worked for the Ally (up until last week, when it expired).
There is a new beta floating around (version 2.4.44.10912.t100), however, when installed on the Ally, it instantly locks you out with a message that this version wasn't made for your phone.
I read somewhere that in the past, you could fix this by modifying the Swype apk to contain an older "license.dat" file (such as the one from the open beta). With this new version however, Swype will FC instantly if it was installed from a resigned apk.
Out of curiosity, I extracted the files from within "classes.dex" and started poking around. In one of the files, I found this line:
This sparked my curiosity a bit. Apparently, one area Swype looks for its "license.dat" file is on your phone's filesystem! After a few unsuccessful tests, I found a license file that worked on my phone. So far, Swype hasn't given me any problem with this combo of old license + new Swype.
The "license.dat" file itself can be found within older swype apk's that you may find floating around the net. It is located at "/assets/files/license.dat" within the apk. You may need to try multiple versions before you find one that works for your phone. Also, a quick reminder that Swype *is* copyrighted software, and that you download said apk's at your own risk.
The easiest way to get this onto your phone is to extract the "license.dat" file to your android SDK's "tools" folder and run this command (with your phone attached in USB debugging mode of course):
If you have trouble with the directory(s) not existing, make sure to run Swype at least once first. It will create it's own folders.
Good Luck!
Note: I've only had Swype working on my phone this way for about an hour now, so it could always change it's mind and stop working. I don't anticipate any trouble with it, but I haven't thoroughly tested it yet.
UPDATE: After upgrading my girlfriend's Ally to Velocity 0.2, I tried applying the Swype fix using the adb push command above. This failed with a "Permission Denied" error. Instead, I had push the file elsewhere and use a cli shell to move it to the correct location. Not sure why adb allowed the push on my phone but not on hers.
If you try the command above and get a permission denied error, try the following.
1) Transfer the file to your phone (anywhere should be fine)
2) Open a terminal emulator or an adb shell
3) Run the "su" command (no quotes) and confirm dialog on your phone to get root privileges.
3) Navigate to the location you placed "license.dat"
4) Run the command "mv license.dat /data/data/com.swype.android.inputmethod/swypedata/" (without the quotes)
I apologize for the sloppiness of my workaround. I'm a still bit of a newbie with the adb interface. Also, being good with the command line apparently doesn't make up for being bad at writing instructions. If anyone has a better (and more fool-proof) set of instructions, feel free to post them.
There is a new beta floating around (version 2.4.44.10912.t100), however, when installed on the Ally, it instantly locks you out with a message that this version wasn't made for your phone.
I read somewhere that in the past, you could fix this by modifying the Swype apk to contain an older "license.dat" file (such as the one from the open beta). With this new version however, Swype will FC instantly if it was installed from a resigned apk.
Out of curiosity, I extracted the files from within "classes.dex" and started poking around. In one of the files, I found this line:
Code:
.field private static final LICENSE_FILE_ON_FILESYSTEM:Ljava/lang/String; = "/data/data/com.swype.android.inputmethod/swypedata/license.dat"
The "license.dat" file itself can be found within older swype apk's that you may find floating around the net. It is located at "/assets/files/license.dat" within the apk. You may need to try multiple versions before you find one that works for your phone. Also, a quick reminder that Swype *is* copyrighted software, and that you download said apk's at your own risk.
The easiest way to get this onto your phone is to extract the "license.dat" file to your android SDK's "tools" folder and run this command (with your phone attached in USB debugging mode of course):
Code:
./adb push license.dat /data/data/com.swype.android.inputmethod/swypedata/
Good Luck!
Note: I've only had Swype working on my phone this way for about an hour now, so it could always change it's mind and stop working. I don't anticipate any trouble with it, but I haven't thoroughly tested it yet.
UPDATE: After upgrading my girlfriend's Ally to Velocity 0.2, I tried applying the Swype fix using the adb push command above. This failed with a "Permission Denied" error. Instead, I had push the file elsewhere and use a cli shell to move it to the correct location. Not sure why adb allowed the push on my phone but not on hers.
If you try the command above and get a permission denied error, try the following.
1) Transfer the file to your phone (anywhere should be fine)
2) Open a terminal emulator or an adb shell
3) Run the "su" command (no quotes) and confirm dialog on your phone to get root privileges.
3) Navigate to the location you placed "license.dat"
4) Run the command "mv license.dat /data/data/com.swype.android.inputmethod/swypedata/" (without the quotes)
I apologize for the sloppiness of my workaround. I'm a still bit of a newbie with the adb interface. Also, being good with the command line apparently doesn't make up for being bad at writing instructions. If anyone has a better (and more fool-proof) set of instructions, feel free to post them.