[TOOL] Tingle - Android patcher

ale5000

Senior Member
Dec 24, 2013
1,083
1,016
0
Description
File patcher to enable signature spoofing on Android (especially useful for projects like microG).
Success rate is now near 100%.

Download
Tingle (git version)

NOTE: Currently there isn't yet any release, only the git version.

Credits
@moosd (thanks for Needle)
@MaR-V-iN (thanks for the help)
@AnonVendetta (thanks for testing)
@Aaren11 (thanks for testing)
@ChristianTC (thanks for testing)
@_Kosmas_ (thanks for testing)

XDA:DevDB Information
[TOOL] Tingle - Android patcher, Tool/Utility for all devices (see above for details)

Contributors
ale5000
Source Code: https://github.com/ale5000-git/tingle


Version Information
Status: Testing

Created 2016-08-13
Last Updated 2017-11-04
 

AnonVendetta

Senior Member
Apr 29, 2016
837
310
63
Portland, OR
@ale5000: I got the patch to work, I had to deodex my system APKs and JARs. Then I applied the patch. Everything works so far.

However, on a friend's LG D415 running 5.1.1 SlimROM, it fails. Phone still boots but MicroG says signature spoofing isn't enabled. Will post a log later.

Edit: I meant to say that my friend is running SlimROM v6.0.1 Marshmallow, not v5.1.1 Lollipop.
 
Last edited:

AnonVendetta

Senior Member
Apr 29, 2016
837
310
63
Portland, OR
I also just tested your patch on my Galaxy Tab 2 7.0 (SM-P3113) running SlimROM 5.1.1. The patch works flawlessly. But I had to deodex it too. My friend's phone is already deodexed, not sure why it didn't work on his device.
 

Aaren11

Senior Member
Dec 12, 2015
181
83
0
I'm running the latest (7/8/2016) version of XenonHD on my LG G3 D855 for the past few days, and whereas I had no problem using needle to patch the build from a few months ago - this latest update throws an error even when using tingle.

I'm fairly certain I've set everything up correctly - I'm using my laptop at the hospital rather than my regular terminal, but I've installed Python 3, linked it in the PATH environmental variables updated Java RTE and made sure that I have working ADB drivers. Needle runs fine, pulls the framework and modifies it, but encounters an error. (I can post screenshots if necessary)

I've attached my unmodified framework.jar to this post, and any help possible would be most appreciated

The ROM is supposedly deodexed, so I haven't tried that yet, to be honest it isn't something I've ever done before or would know where to start with.


View attachment framework.jar

View attachment framework-res.apk
 
Last edited:

ChristianTC

Member
Aug 6, 2014
41
12
0
In the first option FileNotFounError: [WinError 2]
In the second option comes off as all done but framework.jar modified it has the same MD5 that he framework.jar original

I leave the framework.jar, Thank you very much for your time
 

Attachments

ChristianTC

Member
Aug 6, 2014
41
12
0
I'm stupid, I was going to Settings/Applications and mark all permissions and then I was going to
Settings/Privacy and mark all the permissions that were not marked and these permits are Disable app Wi-Fi usage and Disable app cellular usage, he was removing internet access.

I'm stupid.

Sorry.

The only thing that not works is the weather widget from Cyanogenmod 13, everything else works, synchronization contacts, calendar, Chrome and location for cellular it works.

Thanks for the help.
 

ChristianTC

Member
Aug 6, 2014
41
12
0
adb identifies the device as: 4df785271f4440c7
And for disconnect the device of the USB I have to kill process adb.exe from the Task Manager from Windows.
 

ale5000

Senior Member
Dec 24, 2013
1,083
1,016
0
@AnonVendetta and @Aaren11
You have both the same issue, the framework.jar you have contains 2 dex and the file to patch is inside the first dex but patching it exceed the limit of 64k methods (limit of a single dex) and so it fails, I have added a workaround in my code to move some methods in the second dex (that isn't full) so now it should work but always do a backup before use the patch to be sure.

Please report back if everything works.
 
Last edited:

ale5000

Senior Member
Dec 24, 2013
1,083
1,016
0
@ChristianTC
- For the first option: I was only searching for system wide adb, it never use adb in the folder of the script; in the latest version it search adb also in the tools folder so place it here (after updating Tingle).

- For the second option: This option was added recently and the modified file was only kept in the temp folder, now it is copied to the output folder.

Please report back if everything works.
 
Last edited:

ale5000

Senior Member
Dec 24, 2013
1,083
1,016
0
Tells me that All done but framework.jar modified It has the same MD5 that he framework.jar original.
It is really strange.

Try these steps:
1) Please make sure you have the latest version of Tingle (all files and folders, not just patch.py) by clicking "Clone or download" and then "Download ZIP" in the GitHub page.
2) Make sure to extract it in a user writable folder, like Documents; if you extract it under "C:\Program Files" then the patch may not have write permissions to write the file.
3) The patch read the file inside the input folder but write the final file in the output folder so it never overwrite the original file.
4) In case it still do not work open the command prompt with "Run as administrator" and then run the patch from here (it shouldn't really be needed but as last resort it can be tried).

One of the steps should hopefully fix the problem, please report back what happened.
 
Last edited:
  • Like
Reactions: ChristianTC

AnonVendetta

Senior Member
Apr 29, 2016
837
310
63
Portland, OR
@ale5000: Cancel my request, I caught my now ex-friend trying to steal from me, so I no longer have an incentive to help him with patching his framework.jar. However, if you would still like to provide a technical explanation as to why the patch didn't succeed, then I'd like to hear it anyway.

Sorry for the wasted time.....