Android Hotfix FAQ index
1. Debugging tool issues
1) The debugging tool cannot find the package name when connecting to an application. For more information, see this document.
2) On most phones, switch to Developer mode to find the AIDL toggle. Alternatively, grant the debugging tool auto-start permissions or add it to the whitelist.
2. Patch tool issues
1) The Mac version crashes on startup. For more information, see this document.
2) To use the tool, install a Java environment with JDK 7 or later. Note: You must configure the environment variables as you would for an Android development environment. If a JDK version earlier than 7 is installed, uninstall it.
3) An error `no any patchClasses` is reported when you generate a patch. For more information, see this document.
4) If an error indicating no resource differences is reported during patch generation, and you have not modified any resources or .so files, select the option to not compare resources or .so files and generate the patch again. If the issue persists, ask for help in the DingTalk group.
3. Supported fixes
1) Does Sophix support fixes for all code and resources? For more information, see this document.
2) Can hotpatching be used to modify only resources? For more information, see this document.
3) Is adding a new Activity supported? For more information, see this document.
4) Is patching supported for multi-DEX applications? For more information, see this document.
4. Obfuscation settings
1) To enable support for code that is obfuscated using ProGuard, see the document at https://help.aliyun.com/knowledge_detail/53231.html.
2) How do I configure the obfuscation file to ensure consistency between the old and new packages? For more information, see this document.
3) If a method or class cannot be found, this may be due to obfuscation. For more information, see this document.
4) What is a baseline package? For more information, see this document.
5. Patch activation
1) After a patch is published, when does it take effect in the app? For more information, see this document.
2) When should you use a real-time hotpatch versus a cold-start patch? For more information, see this document.
3) How can you reliably test a hotpatch locally before publishing it? For more information, see this document.
4) My APK has multiple distribution channels. How should I create patches for it? For more information, see this document.
6. Hardening-related issues
1) Does hotpatching support reinforcement? Yes, it does. It currently supports reinforcement from iJiaMi, 360, Legu, Bangcle, and NAGA.
2) How is reinforcement supported, and which patch should be used? For more information, see this document.
7. Official Sophix in-depth technical materials
1) *In-depth Exploration of Android Hotpatching Technology Principles*. Free download: http://download.csdn.net/download/xlitol/9892768
2) Sophix technical overview: https://yq.aliyun.com/articles/103527
3) Real-time code hotpatching: https://yq.aliyun.com/articles/74598
4) A detailed guide to resource hotpatching technology: https://yq.aliyun.com/articles/96378
5) New explorations in cold-start patching on Dalvik: https://yq.aliyun.com/articles/107396