ale5000-git / tingle

Tingle - Android patcher
http://forum.xda-developers.com/showthread.php?t=3438764
GNU General Public License v3.0
160 stars 11 forks source link

ERROR: No dex file(s) found, probably your file is odexed. #10

Open port3306 opened 7 years ago

port3306 commented 7 years ago

I become the following error, can you help me?

    1 - From the device (adb)
    2 - From the input folder

1

* OS: Windows 10 (win32) * Mode: 1 * Selected device: TAXXXXFKP1 * Working dir: c:\users\user\appdata\local\temp\tmpazekga * Pulling framework from device... 100 KB/s (310 bytes in 0.003s) * Disassembling framework...

ERROR: No dex file(s) found, probably your file is odexed.

ERROR CODE: 86

I have Install cm13 nightly for falcon device

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37551654-error-no-dex-file-s-found-probably-your-file-is-odexed?utm_campaign=plugin&utm_content=tracker%2F43052892&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F43052892&utm_medium=issues&utm_source=github).
ale5000-git commented 7 years ago

Hi, unfortunately currently Tingle doesn't support odexed ROMs directly.

But it should work correctly if you deodex your ROM before using Tingle. There is a tool for this here: Universal Deodexer

ale5000-git commented 7 years ago

@port3306: Have you been able to patch?

For any problem just ask :)

pejakm commented 7 years ago

Will Tingle work if I deodex only relevant file? content.jar, for example?

ale5000-git commented 7 years ago

@pejakm: Tingle works also if you only deodex the framework.jar but I'm not sure if the signature spoofing will work in this case, I haven't tested it.

ArchangeGabriel commented 7 years ago

I’m having the same issue with CyanogenMod 14.1. How can I deodex it (I’m running Linux, your link above is for Windows)? Will it be odexed again after patching?

ale5000-git commented 7 years ago

Tingle will just patch a deodexed framework.jar and the file remains deodexed. To be sure to make it working you have to deodex the entire ROM. I will create a tool to deodex the entire ROM in the future but there isn't an ETA yet.

Maybe there are other ways to make it working but I don't know enough about this and I cannot guarantee it will work.

ArchangeGabriel commented 7 years ago

OK, waiting for your tool then. So, is it something new that CM is odexing their ROMs?

ale5000-git commented 7 years ago

They have started at some point, not really new. But there are also custom CM that aren't odexed at XDA forums.

xenithorb commented 7 years ago

Could it be that it expects the user to have booted and passed optimization before patching? Could it be that these failures to patch are because it can't find the dex file because it hasn't been generated yet (That's how it works right?). Seeing similar reports here

AFAIK this is the only working option to use signature-spoofing on Android 7+ (LO 14.1) at the moment, so thanks for that. I'm using bacon's build which is deodexed and it works great.

ale5000-git commented 7 years ago

@xenithorb: This tool is currently only for patching deodexed files, so before using you have to deodex your ROM. I plan to simplify things in the future but currently there isn't any other way.

xenithorb commented 7 years ago

This tool is currently only for patching deodexed files, so before using you have to deodex your ROM.

I totally understand that but it's not what I'm asking.

How does this tool work on a freshly flashed /system (from a deodexed rom) that hasn't been booted yet? Presumably dex files wouldn't exist yet, right?

Lanchon commented 7 years ago

Could it be that it expects the user to have booted and passed optimization before patching?

Presumably dex files wouldn't exist yet, right?

nope. wrong.

tingle patches dex files, not the ART cache. dex files are what is shipped in a deodexed rom.

Lanchon commented 7 years ago

AFAIK this is the only working option to use signature-spoofing on Android 7+ (LO 14.1) at the moment

doesnt my tool haystack support 7? dont remember, but i think it does.

ale5000-git commented 7 years ago

@xenithorb: A deodexed ROM (the one that take longer on the first start to optimize) have all dex directly while an odexed ROM have files already optimized (and they cannot be patched unless "deoptimized aka deodexed").

xenithorb commented 7 years ago

OK. I'll just have to wait and see what build those people are using and for what device to tell if it's odexed. I wasn't aware that they were... for whatever reason being a bacon user for 3 years on CM It was always deodexed, so I was trying to think of other possibilities of why it would fail to work. Thanks for the input!

(It was my misunderstanding that .dex was what was generated by optimizing on an deodexed rom on first-boot)

kevinkvothe commented 7 years ago

Sorry but, may I ask for ETA for this tool you mentioned about odexed roms, @ale5000-git ?

anonimou0 commented 7 years ago

So, I'm on Z00L. After a comment from another user that this ROM was similar to Z00T, I've tried to patch using tingle again. No luck.. Navigating on folders, I see no *.odex files (was I supposed to see?)... Also, I've tried using the Universal Deodexer cited by @ale5000-git a few comments before. It simply deleted the files that was supposed to deodex. I assumed that Universal Deodexer assumed that those files were already deodexed and had nothing to do with it. Not sure if my assumption is right.

chrisvella commented 7 years ago

I also had no luck with Universal Deodexer or other similar windows tools. They all seem to fail for lineage os 14.

rasos commented 5 years ago

No luck either with LineageOS 15.1 for Le Pro3 https://www.lineageoslog.com/15.1/zl1 and de-odexing framework and apps with the 3C Toolbox App. Still getting ERROR: No dex file(s) found, probably the ROM is odexed.