• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[Tool] (v5.0) Fully automated tool for create deodex from ART (Nougat support)

Search This thread

svadev

Senior Member
Dec 13, 2014
133
481
This Toolkit for creating deodex firmware from android runtime (ART).

Changelog (v5.5) from 21/04/2017:


  1. SamsungInCallUI.apk deodexing without errors. For it i developed and implemented the method of heavy deodexing for SamsungInCallUI.apk
  2. You must specify the path to the full stock /system directory to create script commands for all symlinks, not just for libraries.
  3. Full support Android Lollipop/Marsmallow/Nougat. Automatic detection android version (Lollipop/Marsmallow/Nougat)
  4. More optimizations
  5. Detected and fixed small errors
New version v5.5 here






Changelog (v5.0) from 08/12/2016:

  1. Support Android Lollipop/Marsmallow/Nougat
  2. Automatic detection android version (Lollipop/Marsmallow/Nougat)
  3. More optimizations
  4. Fixed errors
Version v5.0 here




SVADeodexerForArt.jpg

New version v4.1 here

Changelog (v4.1) from 09/03/2016:
Fixed a bug in the processing of non-standard sequence file build.prop

Changelog (v4.0) from 23/11/2015:


1. Added full support for Android M
2. More optimizations


Changelog (v3.5) from 20/07/2015:

1. Added full support for processor architectures:


  • arm
  • arm64
  • x86
  • x64
  • mips
  • mips64
2. More optimizations


Archive changelog:

Changelog (v3.2) from 02/07/2015:

1. Fixed copy folders without .apk, like mcRegistry to result folder (app, priv-app)
2. New oat2dex.jar v0.83 with full support Android 5.1.1 (thanks @_riddle) and with last smali/baksmali

Changelog (v3.1) from 26/04/2015:

1. For 64-bit stock only added checkbox "Copy to result, not deodexed arm folders, if any, in addition to deodexed arm64 folders".
If user checked it, then arm folders for framework and apks, that have arm and arm64 will be copied to result.
2.
mcRegistry folder and file such FFFFFFFF000000000000000000000001.drbin now copied to result
3. Checkbox "copy only real libs" - deleted

Changelog (v3.0) from 25/04/2015:

1. Added full support arm64
2.
The program has become even more intelligent and gives a more correct result(see example of log)

Changelog (v2.6):

1. Added support arm64
2.
New oat2dex.jar (v07) with smali/baksmali v2.0.5


Changelog
(v2.5):


1. You may drag and drop /system folder from Windows Explorer to SVADeodexerForArt.exe form.
2. If you double click on "select path to stock /system directory" combobox, then tool will be search all /system folders of stock Lollipop firmwares on computer (use carefully - it may take 4-5 minutes)
3. Fixed small errors (for example: tool now will see links to libs with "systemfile" attr).

Improved performance, the program has become more intelligent and gives a more correct result.
And in the log contains information that will be useful for developers.


Example of log
SVADeodexerForArt.exe

Code:
64-bit Deodexer for Android Runtime  (Version 3.5 от 20/07/2015)  © Valery Studenikin, 2015

Path to stock /system directory: F:\TEMP\S6 Duos\G9200\firmware\G9200ZCU1AOFE_G9200CHC1AOFE_CHC\system
Android 5.0.2: SM-G9200, LRX22G.G9200ZCU1AOFE, changelist 4635752, Sun Jun 28 20:45:21 KST 2015
Processor architecture: \arm64\
Files deodexed succesfully: 365,   with errors: 0.   CPU time: 00:05:57 (357,134 sec.)



The necessary links for applications libraries:

    symlink("/system/lib/libaed.so", "/system/app/AdvSoundDetector2015/lib/arm/libaed.so");
    symlink("/system/lib/libfdb.so", "/system/app/AdvSoundDetector2015/lib/arm/libfdb.so");
    symlink("/system/lib/libSamsungBCPP.so", "/system/app/AdvSoundDetector2015/lib/arm/libSamsungBCPP.so");
    symlink("/system/lib/libasf_fileshare.so", "/system/app/AllshareFileShare/lib/arm/libasf_fileshare.so");
    symlink("/system/lib/libasf_fileshareserver.so", "/system/app/AllshareFileShareServer/lib/arm/libasf_fileshareserver.so");
    symlink("/system/lib/libasf_mediashare.so", "/system/app/AllshareMediaShare/lib/arm/libasf_mediashare.so");
    symlink("/system/lib/libbluetooth_jni.so", "/system/app/Bluetooth/lib/arm/libbluetooth_jni.so");
    symlink("/system/lib64/libnfc_nci_jni.so", "/system/app/NfcNci/lib/arm64/libnfc_nci_jni.so");
    symlink("/system/lib64/libjni_pacprocessor.so", "/system/app/PacProcessor/lib/arm64/libjni_pacprocessor.so");
    symlink("/system/lib/libmorpho_panorama_wa_for_viewer.so", "/system/app/Panorama360Viewer_Zero/lib/arm/libmorpho_panorama_wa_for_viewer.so");
    symlink("/system/lib/libmorpho_sensor_fusion_for_viewer.so", "/system/app/Panorama360Viewer_Zero/lib/arm/libmorpho_sensor_fusion_for_viewer.so");
    symlink("/system/lib/libcommonpawrapper.so", "/system/app/RootPA/lib/arm/libcommonpawrapper.so");
    symlink("/system/lib/libnmsp_sk_speex.so", "/system/app/SamsungChineseIMEv9/lib/arm/libnmsp_sk_speex.so");
    symlink("/system/lib/libapa_jni.so", "/system/app/SapaMonitor/lib/arm/libapa_jni.so");
    symlink("/system/lib64/libgkdp_sv_engine.so", "/system/app/SCService/lib/arm64/libgkdp_sv_engine.so");
    symlink("/system/lib64/libscservice_jni.so", "/system/app/SCService/lib/arm64/libscservice_jni.so");
    symlink("/system/lib/libDioDict3EngineNativeFrame.so", "/system/app/SecDict2Zero/lib/arm/libDioDict3EngineNativeFrame.so");
    symlink("/system/lib/libdioiculemma.so", "/system/app/SecDict2Zero/lib/arm/libdioiculemma.so");
    symlink("/system/lib/libjma.so", "/system/app/SecDict2Zero/lib/arm/libjma.so");
    symlink("/system/lib/libnltk.so", "/system/app/SecDict2Zero/lib/arm/libnltk.so");
    symlink("/system/lib/libstlport_shared.so", "/system/app/SecDict2Zero/lib/arm/libstlport_shared.so");
    symlink("/system/lib64/libprintspooler_jni.so", "/system/app/SPrintSpooler/lib/arm64/libprintspooler_jni.so");
    symlink("/system/lib/libTui.so", "/system/app/TuiService/lib/arm/libTui.so");
    symlink("/system/lib64/libdefcontainer_jni.so", "/system/priv-app/DefaultContainerService/lib/arm64/libdefcontainer_jni.so");
    symlink("/system/lib64/libPlatformStrings.so", "/system/priv-app/HealthService/lib/arm64/libPlatformStrings.so");
    symlink("/system/lib64/libSensorNativeProtocol.so", "/system/priv-app/HealthService/lib/arm64/libSensorNativeProtocol.so");
    symlink("/system/lib/libsecipx.so", "/system/priv-app/OutOfFocusViewer_WQHD_K/lib/arm/libsecipx.so");
    symlink("/system/lib/libSisoJpegCodec.so", "/system/priv-app/OutOfFocusViewer_WQHD_K/lib/arm/libSisoJpegCodec.so");
    symlink("/system/lib/libSRIB_FocusShot.so", "/system/priv-app/OutOfFocusViewer_WQHD_K/lib/arm/libSRIB_FocusShot.so");
    symlink("/system/lib64/libPedometer.so", "/system/priv-app/SHealth4/lib/arm64/libPedometer.so");
    symlink("/system/lib64/libPlatformStrings.so", "/system/priv-app/SHealth4/lib/arm64/libPlatformStrings.so");
    symlink("/system/lib64/libsaiv.so", "/system/priv-app/SHealth4/lib/arm64/libsaiv.so");
    symlink("/system/lib64/libSensorNativeProtocol.so", "/system/priv-app/SHealth4/lib/arm64/libSensorNativeProtocol.so");
    symlink("/system/lib64/lib_stressanalyzer_v03_jni.so", "/system/priv-app/SHealth4/lib/arm64/lib_stressanalyzer_v03_jni.so");
    symlink("/system/lib/libCreateSceneMap.so", "/system/priv-app/VirtualTourViewer_WQHD_lightTheme/lib/arm/libCreateSceneMap.so");
    symlink("/system/lib/libqjpeg_secvision.so", "/system/priv-app/VirtualTourViewer_WQHD_lightTheme/lib/arm/libqjpeg_secvision.so");


Attention: framework deodexed only for 64-bit (32-bit version not deodexed and not was copied to result)

List of apks that have 32-bit and 64-bit versions (deodexed only for 64-bit):

    /system/app/WebViewGoogle.apk


List of deodexed apks that have only 32-bit version (don't have 64-bit):

    /system/app/AdvSoundDetector2015.apk
    /system/app/AllshareFileShare.apk
    /system/app/AllshareFileShareServer.apk
    /system/app/AllshareMediaShare.apk
    /system/app/Bluetooth.apk
    /system/app/Panorama360Viewer_Zero.apk
    /system/app/RootPA.apk
    /system/app/SamsungChineseIMEv9.apk
    /system/app/SapaMonitor.apk
    /system/app/SBrowser_3.0.38.apk
    /system/app/SCONE_Android_ProxyService_Lib.apk
    /system/app/SecDict2Zero.apk
    /system/app/TuiService.apk
    /system/priv-app/ChineseLanguagePack.apk
    /system/priv-app/EnglishLanguagePack.apk
    /system/priv-app/KoreanLanguagePack.apk
    /system/priv-app/OutOfFocusViewer_WQHD_K.apk
    /system/priv-app/S-Voice_Android_new.apk
    /system/priv-app/SVoice_PLM_Service.apk
    /system/priv-app/TouchWizHome_ZERO.apk
    /system/priv-app/VirtualTourViewer_WQHD_lightTheme.apk
    /system/priv-app/VoiceWakeUp.apk


List of originally deodexed (within stock firmware) files, are left as they were originally:

    /system/framework/cneapiclient.jar
    /system/framework/com.qti.dpmframework.jar
    /system/framework/com.quicinc.cne.jar
    /system/framework/com.samsung.device.jar
    /system/framework/dpmapi.jar
    /system/app/FactoryCamera_FB.apk
    /system/app/minimode-res.apk
    /system/app/MirrorLink.apk
    /system/app/SecFactoryPhoneTest.apk
    /system/app/secvisualeffect-res.apk
    /system/priv-app/AutomationTest_FB.apk
    /system/priv-app/AutoPreconfig.apk
    /system/priv-app/DeviceKeystring.apk
    /system/priv-app/DeviceTest.apk
    /system/priv-app/HwModuleTest.apk
    /system/priv-app/KLMSAgent.apk
    /system/priv-app/serviceModeApp_FB.apk
    /system/priv-app/ServiceModeApp_RIL.apk
    /system/priv-app/SMCore.apk
    /system/framework/core-libart.jar
1. Download for 32-bit systems (v3.5 from 20-07-2015): View attachment SVADeodexerForArtx32.zip
2. Download for 64-bit systems (v3.5 from 20-07-2015): View attachment SVADeodexerForArtx64.zip

This tool uses oat2dex.jar (v0.83) (thanks @_riddle).
If _riddle issues new version of oat2dex.jar - you must change it in zip archive and rename as oat2dex.jar.
 
Last edited:

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
@svadev
Very interesting work, but requires polishing. Unfortunately apks doesn't work after replacing originals and removing arm folder (I've tried replacing these singly, because I have KNOX 0x0 and replacing the whole ROM with framework was to risky for me)

E.g. @sorg's deodexed Lollipop ROM (G900FXXU1BNL2) works fine, I mean every single app I tested works fine after replacing


EDIT:
Have you applied the patch for ART?
https://code.google.com/p/smali/issues/detail?id=225


EDIT2:
Version 2.x works like a charm :)
 

Attachments

  • sec_mms_candy.txt
    55.2 KB · Views: 2,196
Last edited:

tdunham

Inactive Recognized Contributor
Jun 21, 2008
13,686
36,462
TampaBay
Only trying to get framework files working right now, and I am getting bad checksum messages in logcat examples:

Code:
[ 12-15 16:28:15.507  2937: 2937 W/dex2oat  ]
Failed to open .dex from file '/system/framework/core-libart.jar': Failure to verify dex file '/system/framework/core-libart.jar': Bad checksum (e7501d3a, expected fc15f069)

[ 12-15 16:28:15.507  2937: 2937 W/dex2oat  ]
Failed to open .dex from file '/system/framework/conscrypt.jar': Failure to verify dex file '/system/framework/conscrypt.jar': Bad checksum (a8732526, expected 0f5300f6)

[ 12-15 16:28:15.517  2937: 2937 W/dex2oat  ]
Failed to open .dex from file '/system/framework/okhttp.jar': Failure to verify dex file '/system/framework/okhttp.jar': Bad checksum (06a896a1, expected 40fc93a6)

[ 12-15 16:28:15.527  2937: 2937 W/dex2oat  ]
Failed to open .dex from file '/system/framework/bouncycastle.jar': Failure to verify dex file '/system/framework/bouncycastle.jar': Bad checksum (ee1833bd, expected 2bd04bc7)
 
Last edited:
  • Like
Reactions: _alexndr and svadev

svadev

Senior Member
Dec 13, 2014
133
481
@svadev
Very interesting work, but requires polishing. Unfortunately apks doesn't work after replacing originals and removing arm folder (I've tried replacing these singly, because I have KNOX 0x0 and replacing the whole ROM with framework was to risky for me)

E.g. @sorg's deodexed Lollipop ROM (G900FXXU1BNL2) works fine, I mean every single app I tested works fine after replacing


EDIT:
Have you applied the patch for ART?
https://code.google.com/p/smali/issues/detail?id=225

@_alexndr, @tdunham - thanks tor testing.

I will be to work to detect error .
 
Last edited:

svadev

Senior Member
Dec 13, 2014
133
481
Only trying to get framework files working right now, and I am getting bad checksum messages in logcat examples:

Code:
[ 12-15 16:28:15.507  2937: 2937 W/dex2oat  ]
Failed to open .dex from file '/system/framework/core-libart.jar': Failure to verify dex file '/system/framework/core-libart.jar': Bad checksum (e7501d3a, expected fc15f069)

[ 12-15 16:28:15.507  2937: 2937 W/dex2oat  ]
Failed to open .dex from file '/system/framework/conscrypt.jar': Failure to verify dex file '/system/framework/conscrypt.jar': Bad checksum (a8732526, expected 0f5300f6)

[ 12-15 16:28:15.517  2937: 2937 W/dex2oat  ]

@
Failed to open .dex from file '/system/framework/okhttp.jar': Failure to verify dex file '/system/framework/okhttp.jar': Bad checksum (06a896a1, expected 40fc93a6)

[ 12-15 16:28:15.527  2937: 2937 W/dex2oat  ]
Failed to open .dex from file '/system/framework/bouncycastle.jar': Failure to verify dex file '/system/framework/bouncycastle.jar': Bad checksum (ee1833bd, expected 2bd04bc7)
@tdunham
I have carefully checked my program algorithm, but not find any error.
Please, try set "Extract dex-files only" checkbox and then manually deodex (with patched smali/backsmali) framework and then test it.
if it will work - then original packed in oat files is not dex but odex.
 

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
Last edited:
  • Like
Reactions: Hilda.I

svadev

Senior Member
Dec 13, 2014
133
481
Same case as in my attached logcat

Code:
Suppressed: java.io.IOException: Failure to verify dex file '/system/priv-app/SecMms_Candy/SecMms_Candy.apk': Bad checksum (fa8a09fd, expected b0e743d0)
EDIT
@svadev
Have you read this? (post #54)

http://forum.xda-developers.com/showthread.php?p=57316935

Yes, therefore, me please - try set "Extract dex-files only" checkbox and then manually deodex (with patched smali/backsmali)
for example, SecMms and then test it.

If it will be work - then me will correct my program
 

Golv

Recognized Developer
Jan 17, 2012
2,189
4,565
HTC U11
Yes, therefore, me please - try set "Extract dex-files only" checkbox and then manually deodex (with patched smali/backsmali)
for example, SecMms and then test it.

If it will be work - then me will correct my program
Try to use this jar for boot.oat
There are odex files for each jar from framework in output folders.
Files from odex folders beksmaled well.
Share the jar.
java -jar bootoat2dex.jar boot.oat
It will output to 2 folders odex and dex(de-optimized)
I have tested pack these dex to original jar and push into device,
device can boot normally.
Post #12 with attached jar.
https://code.google.com/p/smali/issues/detail?id=225
 
Last edited:

svadev

Senior Member
Dec 13, 2014
133
481
Try to use this jar for boot.oat


Post #12 with attached jar.
https://code.google.com/p/smali/issues/detail?id=225

I try it, but it not works with boot.oat for g900fd.

All I figured out why it doesn't work.
Yes, dex-files packed into the oat is ODEX-files. And they need to pass through baksmali and smali. But since there are no properly working smali/baksmali, you have to wait until they appear. As soon as a new version of smali/baksmali - I will make a new, properly working version.
 
Last edited:

_alexndr

Senior Member
Mar 1, 2013
2,833
17,767
Samsung Galaxy S21 Ultra
Yes, therefore, me please - try set "Extract dex-files only" checkbox and then manually deodex (with patched smali/backsmali)
for example, SecMms and then test it.

If it will be work - then me will correct my program

Unfortunatelly, it does not work also after deodexing extracted files (I've used patched by @ sorg (bak)smali tools)

Code:
baksmali-art -a 21 -x SecMms_Candy.apk.dex -o SecMms_Candy

smali-art -a 21 SecMms_Candy -o classes.dex

(bak)smali-art.bat are simply my *.bat files which calls sorg's patched jar files (java -jar [filename].jar %1 %2 %3 .... etc)
 

Attachments

  • sec_mms_candy2.txt
    86.4 KB · Views: 82

svadev

Senior Member
Dec 13, 2014
133
481
Unfortunatelly, it does not work also after deodexing extracted files (I've used patched by @ sorg (bak)smali tools)

Code:
baksmali-art -a 21 -x SecMms_Candy.apk.dex -o SecMms_Candy

smali-art -a 21 SecMms_Candy -o classes.dex
(bak)smali-art.bat are simply my *.bat files which calls sorg's patched jar files (java -jar [filename].jar %1 %2 %3 .... etc)

the fact of the matter is that if backsmali (with pached backsmali) sorg's classes.dex and my classes.dex for secmms and compare it you can see difference.
And soon will become clear
 

tdunham

Inactive Recognized Contributor
Jun 21, 2008
13,686
36,462
TampaBay
@tdunham
I have carefully checked my program algorithm, but not find any error.
Please, try set "Extract dex-files only" checkbox and then manually deodex (with patched smali/backsmali) framework and then test it.
if it will work - then original packed in oat files is not dex but odex.
Ok, I tested with "Extract dex-files only".
Only tested with 31 files from boot.oat.
ALL 32 output files from boot.oat are not odex, they are dex. I can rename each one to classes.dex, insert into original jar and they decompile fine so they are not odex.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 172
    This Toolkit for creating deodex firmware from android runtime (ART).

    Changelog (v5.5) from 21/04/2017:


    1. SamsungInCallUI.apk deodexing without errors. For it i developed and implemented the method of heavy deodexing for SamsungInCallUI.apk
    2. You must specify the path to the full stock /system directory to create script commands for all symlinks, not just for libraries.
    3. Full support Android Lollipop/Marsmallow/Nougat. Automatic detection android version (Lollipop/Marsmallow/Nougat)
    4. More optimizations
    5. Detected and fixed small errors
    New version v5.5 here






    Changelog (v5.0) from 08/12/2016:

    1. Support Android Lollipop/Marsmallow/Nougat
    2. Automatic detection android version (Lollipop/Marsmallow/Nougat)
    3. More optimizations
    4. Fixed errors
    Version v5.0 here




    SVADeodexerForArt.jpg

    New version v4.1 here

    Changelog (v4.1) from 09/03/2016:
    Fixed a bug in the processing of non-standard sequence file build.prop

    Changelog (v4.0) from 23/11/2015:


    1. Added full support for Android M
    2. More optimizations


    Changelog (v3.5) from 20/07/2015:

    1. Added full support for processor architectures:


    • arm
    • arm64
    • x86
    • x64
    • mips
    • mips64
    2. More optimizations


    Archive changelog:

    Changelog (v3.2) from 02/07/2015:

    1. Fixed copy folders without .apk, like mcRegistry to result folder (app, priv-app)
    2. New oat2dex.jar v0.83 with full support Android 5.1.1 (thanks @_riddle) and with last smali/baksmali

    Changelog (v3.1) from 26/04/2015:

    1. For 64-bit stock only added checkbox "Copy to result, not deodexed arm folders, if any, in addition to deodexed arm64 folders".
    If user checked it, then arm folders for framework and apks, that have arm and arm64 will be copied to result.
    2.
    mcRegistry folder and file such FFFFFFFF000000000000000000000001.drbin now copied to result
    3. Checkbox "copy only real libs" - deleted

    Changelog (v3.0) from 25/04/2015:

    1. Added full support arm64
    2.
    The program has become even more intelligent and gives a more correct result(see example of log)

    Changelog (v2.6):

    1. Added support arm64
    2.
    New oat2dex.jar (v07) with smali/baksmali v2.0.5


    Changelog
    (v2.5):


    1. You may drag and drop /system folder from Windows Explorer to SVADeodexerForArt.exe form.
    2. If you double click on "select path to stock /system directory" combobox, then tool will be search all /system folders of stock Lollipop firmwares on computer (use carefully - it may take 4-5 minutes)
    3. Fixed small errors (for example: tool now will see links to libs with "systemfile" attr).

    Improved performance, the program has become more intelligent and gives a more correct result.
    And in the log contains information that will be useful for developers.


    Example of log
    SVADeodexerForArt.exe

    Code:
    64-bit Deodexer for Android Runtime  (Version 3.5 от 20/07/2015)  © Valery Studenikin, 2015
    
    Path to stock /system directory: F:\TEMP\S6 Duos\G9200\firmware\G9200ZCU1AOFE_G9200CHC1AOFE_CHC\system
    Android 5.0.2: SM-G9200, LRX22G.G9200ZCU1AOFE, changelist 4635752, Sun Jun 28 20:45:21 KST 2015
    Processor architecture: \arm64\
    Files deodexed succesfully: 365,   with errors: 0.   CPU time: 00:05:57 (357,134 sec.)
    
    
    
    The necessary links for applications libraries:
    
        symlink("/system/lib/libaed.so", "/system/app/AdvSoundDetector2015/lib/arm/libaed.so");
        symlink("/system/lib/libfdb.so", "/system/app/AdvSoundDetector2015/lib/arm/libfdb.so");
        symlink("/system/lib/libSamsungBCPP.so", "/system/app/AdvSoundDetector2015/lib/arm/libSamsungBCPP.so");
        symlink("/system/lib/libasf_fileshare.so", "/system/app/AllshareFileShare/lib/arm/libasf_fileshare.so");
        symlink("/system/lib/libasf_fileshareserver.so", "/system/app/AllshareFileShareServer/lib/arm/libasf_fileshareserver.so");
        symlink("/system/lib/libasf_mediashare.so", "/system/app/AllshareMediaShare/lib/arm/libasf_mediashare.so");
        symlink("/system/lib/libbluetooth_jni.so", "/system/app/Bluetooth/lib/arm/libbluetooth_jni.so");
        symlink("/system/lib64/libnfc_nci_jni.so", "/system/app/NfcNci/lib/arm64/libnfc_nci_jni.so");
        symlink("/system/lib64/libjni_pacprocessor.so", "/system/app/PacProcessor/lib/arm64/libjni_pacprocessor.so");
        symlink("/system/lib/libmorpho_panorama_wa_for_viewer.so", "/system/app/Panorama360Viewer_Zero/lib/arm/libmorpho_panorama_wa_for_viewer.so");
        symlink("/system/lib/libmorpho_sensor_fusion_for_viewer.so", "/system/app/Panorama360Viewer_Zero/lib/arm/libmorpho_sensor_fusion_for_viewer.so");
        symlink("/system/lib/libcommonpawrapper.so", "/system/app/RootPA/lib/arm/libcommonpawrapper.so");
        symlink("/system/lib/libnmsp_sk_speex.so", "/system/app/SamsungChineseIMEv9/lib/arm/libnmsp_sk_speex.so");
        symlink("/system/lib/libapa_jni.so", "/system/app/SapaMonitor/lib/arm/libapa_jni.so");
        symlink("/system/lib64/libgkdp_sv_engine.so", "/system/app/SCService/lib/arm64/libgkdp_sv_engine.so");
        symlink("/system/lib64/libscservice_jni.so", "/system/app/SCService/lib/arm64/libscservice_jni.so");
        symlink("/system/lib/libDioDict3EngineNativeFrame.so", "/system/app/SecDict2Zero/lib/arm/libDioDict3EngineNativeFrame.so");
        symlink("/system/lib/libdioiculemma.so", "/system/app/SecDict2Zero/lib/arm/libdioiculemma.so");
        symlink("/system/lib/libjma.so", "/system/app/SecDict2Zero/lib/arm/libjma.so");
        symlink("/system/lib/libnltk.so", "/system/app/SecDict2Zero/lib/arm/libnltk.so");
        symlink("/system/lib/libstlport_shared.so", "/system/app/SecDict2Zero/lib/arm/libstlport_shared.so");
        symlink("/system/lib64/libprintspooler_jni.so", "/system/app/SPrintSpooler/lib/arm64/libprintspooler_jni.so");
        symlink("/system/lib/libTui.so", "/system/app/TuiService/lib/arm/libTui.so");
        symlink("/system/lib64/libdefcontainer_jni.so", "/system/priv-app/DefaultContainerService/lib/arm64/libdefcontainer_jni.so");
        symlink("/system/lib64/libPlatformStrings.so", "/system/priv-app/HealthService/lib/arm64/libPlatformStrings.so");
        symlink("/system/lib64/libSensorNativeProtocol.so", "/system/priv-app/HealthService/lib/arm64/libSensorNativeProtocol.so");
        symlink("/system/lib/libsecipx.so", "/system/priv-app/OutOfFocusViewer_WQHD_K/lib/arm/libsecipx.so");
        symlink("/system/lib/libSisoJpegCodec.so", "/system/priv-app/OutOfFocusViewer_WQHD_K/lib/arm/libSisoJpegCodec.so");
        symlink("/system/lib/libSRIB_FocusShot.so", "/system/priv-app/OutOfFocusViewer_WQHD_K/lib/arm/libSRIB_FocusShot.so");
        symlink("/system/lib64/libPedometer.so", "/system/priv-app/SHealth4/lib/arm64/libPedometer.so");
        symlink("/system/lib64/libPlatformStrings.so", "/system/priv-app/SHealth4/lib/arm64/libPlatformStrings.so");
        symlink("/system/lib64/libsaiv.so", "/system/priv-app/SHealth4/lib/arm64/libsaiv.so");
        symlink("/system/lib64/libSensorNativeProtocol.so", "/system/priv-app/SHealth4/lib/arm64/libSensorNativeProtocol.so");
        symlink("/system/lib64/lib_stressanalyzer_v03_jni.so", "/system/priv-app/SHealth4/lib/arm64/lib_stressanalyzer_v03_jni.so");
        symlink("/system/lib/libCreateSceneMap.so", "/system/priv-app/VirtualTourViewer_WQHD_lightTheme/lib/arm/libCreateSceneMap.so");
        symlink("/system/lib/libqjpeg_secvision.so", "/system/priv-app/VirtualTourViewer_WQHD_lightTheme/lib/arm/libqjpeg_secvision.so");
    
    
    Attention: framework deodexed only for 64-bit (32-bit version not deodexed and not was copied to result)
    
    List of apks that have 32-bit and 64-bit versions (deodexed only for 64-bit):
    
        /system/app/WebViewGoogle.apk
    
    
    List of deodexed apks that have only 32-bit version (don't have 64-bit):
    
        /system/app/AdvSoundDetector2015.apk
        /system/app/AllshareFileShare.apk
        /system/app/AllshareFileShareServer.apk
        /system/app/AllshareMediaShare.apk
        /system/app/Bluetooth.apk
        /system/app/Panorama360Viewer_Zero.apk
        /system/app/RootPA.apk
        /system/app/SamsungChineseIMEv9.apk
        /system/app/SapaMonitor.apk
        /system/app/SBrowser_3.0.38.apk
        /system/app/SCONE_Android_ProxyService_Lib.apk
        /system/app/SecDict2Zero.apk
        /system/app/TuiService.apk
        /system/priv-app/ChineseLanguagePack.apk
        /system/priv-app/EnglishLanguagePack.apk
        /system/priv-app/KoreanLanguagePack.apk
        /system/priv-app/OutOfFocusViewer_WQHD_K.apk
        /system/priv-app/S-Voice_Android_new.apk
        /system/priv-app/SVoice_PLM_Service.apk
        /system/priv-app/TouchWizHome_ZERO.apk
        /system/priv-app/VirtualTourViewer_WQHD_lightTheme.apk
        /system/priv-app/VoiceWakeUp.apk
    
    
    List of originally deodexed (within stock firmware) files, are left as they were originally:
    
        /system/framework/cneapiclient.jar
        /system/framework/com.qti.dpmframework.jar
        /system/framework/com.quicinc.cne.jar
        /system/framework/com.samsung.device.jar
        /system/framework/dpmapi.jar
        /system/app/FactoryCamera_FB.apk
        /system/app/minimode-res.apk
        /system/app/MirrorLink.apk
        /system/app/SecFactoryPhoneTest.apk
        /system/app/secvisualeffect-res.apk
        /system/priv-app/AutomationTest_FB.apk
        /system/priv-app/AutoPreconfig.apk
        /system/priv-app/DeviceKeystring.apk
        /system/priv-app/DeviceTest.apk
        /system/priv-app/HwModuleTest.apk
        /system/priv-app/KLMSAgent.apk
        /system/priv-app/serviceModeApp_FB.apk
        /system/priv-app/ServiceModeApp_RIL.apk
        /system/priv-app/SMCore.apk
        /system/framework/core-libart.jar
    1. Download for 32-bit systems (v3.5 from 20-07-2015): View attachment SVADeodexerForArtx32.zip
    2. Download for 64-bit systems (v3.5 from 20-07-2015): View attachment SVADeodexerForArtx64.zip

    This tool uses oat2dex.jar (v0.83) (thanks @_riddle).
    If _riddle issues new version of oat2dex.jar - you must change it in zip archive and rename as oat2dex.jar.
    47
    New version - 4.1

    SVADeodexerForArt.jpg

    Changelog (v4.1) from 09/03/2016:

    Fixed a bug in the processing of non-standard sequence file build.prop


    1. Download for 32-bit systems (v4.1 from 09-03-2016): View attachment SVADeodexerForArtx32.zip
    2. Download for 64-bit systems (v
    4.1 from 09-03-2016): View attachment SVADeodexerForArtx64.zip

    Example of log SVADeodexerForArt.exe for huawei Android 6.0
    Code:
    64-bit Deodexer for Android Runtime  (Version 4.1 от 09/03/2016)  © Valery Studenikin, 2016
    
    Path to stock /system directory: F:\TEMP\1\system\system
    Android 6.0: PLK, PLK-L01C432B320, changelist , Sun Jan 24 06:36:33 CST 2016
    Processor architecture: \oat\arm64\
    Files deodexed succesfully: 164,   with errors: 0.   CPU time: 00:02:37 (157,321 sec.)
    
    
    
    Attention: framework deodexed only for 64-bit (32-bit version not deodexed and not was copied to result)
    
    List of apks that have 32-bit and 64-bit versions (deodexed only for 64-bit):
    
        /system/app/HwDeskClock.apk
        /system/app/HwFileManager.apk
        /system/app/HwFMRadio.apk
        /system/priv-app/Calendar.apk
        /system/priv-app/Contacts.apk
        /system/priv-app/Gallery2.apk
        /system/priv-app/HwNotePad.apk
        /system/priv-app/HwSystemManager.apk
    
    
    List of deodexed apks that have only 32-bit version (don't have 64-bit):
    
        /system/app/Bluetooth.apk
        /system/app/Galaxy4.apk
        /system/app/HoloSpiralWallpaper.apk
        /system/app/HwMultiScreenShot.apk
        /system/app/HwOUC.apk
        /system/app/HwSoundRecorder.apk
        /system/app/HwVAssistant.apk
        /system/app/NoiseField.apk
        /system/app/PhaseBeam.apk
        /system/priv-app/HwCamera.apk
        /system/priv-app/HwVPlayer.apk
    
    
    List of originally deodexed (within stock firmware) files, are left as they were originally:
    
        /system/app/Books.apk
        /system/app/Chrome.apk
        /system/app/Drive.apk
        /system/app/Gmail2.apk
        /system/app/GoogleCalendarSyncAdapter.apk
        /system/app/GoogleContactsSyncAdapter.apk
        /system/app/GoogleTTS.apk
        /system/app/Hangouts.apk
        /system/app/Maps.apk
        /system/app/Music2.apk
        /system/app/Newsstand.apk
        /system/app/Photos.apk
        /system/app/PlayGames.apk
        /system/app/PlusOne.apk
        /system/app/talkback.apk
        /system/app/Videos.apk
        /system/app/WebViewGoogle.apk
        /system/app/YouTube.apk
        /system/priv-app/ConfigUpdater.apk
        /system/priv-app/Exchange2.apk
        /system/priv-app/GmsCore.apk
        /system/priv-app/GoogleBackupTransport.apk
        /system/priv-app/GoogleFeedback.apk
        /system/priv-app/GoogleLoginService.apk
        /system/priv-app/GoogleOneTimeInitializer.apk
        /system/priv-app/GooglePackageInstaller.apk
        /system/priv-app/GooglePartnerSetup.apk
        /system/priv-app/GoogleServicesFramework.apk
        /system/priv-app/Phonesky.apk
        /system/priv-app/SetupWizard.apk
        /system/priv-app/Velvet.apk
    39
    SVADeodexerForArt_v4.jpg

    Changelog (v4.0) from 23/11/2015:


    1. Added full support for Android M
    2. More optimizations

    1. Download for 32-bit systems (v4.0 from 23-11-2015): View attachment SVADeodexerForArtx32_v4.zip
    2. Download for 64-bit systems (v
    4.0 from 23-11-2015): View attachment SVADeodexerForArtx64_v4.zip
    35
    New version - v5.5

    SVADeodexerForArt.jpg

    Changelog (v5.5) from 21/04/2017:



    1. SamsungInCallUI.apk deodexing without errors. For it i developed and implemented the method of heavy deodexing for SamsungInCallUI.apk
    2. You must specify the path to the full stock /system directory to create script commands for all symlinks, not just for libraries.
    3. Full support Android Lollipop/Marsmallow/Nougat. Automatic detection android version (Lollipop/Marsmallow/Nougat)
    4. More optimizations
    5. Detected and fixed small errors

    1. Download for 32-bit systems (v5.5 from 21-04-2017): View attachment SVADeodexerForArt_v5-5_32.zip
    2. Download for 64-bit systems (
    v5.5 from 21-04-2017): View attachment SVADeodexerForArt_v5-5_64.zip


    Example of log SVADeodexerForArt.exe for Android 7.0
    64-bit Deodexer for Android Runtime (Version 5.5 от 21/04/2017) © Valery Studenikin, 2017

    Path to stock /system directory: F:\Temp\S8+\G955FXXU1AQDD\system
    Android 7.0 (SDK 24): SM-G955F, NRD90M.G955FXXU1AQDD, changelist 11168760, Tue Apr 11 22:35:33 KST 2017
    Processor architecture: \oat\arm64\
    Files deodexed succesfully: 142, with errors: 0. CPU time: 00:03:15 (194,610 sec.)



    The necessary symlinks:

    symlink("toybox", "/system/bin/acpi");
    symlink("app_process64", "/system/bin/app_process");
    symlink("toybox", "/system/bin/base64");
    symlink("toybox", "/system/bin/basename");
    symlink("toybox", "/system/bin/blockdev");
    symlink("toybox", "/system/bin/bzcat");
    symlink("toybox", "/system/bin/cal");
    symlink("toybox", "/system/bin/cat");
    symlink("toybox", "/system/bin/chcon");
    symlink("toybox", "/system/bin/chgrp");
    symlink("toybox", "/system/bin/chmod");
    symlink("toybox", "/system/bin/chown");
    symlink("toybox", "/system/bin/chroot");
    symlink("toybox", "/system/bin/cksum");
    symlink("toybox", "/system/bin/clear");
    symlink("toybox", "/system/bin/cmp");
    symlink("toybox", "/system/bin/comm");
    symlink("toybox", "/system/bin/cp");
    symlink("toybox", "/system/bin/cpio");
    symlink("toybox", "/system/bin/cut");
    symlink("dalvikvm64", "/system/bin/dalvikvm");
    symlink("toybox", "/system/bin/date");
    symlink("toolbox", "/system/bin/dd");
    symlink("toybox", "/system/bin/df");
    symlink("toybox", "/system/bin/dirname");
    symlink("toybox", "/system/bin/dmesg");
    symlink("toybox", "/system/bin/dos2unix");
    symlink("toybox", "/system/bin/du");
    symlink("toybox", "/system/bin/echo");
    symlink("grep", "/system/bin/egrep");
    symlink("toybox", "/system/bin/env");
    symlink("toybox", "/system/bin/expand");
    symlink("toybox", "/system/bin/expr");
    symlink("toybox", "/system/bin/fallocate");
    symlink("toybox", "/system/bin/false");
    symlink("grep", "/system/bin/fgrep");
    symlink("toybox", "/system/bin/find");
    symlink("toybox", "/system/bin/flock");
    symlink("toybox", "/system/bin/free");
    symlink("toybox", "/system/bin/getenforce");
    symlink("toolbox", "/system/bin/getevent");
    symlink("toybox", "/system/bin/getprop");
    symlink("toybox", "/system/bin/groups");
    symlink("toybox", "/system/bin/head");
    symlink("toybox", "/system/bin/hostname");
    symlink("toybox", "/system/bin/hwclock");
    symlink("toybox", "/system/bin/id");
    symlink("toybox", "/system/bin/ifconfig");
    symlink("toolbox", "/system/bin/iftop");
    symlink("toybox", "/system/bin/inotifyd");
    symlink("toybox", "/system/bin/insmod");
    symlink("toolbox", "/system/bin/ioctl");
    symlink("toybox", "/system/bin/ionice");
    symlink("toybox", "/system/bin/iorenice");
    symlink("ip6tables", "/system/bin/ip6tables-restore");
    symlink("ip6tables", "/system/bin/ip6tables-save");
    symlink("iptables", "/system/bin/iptables-restore");
    symlink("iptables", "/system/bin/iptables-save");
    symlink("toybox", "/system/bin/kill");
    symlink("toybox", "/system/bin/killall");
    symlink("toybox", "/system/bin/ln");
    symlink("toybox", "/system/bin/load_policy");
    symlink("toolbox", "/system/bin/log");
    symlink("toybox", "/system/bin/logname");
    symlink("toybox", "/system/bin/losetup");
    symlink("toybox", "/system/bin/ls");
    symlink("toybox", "/system/bin/lsmod");
    symlink("toybox", "/system/bin/lsof");
    symlink("toybox", "/system/bin/lsusb");
    symlink("toybox", "/system/bin/md5sum");
    symlink("toybox", "/system/bin/mkdir");
    symlink("toybox", "/system/bin/mknod");
    symlink("toybox", "/system/bin/mkswap");
    symlink("toybox", "/system/bin/mktemp");
    symlink("toybox", "/system/bin/modinfo");
    symlink("toybox", "/system/bin/more");
    symlink("toybox", "/system/bin/mount");
    symlink("toybox", "/system/bin/mountpoint");
    symlink("toybox", "/system/bin/mv");
    symlink("toolbox", "/system/bin/nandread");
    symlink("toybox", "/system/bin/netstat");
    symlink("toolbox", "/system/bin/newfs_msdos");
    symlink("toybox", "/system/bin/nice");
    symlink("toybox", "/system/bin/nl");
    symlink("toybox", "/system/bin/nohup");
    symlink("toybox", "/system/bin/od");
    symlink("toybox", "/system/bin/paste");
    symlink("toybox", "/system/bin/patch");
    symlink("toybox", "/system/bin/pgrep");
    symlink("toybox", "/system/bin/pidof");
    symlink("toybox", "/system/bin/pkill");
    symlink("toybox", "/system/bin/pmap");
    symlink("toybox", "/system/bin/printenv");
    symlink("toybox", "/system/bin/printf");
    symlink("toolbox", "/system/bin/prlimit");
    symlink("toolbox", "/system/bin/ps");
    symlink("toybox", "/system/bin/pwd");
    symlink("toybox", "/system/bin/readlink");
    symlink("toybox", "/system/bin/realpath");
    symlink("toybox", "/system/bin/renice");
    symlink("toybox", "/system/bin/restorecon");
    symlink("toybox", "/system/bin/rm");
    symlink("toybox", "/system/bin/rmdir");
    symlink("toybox", "/system/bin/rmmod");
    symlink("toybox", "/system/bin/route");
    symlink("toybox", "/system/bin/runcon");
    symlink("toybox", "/system/bin/sed");
    symlink("toolbox", "/system/bin/sendevent");
    symlink("toybox", "/system/bin/seq");
    symlink("toybox", "/system/bin/setenforce");
    symlink("toybox", "/system/bin/setprop");
    symlink("toybox", "/system/bin/setsid");
    symlink("toybox", "/system/bin/sha1sum");
    symlink("toybox", "/system/bin/sleep");
    symlink("toybox", "/system/bin/sort");
    symlink("toybox", "/system/bin/split");
    symlink("toolbox", "/system/bin/start");
    symlink("toybox", "/system/bin/stat");
    symlink("toolbox", "/system/bin/stop");
    symlink("toybox", "/system/bin/strings");
    symlink("toybox", "/system/bin/swapoff");
    symlink("toybox", "/system/bin/swapon");
    symlink("toybox", "/system/bin/sync");
    symlink("toybox", "/system/bin/sysctl");
    symlink("toybox", "/system/bin/tac");
    symlink("toybox", "/system/bin/tail");
    symlink("toybox", "/system/bin/tar");
    symlink("toybox", "/system/bin/taskset");
    symlink("toybox", "/system/bin/tee");
    symlink("toybox", "/system/bin/time");
    symlink("toybox", "/system/bin/timeout");
    symlink("toolbox", "/system/bin/top");
    symlink("toybox", "/system/bin/touch");
    symlink("toybox", "/system/bin/tr");
    symlink("toybox", "/system/bin/true");
    symlink("toybox", "/system/bin/truncate");
    symlink("toybox", "/system/bin/tty");
    symlink("toybox", "/system/bin/ulimit");
    symlink("toybox", "/system/bin/umount");
    symlink("toybox", "/system/bin/uname");
    symlink("toybox", "/system/bin/uniq");
    symlink("toybox", "/system/bin/unix2dos");
    symlink("toybox", "/system/bin/uptime");
    symlink("toybox", "/system/bin/usleep");
    symlink("toybox", "/system/bin/vmstat");
    symlink("toybox", "/system/bin/wc");
    symlink("toybox", "/system/bin/which");
    symlink("toybox", "/system/bin/whoami");
    symlink("toybox", "/system/bin/xargs");
    symlink("toybox", "/system/bin/xxd");
    symlink("toybox", "/system/bin/yes");


    symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
    symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
    symlink("Roboto-Medium.ttf", "/system/fonts/SECRobotoLight-Bold.ttf");
    symlink("Roboto-Regular.ttf", "/system/fonts/SECRobotoLight-Regular.ttf");
    symlink("/vendor/lib64/egl/libGLES_mali.so", "/system/vendor/lib64/hw/vulkan.exynos5.so");
    symlink("/vendor/lib/egl/libGLES_mali.so", "/system/vendor/lib/hw/vulkan.exynos5.so");


    The necessary links for applications libraries:

    symlink("/system/lib64/libaed.so", "/system/app/AdvSoundDetector2015/lib/arm64/libaed.so");
    symlink("/system/lib64/libfdb.so", "/system/app/AdvSoundDetector2015/lib/arm64/libfdb.so");
    symlink("/system/lib64/libSamsungBCPP.so", "/system/app/AdvSoundDetector2015/lib/arm64/libSamsungBCPP.so");
    symlink("/system/lib/libasf_fileshare.so", "/system/app/AllshareFileShare/lib/arm/libasf_fileshare.so");
    symlink("/system/lib/libasf_fileshareserver.so", "/system/app/AllshareFileShare/lib/arm/libasf_fileshareserver.so");
    symlink("/system/lib/libasf_mediashare.so", "/system/app/AllshareMediaShare/lib/arm/libasf_mediashare.so");
    symlink("/system/lib/libbluetooth_jni.so", "/system/app/Bluetooth/lib/arm/libbluetooth_jni.so");
    symlink("/system/lib64/libgen_def_certdks.so", "/system/app/DownloadableKeystore/lib/arm64/libgen_def_certdks.so");
    symlink("/system/lib64/libMCVendorTlc.so", "/system/app/DownloadableKeystore/lib/arm64/libMCVendorTlc.so");
    symlink("/system/lib64/libtlc64serviceappnative.so", "/system/app/DownloadableKeystore/lib/arm64/libtlc64serviceappnative.so");
    symlink("/system/lib64/libtlc_tz_ccm_inapptwo.so", "/system/app/DownloadableKeystore/lib/arm64/libtlc_tz_ccm_inapptwo.so");
    symlink("/system/lib64/libVendorTlc.so", "/system/app/DownloadableKeystore/lib/arm64/libVendorTlc.so");
    symlink("/system/lib64/libnfc_nci_jni.so", "/system/app/NfcNci/lib/arm64/libnfc_nci_jni.so");
    symlink("/system/lib64/libjni_pacprocessor.so", "/system/app/PacProcessor/lib/arm64/libjni_pacprocessor.so");
    symlink("/system/lib64/libmorpho_panorama_wa_for_viewer.so", "/system/app/Panorama360Viewer/lib/arm64/libmorpho_panorama_wa_for_viewer.so");
    symlink("/system/lib64/libmorpho_sensor_fusion_for_viewer.so", "/system/app/Panorama360Viewer/lib/arm64/libmorpho_sensor_fusion_for_viewer.so");
    symlink("/system/lib/libcommonpawrapper.so", "/system/app/RootPA/lib/arm/libcommonpawrapper.so");
    symlink("/system/lib64/libprintspooler_jni7.so", "/system/app/SPrintSpooler7/lib/arm64/libprintspooler_jni7.so");
    symlink("/system/lib64/libPSI.so", "/system/app/sveservice/lib/arm64/libPSI.so");
    symlink("/system/lib64/librtp.so", "/system/app/sveservice/lib/arm64/librtp.so");
    symlink("/system/lib64/librtppayload.so", "/system/app/sveservice/lib/arm64/librtppayload.so");
    symlink("/system/lib64/libsamsung_videoengine_7_0.so", "/system/app/sveservice/lib/arm64/libsamsung_videoengine_7_0.so");
    symlink("/system/lib64/libsisosrtp.so", "/system/app/sveservice/lib/arm64/libsisosrtp.so");
    symlink("/system/lib64/libsvejni.so", "/system/app/sveservice/lib/arm64/libsvejni.so");
    symlink("/system/lib64/libTui.so", "/system/app/TuiService/lib/arm64/libTui.so");
    symlink("/system/lib64/libdefcontainer_jni.so", "/system/priv-app/DefaultContainerService/lib/arm64/libdefcontainer_jni.so");
    symlink("/system/lib64/libappfuse_jni.so", "/system/priv-app/MtpDocumentsProvider/lib/arm64/libappfuse_jni.so");
    symlink("/system/lib64/libQualityWrapper_Wallpaper.so", "/system/priv-app/ODTCFactoryService/lib/arm64/libQualityWrapper_Wallpaper.so");
    symlink("/system/lib/libsvoicedll.so", "/system/priv-app/SVoicePLM/lib/arm/libsvoicedll.so");


    Attention: framework deodexed only for 64-bit (32-bit version not deodexed and not was copied to result)

    List of originally deodexed (within stock firmware) files, are left as they were originally:

    /system/app/AASAservice.apk
    /system/app/AdvSoundDetector2015.apk
    /system/app/AllshareFileShare.apk
    /system/app/AllshareMediaShare.apk
    /system/app/AntHalService.apk
    /system/app/ANTPlusPlugins.apk
    /system/app/ANTPlusTest.apk
    /system/app/ApexService.apk
    /system/app/AppLinker.apk
    /system/app/BasicDreams.apk
    /system/app/BBCAgent.apk
    /system/app/BCService.apk
    /system/app/BeamService.apk
    /system/app/Bluetooth.apk
    /system/app/BluetoothMidiService.apk
    /system/app/BluetoothTest.apk
    /system/app/BookmarkProvider.apk
    /system/app/CaptivePortalLogin.apk
    /system/app/CarmodeStub.apk
    /system/app/CertInstaller.apk
    /system/app/ChocoEUKor.apk
    /system/app/Chrome.apk
    /system/app/ChromeCustomizations.apk
    /system/app/ClipboardEdge.apk
    /system/app/ClipboardSaveService.apk
    /system/app/ClipboardUIService.apk
    /system/app/ClockPackage_N.apk
    /system/app/CloudGateway2017.apk
    /system/app/CnnPanel.apk
    /system/app/CocktailQuickTool.apk
    /system/app/CoolEUKor.apk
    /system/app/CoreApps_SDK_2017.apk
    /system/app/CtsShimPrebuilt.apk
    /system/app/DictDiotek_update.apk
    /system/app/DownloadableKeystore.apk
    /system/app/DownloadProviderUi.apk
    /system/app/DRParser.apk
    /system/app/EasterEgg.apk
    /system/app/EasymodeContactsWidget81.apk
    /system/app/EasyOneHand3.apk
    /system/app/EdmSimPinService.apk
    /system/app/EdmVpnServices.apk
    /system/app/EmergencyLauncher.apk
    /system/app/EmergencyModeService.apk
    /system/app/EmergencyProvider.apk
    /system/app/ESEServiceAgent.apk
    /system/app/Facebook_stub.apk
    /system/app/FactoryCameraFB.apk
    /system/app/FBAppManager_NS.apk
    /system/app/FilterInstaller.apk
    /system/app/FilterProvider.apk
    /system/app/FlashAnnotate.apk
    /system/app/FlipboardBriefing.apk
    /system/app/Foundation.apk
    /system/app/GameOptimizer.apk
    /system/app/GearManagerStub.apk
    /system/app/Gmail2.apk
    /system/app/GoogleCalendarSyncAdapter.apk
    /system/app/GoogleContactsSyncAdapter.apk
    /system/app/GooglePrintRecommendationService.apk
    /system/app/GoogleTTS.apk
    /system/app/HandwritingService.apk
    /system/app/Hs20Provider.apk
    /system/app/InteractivePanoramaViewer_WQHD.apk
    /system/app/KeyChain.apk
    /system/app/KnoxAppsUpdateAgent.apk
    /system/app/KnoxAttestationAgent.apk
    /system/app/KnoxFolderContainer2.apk
    /system/app/KnoxRemoteContentsProvider.apk
    /system/app/KnoxSetupWizardClient.apk
    /system/app/Maps.apk
    /system/app/MDMApp.apk
    /system/app/MhdrService.apk
    /system/app/MirrorLink.apk
    /system/app/mldapchecker.apk
    /system/app/MotionPanoramaViewer.apk
    /system/app/MSSkype_stub.apk
    /system/app/NaverV_N.apk
    /system/app/NfcNci.apk
    /system/app/Omc.apk
    /system/app/PacProcessor.apk
    /system/app/Panorama360Viewer.apk
    /system/app/PartnerBookmarksProvider.apk
    /system/app/Personalization.apk
    /system/app/PhotoTable.apk
    /system/app/PlayAutoInstallConfig.apk
    /system/app/Preconfig.apk
    /system/app/RootPA.apk
    /system/app/RoseEUKor.apk
    /system/app/SafetyInformation.apk
    /system/app/SamsungCalendar_Stable_4012.apk
    /system/app/SamsungConnect.apk
    /system/app/SamsungDLPService.apk
    /system/app/SamsungTTS.apk
    /system/app/SapaAudioConnectionService.apk
    /system/app/SapaMonitor.apk
    /system/app/SBrowserEdge.apk
    /system/app/SCPMClient_N.apk
    /system/app/ScrollCapture.apk
    /system/app/SecHTMLViewer.apk
    /system/app/SecureFolderSetupPage.apk
    /system/app/SecurityLogAgent.apk
    /system/app/SecurityProviderSEC.apk
    /system/app/SelfMotionPanoramaViewer.apk
    /system/app/ShareLink_2017.apk
    /system/app/SilentLog.apk
    /system/app/SimSettingMgr.apk
    /system/app/SLocation.apk
    /system/app/SlowMotion_Dream_N.apk
    /system/app/SmartCallProvider.apk
    /system/app/SmartClipEdgeService.apk
    /system/app/SmartFittingService.apk
    /system/app/SmartMirroring.apk
    /system/app/SmartReminder.apk
    /system/app/SmartSwitchAgent.apk
    /system/app/SnsImageCache_N.apk
    /system/app/SPdfNote.apk
    /system/app/SplitSoundService.apk
    /system/app/SPrintSpooler7.apk
    /system/app/STalkback.apk
    /system/app/Stk.apk
    /system/app/Stk2.apk
    /system/app/StoryEditor_Dream_N.apk
    /system/app/SysScope.apk
    /system/app/TasksProvider.apk
    /system/app/TetheringAutomation.apk
    /system/app/TFunLock.apk
    /system/app/TuiService.apk
    /system/app/UniversalMDMClient.apk
    /system/app/UniversalSwitch.apk
    /system/app/UPSMTheme.apk
    /system/app/USBSettings.apk
    /system/app/UserDictionaryProvider.apk
    /system/app/VideoEditorLite_Dream_N.apk
    /system/app/VideoTrimmer_Dream.apk
    /system/app/VirtualTour_N_OS.apk
    /system/app/VisionIntelligence.apk
    /system/app/WallpaperBackup.apk
    /system/app/Weather2017.apk
    /system/app/WeatherWidget2017.apk
    /system/app/WebManual.apk
    /system/app/WebViewGoogle.apk
    /system/app/WfdBroker.apk
    /system/app/withTV.apk
    /system/app/WlanTest.apk
    /system/app/YahooEdgeFinance.apk
    /system/app/YahooEdgeSports.apk
    /system/app/YouTube.apk
    /system/priv-app/AccessControl_N.apk
    /system/priv-app/ANTRadioService.apk
    /system/priv-app/AODService_v25.apk
    /system/priv-app/AppsEdgePanel_v3.apk
    /system/priv-app/AssistantMenu_N.apk
    /system/priv-app/AuthFramework.apk
    /system/priv-app/AuthService_v2.apk
    /system/priv-app/AutomationTest_FB.apk
    /system/priv-app/AutoPreconfig.apk
    /system/priv-app/BackupRestoreConfirmation.apk
    /system/priv-app/BadgeProvider_N.apk
    /system/priv-app/BeaconManager.apk
    /system/priv-app/BioFaceService.apk
    /system/priv-app/Bixby.apk
    /system/priv-app/BixbyAgentDummy.apk
    /system/priv-app/BixbyGlobalAction.apk
    /system/priv-app/BixbyPLMSync.apk
    /system/priv-app/BixbyVoiceInput.apk
    /system/priv-app/BlockedNumberProvider.apk
    /system/priv-app/BlueLightFilter.apk
    /system/priv-app/CallLogBackup.apk
    /system/priv-app/CarrierConfig.apk
    /system/priv-app/CMHProvider.apk
    /system/priv-app/CocktailBarService_v3.apk
    /system/priv-app/ColorBlind_N.apk
    /system/priv-app/ConfigUpdater.apk
    /system/priv-app/ContextProvider.apk
    /system/priv-app/Crane.apk
    /system/priv-app/CSC.apk
    /system/priv-app/CtsShimPrivPrebuilt.apk
    /system/priv-app/DayLite.apk
    /system/priv-app/DCMService.apk
    /system/priv-app/DeviceHealthReporter.apk
    /system/priv-app/DeviceKeystring.apk
    /system/priv-app/DeviceQualityAgent.apk
    /system/priv-app/DeviceTest.apk
    /system/priv-app/DiagMonAgent.apk
    /system/priv-app/DocumentsUI.apk
    /system/priv-app/EasySetup.apk
    /system/priv-app/EmergencyInfo.apk
    /system/priv-app/EnhanceService.apk
    /system/priv-app/Excel_SamsungStub.apk
    /system/priv-app/ExternalStorageProvider.apk
    /system/priv-app/FaceService.apk
    /system/priv-app/FBInstaller_NS.apk
    /system/priv-app/Finder_v7.apk
    /system/priv-app/FingerprintService2.apk
    /system/priv-app/Fmm.apk
    /system/priv-app/FotaAgent.apk
    /system/priv-app/Fresco_1.0.apk
    /system/priv-app/GalaxyAppsWidget_Phone_Dream.apk
    /system/priv-app/GalaxyApps_3xh.apk
    /system/priv-app/GameHome_Dream.apk
    /system/priv-app/GameTools_Dream.apk
    /system/priv-app/Gear360Editor_WQHD_Dream.apk
    /system/priv-app/GmsCore.apk
    /system/priv-app/GoogleBackupTransport.apk
    /system/priv-app/GoogleFeedback.apk
    /system/priv-app/GoogleLoginService.apk
    /system/priv-app/GoogleOneTimeInitializer.apk
    /system/priv-app/GooglePartnerSetup.apk
    /system/priv-app/GoogleServicesFramework.apk
    /system/priv-app/GPUDriver-S8MaliG71_70.apk
    /system/priv-app/HealthService.apk
    /system/priv-app/Hearingdro_V6.apk
    /system/priv-app/HwModuleTest.apk
    /system/priv-app/ImsLogger+.apk
    /system/priv-app/intelligenceservice2.apk
    /system/priv-app/IPService.apk
    /system/priv-app/IrisUserTest.apk
    /system/priv-app/KeyguardWallpaperUpdator.apk
    /system/priv-app/KLMSAgent.apk
    /system/priv-app/KnoxDesktopLauncher.apk
    /system/priv-app/LedCoverAppDream.apk
    /system/priv-app/LedCoverService.apk
    /system/priv-app/LTETest.apk
    /system/priv-app/ManagedProvisioning.apk
    /system/priv-app/MateAgent.apk
    /system/priv-app/Messaging_SEP81.apk
    /system/priv-app/ModemServiceMode.apk
    /system/priv-app/MsgCommService.apk
    /system/priv-app/MtpApplication.apk
    /system/priv-app/MtpDocumentsProvider.apk
    /system/priv-app/NetworkDiagnostic.apk
    /system/priv-app/ODTCFactoryService.apk
    /system/priv-app/OmaCP.apk
    /system/priv-app/OMCAgent.apk
    /system/priv-app/OneDrive_Samsung_v2.apk
    /system/priv-app/PaymentFramework.apk
    /system/priv-app/PeopleStripe.apk
    /system/priv-app/Phonesky.apk
    /system/priv-app/PhotoStudio_WQHD_Dream.apk
    /system/priv-app/PowerPoint_SamsungStub.apk
    /system/priv-app/PreloadInstaller.apk
    /system/priv-app/RadioBasedLocation.apk
    /system/priv-app/ringtoneBR.apk
    /system/priv-app/Rlc.apk
    /system/priv-app/RNB.apk
    /system/priv-app/RNBShell.apk
    /system/priv-app/Rubin.apk
    /system/priv-app/SamsungAccount_Dream.apk
    /system/priv-app/SamsungBilling.apk
    /system/priv-app/SamsungCamera7.apk
    /system/priv-app/SamsungCloudDreamNewIcon.apk
    /system/priv-app/SamsungContacts81.apk
    /system/priv-app/SamsungMagnifier3.apk
    /system/priv-app/SamsungMultiWindow.apk
    /system/priv-app/SamsungPass_1.1.apk
    /system/priv-app/SamsungThemes.apk
    /system/priv-app/SamsungVideoPlayer2016.apk
    /system/priv-app/SecCalendarProvider_NOTSTICKER.apk
    /system/priv-app/SecContactsProvider.apk
    /system/priv-app/SecDownloadProvider.apk
    /system/priv-app/SecGallery2015.apk
    /system/priv-app/SecIrisService.apk
    /system/priv-app/SecLiveWallpapersPicker.apk
    /system/priv-app/SecMediaProvider.apk
    /system/priv-app/SecMyFiles2017.apk
    /system/priv-app/SecSetupWizard2015.apk
    /system/priv-app/SelectiveFocusViewer.apk
    /system/priv-app/SEMFactoryApp.apk
    /system/priv-app/SendHelpMessage.apk
    /system/priv-app/serviceModeApp_FB.apk
    /system/priv-app/SetupWizard.apk
    /system/priv-app/SharedStorageBackup.apk
    /system/priv-app/ShootingModeProvider2.apk
    /system/priv-app/SKMSAgent.apk
    /system/priv-app/SmartcardManager.apk
    /system/priv-app/SmartEpdgTestApp.apk
    /system/priv-app/smartfaceservice.apk
    /system/priv-app/SmartManager_v5.apk
    /system/priv-app/SmartManager_v5_DeviceSecurity.apk
    /system/priv-app/SMusicPicker.apk
    /system/priv-app/SNS_v2_N.apk
    /system/priv-app/SOAgent.apk
    /system/priv-app/SoundAlive_51.apk
    /system/priv-app/SPDClient.apk
    /system/priv-app/SPPPushClient_Prod.apk
    /system/priv-app/StatementService.apk
    /system/priv-app/StickerFaceAR.apk
    /system/priv-app/StickerProvider.apk
    /system/priv-app/StickerStamp.apk
    /system/priv-app/StoryService.apk
    /system/priv-app/SVCAgent.apk
    /system/priv-app/SVoicePLM.apk
    /system/priv-app/Tag.apk
    /system/priv-app/TaskEdgePanel_v3.apk
    /system/priv-app/ThemeCenter.apk
    /system/priv-app/TouchWizHome_2017.apk
    /system/priv-app/TransmitPowerService.apk
    /system/priv-app/TzDataUpdater.apk
    /system/priv-app/UIBCVirtualSoftkey.apk
    /system/priv-app/UnifiedProfile.apk
    /system/priv-app/Upday.apk
    /system/priv-app/Velvet.apk
    /system/priv-app/VisionCloudAgent.apk
    /system/priv-app/VoiceServiceFramework.apk
    /system/priv-app/VoiceWakeUp.apk
    /system/priv-app/VoWifiSPG.apk
    /system/priv-app/VpnDialogs.apk
    /system/priv-app/VRSetupWizardStub.apk
    /system/priv-app/WallpaperCropper.apk
    /system/priv-app/WallpaperCropper2.apk
    /system/priv-app/Word_SamsungStub.apk
    /system/priv-app/wssyncmlnps2.apk
    /system/framework/com.samsung.device.jar
    /system/framework/com.sec.android.app.minimode.jar
    /system/framework/com.sec.android.app.multiwindow.jar
    /system/framework/com.sec.android.visualeffect.jar
    /system/framework/seccamera.jar
    /system/framework/sechardware.jar
    /system/framework/secmediarecorder.jar
    /system/framework/secvision.jar
    /system/framework/sws.jar
    /system/framework/touchwiz.jar
    /system/app/GoogleExtShared.apk
    /system/priv-app/GoogleExtServices.apk
    /system/priv-app/GooglePackageInstaller.apk
    31
    New version - Nougat support

    SVADeodexerForArt.jpg
    This version is a gift to You for the New Year, my dear friends!


    Changelog (v5.0) from 08/12/2016:


    1. Support Android Lollipop/Marsmallow/Nougat
    2. Automatic detection android version (Lollipop/Marsmallow/Nougat)
    3. More optimizations
    4. Fixed errors

    This version works correctly with versions from Lollipop to Nougat.
    For Nougat version oat2dex.jar still beta, but the program tries to work around what is not working and , in most cases, bypasses.
    For example, in the latest beta version for Samsung Galaxy S7 edge with error deodexed only one application "SamsungCalendar.odex". The rest is all correct.
    Therefore, those applications that failed to deodex, you can deodexed using baksmali/smali (with last version) or wait corrected version oat2dex.
    And yet, the program does not re-sign, deodexed applications, so you need to make changes appropriate to disable signature verification. This task is not the task of deodexing and don't ask me how it's done - search on xda.

    1. Download for 32-bit systems (v5.0 from 08-12-2016): View attachment SVADeodexerForArt_v5_32.zip
    2. Download for 64-bit systems (v
    5.0 from 08-12-2016): View attachment SVADeodexerForArt_v5_64.zip


    Example of log SVADeodexerForArt.exe for Android 7.0

    32-bit Deodexer for Android Runtime (Version 5.0 от 08/12/2016) © Valery Studenikin, 2016

    Path to stock /system directory: F:\Temp\ZPLN\BETA-6.G93xF.XXU1ZPLN\system
    Android 7.0 (SDK 24): SM-G935F, BETA6.G935FXXU1ZPLN-v6.0, changelist 10211359, Fri Dec 23 19:49:07 KST 2016
    Processor architecture: \oat\arm64\
    Files deodexed succesfully: 334, with errors: 1. CPU time: 00:06:00 (359,532 sec.)

    Extracting and de-optimizing was terminated with errors for:

    F:\SVA\WIN\SVADeodexerForArt\SamsungCalendar.odex


    Finded errors saved to file: F:\SVA\WIN\SVADeodexerForArt\LogLines.log

    =============================> begin errors for F:\SVA\WIN\SVADeodexerForArt\SamsungCalendar.odex
    12-31 09:45:20:337 Art version=79 (F:\SVA\WIN\SVADeodexerForArt\SamsungCalendar.odex)
    12-31 09:45:20:345 De-optimizing /system/app/SamsungCalendar/SamsungCalendar.apk

    12-31 09:45:22:037 Analysis error in class=Lcom/b/cx; method=b
    Method: Lcom/b/cx;->b(Landroid/content/Context;I)Ljava/util/ArrayList;
    Near line: -1 (address 38)
    Instructions:
    [19] const/4 regA=1
    [20] if-eqz regA=0
    [21] invoke-virtual-quick regC=1 <-----
    [22] move-result regA=2
    [23] if-eqz regA=2

    12-31 09:45:22:037 org.jf.dexlib2.analysis.AnalysisException: Could not resolve the method in class unknown at index 51, objReg=1
    at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInvokeVirtualQuick(MethodAnalyzer.java:2612)
    at org.jf.dexlib2.analysis.MethodAnalyzer.analyzeInstruction(MethodAnalyzer.java:1248)
    at org.jf.dexlib2.analysis.MethodAnalyzer.analyze(MethodAnalyzer.java:259)
    at org.jf.dexlib2.analysis.MethodAnalyzer.<init>(MethodAnalyzer.java:190)
    at org.rh.smaliex.DexUtil$ODexRewriterModule$1$1.getInstructions(DexUtil.java:505)
    ...(Skip 24 traces)
    at org.rh.smaliex.OatUtil.convertToDex(OatUtil.java:321)
    at org.rh.smaliex.OatUtil.convertDexFromBootOat(OatUtil.java:244)
    at org.rh.smaliex.OatUtil.oat2dex(OatUtil.java:146)
    at org.rh.smaliex.Main.mainImpl(Main.java:122)
    at org.rh.smaliex.Main.main(Main.java:42)

    12-31 09:45:22:037 Failed to re-construct dex java.lang.ClassCastException: org.jf.dexlib2.analysis.UnresolvedOdexInstruction cannot be cast to org.jf.dexlib2.iface.instruction.formats.Instruction35ms
    12-31 09:45:22:037 convertToDex: skip /system/app/SamsungCalendar/SamsungCalendar.apk
    =============================> end errors for F:\SVA\WIN\SVADeodexerForArt\SamsungCalendar.odex



    Attention: framework deodexed only for 64-bit (32-bit version not deodexed and not was copied to result)

    List of apks that have 32-bit and 64-bit versions (deodexed only for 64-bit):

    /system/priv-app/AuthService.apk
    /system/priv-app/HealthService.apk


    List of deodexed apks that have only 32-bit version (don't have 64-bit):

    /system/app/AllshareFileShare.apk
    /system/app/AllshareMediaShare.apk
    /system/app/Bluetooth.apk
    /system/app/DictDiotek.apk
    /system/app/FlashAnnotate.apk
    /system/app/SapaMonitor.apk
    /system/priv-app/PhotoStudio_WQHD_Grace.apk
    /system/priv-app/SelectiveFocusViewer.apk
    /system/priv-app/VoiceNote_5.0.apk


    List of originally deodexed (within stock firmware) files, are left as they were originally:

    /system/framework/services.jar
    /system/app/ANTPlusPlugins.apk
    /system/app/CloudGateway2016.apk
    /system/app/CnnPanel.apk
    /system/app/CoreApps_SDK.apk
    /system/app/CtsShimPrebuilt.apk
    /system/app/FlipboardBriefing.apk
    /system/app/GoogleCalendarSyncAdapter.apk
    /system/app/GoogleContactsSyncAdapter.apk
    /system/app/GoogleExtShared.apk
    /system/app/GooglePrintRecommendationService.apk
    /system/app/GoogleTTS.apk
    /system/app/hwlogcollector.apk
    /system/app/MirrorLink.apk
    /system/app/NetworkDiagnostic.apk
    /system/app/RootPA.apk
    /system/app/SamsungIMEv4.apk
    /system/app/SBrowser_5.0.apk
    /system/app/SecMemo3.apk
    /system/app/UPSMTheme.apk
    /system/app/WebViewGoogle.apk
    /system/priv-app/ANTRadioService.apk
    /system/priv-app/AxelSpringer.apk
    /system/priv-app/ConfigUpdater.apk
    /system/priv-app/Crane.apk
    /system/priv-app/CtsShimPrivPrebuilt.apk
    /system/priv-app/FBInstaller.apk
    /system/priv-app/GalaxyAppsWidget_Phone_Hero.apk
    /system/priv-app/GalaxyApps_3xh.apk
    /system/priv-app/GalaxyThemes.apk
    /system/priv-app/GameHome.apk
    /system/priv-app/GameTools.apk
    /system/priv-app/GmsCore.apk
    /system/priv-app/GoogleBackupTransport.apk
    /system/priv-app/GoogleExtServices.apk
    /system/priv-app/GoogleFeedback.apk
    /system/priv-app/GoogleLoginService.apk
    /system/priv-app/GoogleOneTimeInitializer.apk
    /system/priv-app/GooglePackageInstaller.apk
    /system/priv-app/GooglePartnerSetup.apk
    /system/priv-app/GoogleServicesFramework.apk
    /system/priv-app/ImsLogger+.apk
    /system/priv-app/imsservice.apk
    /system/priv-app/Messaging_Common.apk
    /system/priv-app/Phonesky.apk
    /system/priv-app/QuickAssist.apk
    /system/priv-app/RadioBasedLocation.apk
    /system/priv-app/SamsungAccount_Dream.apk
    /system/priv-app/SamsungBilling.apk
    /system/priv-app/SamsungCloud.apk
    /system/priv-app/SamsungInCallUI.apk
    /system/priv-app/SecEmail_N.apk
    /system/priv-app/SecGallery2015.apk
    /system/priv-app/SecSettings2.apk
    /system/priv-app/SEMFactoryApp.apk
    /system/priv-app/SetupWizard.apk
    /system/priv-app/SHealth5.apk
    /system/priv-app/SNS_v2_N.apk
    /system/priv-app/SPPPushClient_Prod.apk
    /system/priv-app/SVoice.apk
    /system/priv-app/SVoicePLM.apk
    /system/priv-app/SystemUI.apk
    /system/priv-app/TeleService.apk
    /system/priv-app/Velvet.apk
    /system/priv-app/VoiceWakeUp.apk
    /system/framework/com.samsung.device.jar
    /system/framework/com.sec.android.app.minimode.jar
    /system/framework/com.sec.android.app.multiwindow.jar
    /system/framework/com.sec.android.visualeffect.jar
    /system/framework/seccamera.jar
    /system/framework/sechardware.jar
    /system/framework/secmediarecorder.jar
    /system/framework/secvision.jar
    /system/framework/sws.jar
    /system/framework/touchwiz.jar