getList() {
36 | if (Path.startsWith(PROVIDER_LOCAL_FILE)) {
37 | String truePath = HookEnv.ExtraDataPath + "Voice/" + Path.substring(PROVIDER_LOCAL_FILE.length());
38 | return LocalVoiceSearchHelper.searchForPath(truePath, Path.length() == PROVIDER_LOCAL_FILE.length());
39 | } else if (Path.startsWith(PROVIDER_LOCAL_SEARCH)) {
40 | String searchName = Path.substring(PROVIDER_LOCAL_SEARCH.length());
41 | return LocalVoiceSearchHelper.searchForName(HookEnv.ExtraDataPath + "Voice/", searchName);
42 | }
43 | return new ArrayList<>();
44 | }
45 |
46 | public static class FileInfo {
47 | public String Name;
48 | public int type;
49 | public String Path;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/QTool/src/main/java/cc/hicore/qtool/XPWork/LittleHook/SavedToXml.java:
--------------------------------------------------------------------------------
1 | package cc.hicore.qtool.XPWork.LittleHook;
2 |
3 | import cc.hicore.HookItemLoader.Annotations.CommonExecutor;
4 | import cc.hicore.HookItemLoader.Annotations.VerController;
5 | import cc.hicore.HookItemLoader.Annotations.XPItem;
6 | import cc.hicore.ReflectUtils.Classes;
7 | import cc.hicore.ReflectUtils.MClass;
8 | import cc.hicore.ReflectUtils.MMethod;
9 | import de.robv.android.xposed.XC_MethodHook;
10 | import de.robv.android.xposed.XposedHelpers;
11 |
12 | @XPItem(name = "XP_Save", itemType = XPItem.ITEM_Hook)
13 | public class SavedToXml {
14 | @VerController
15 | @CommonExecutor
16 | public void execute() {
17 | XposedHelpers.findAndHookMethod(MClass.loadClass("com.tencent.mobileqq.data.MessageForStarLeague"), "decodeMsgFromXmlBuff", Classes.QQAppinterFace(), int.class, long.class, byte[].class, int.class, new XC_MethodHook() {
18 | @Override
19 | protected void afterHookedMethod(MethodHookParam param) throws Throwable {
20 | byte[] arr = MMethod.CallMethod(null, MClass.loadClass("com.tencent.mobileqq.structmsg.StructMsgUtils"), "a",
21 | byte[].class, new Class[]{byte[].class, int.class}, param.args[3], -1);
22 | MMethod.CallMethodParams(param.getResult(), "saveExtInfoToExtStr", void.class, "SavedXml", new String(arr));
23 | }
24 | });
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/QTool/src/main/java/cc/hicore/qtool/XPWork/LittleHook/UnlockWebLock.java:
--------------------------------------------------------------------------------
1 | package cc.hicore.qtool.XPWork.LittleHook;
2 |
3 | import java.net.URLDecoder;
4 |
5 | import cc.hicore.HookItemLoader.Annotations.MethodScanner;
6 | import cc.hicore.HookItemLoader.Annotations.UIItem;
7 | import cc.hicore.HookItemLoader.Annotations.VerController;
8 | import cc.hicore.HookItemLoader.Annotations.XPExecutor;
9 | import cc.hicore.HookItemLoader.Annotations.XPItem;
10 | import cc.hicore.HookItemLoader.bridge.BaseXPExecutor;
11 | import cc.hicore.HookItemLoader.bridge.MethodContainer;
12 | import cc.hicore.HookItemLoader.bridge.UIInfo;
13 | import cc.hicore.ReflectUtils.MClass;
14 | import cc.hicore.ReflectUtils.MMethod;
15 |
16 | @XPItem(name = "解除风险网址拦截", itemType = XPItem.ITEM_Hook, proc = XPItem.PROC_ALL)
17 | public class UnlockWebLock {
18 | private static String GetStringMiddle(String str, String before, String after) {
19 | int index1 = str.indexOf(before);
20 | if (index1 == -1) return null;
21 | int index2 = str.indexOf(after, index1 + before.length());
22 | if (index2 == -1) return null;
23 | return str.substring(index1 + before.length(), index2);
24 | }
25 |
26 | @VerController
27 | @UIItem
28 | public UIInfo getUI() {
29 | UIInfo ui = new UIInfo();
30 | ui.name = "解除风险网址拦截";
31 | ui.groupName = "功能辅助";
32 | ui.targetID = 1;
33 | ui.type = 1;
34 | return ui;
35 | }
36 |
37 | @VerController
38 | @MethodScanner
39 | public void getHookMethod(MethodContainer container) {
40 | container.addMethod("hook", MMethod.FindMethod(MClass.loadClass("com.tencent.smtt.sdk.WebView"), "loadUrl", void.class, new Class[]{
41 | String.class
42 | }));
43 | }
44 |
45 | @VerController
46 | @XPExecutor(methodID = "hook")
47 | public BaseXPExecutor worker() {
48 | return param -> {
49 | String loadUrl = (String) param.args[0];
50 | if (loadUrl.startsWith("https://c.pc.qq.com/middlem.html?") || loadUrl.startsWith("https://c.pc.qq.com/index.html?")) {
51 | String RedictUrl = GetStringMiddle(loadUrl, "url=", "&");
52 | if (RedictUrl != null) {
53 | String SourceUrl = URLDecoder.decode(RedictUrl);
54 | param.args[0] = SourceUrl;
55 | }
56 | }
57 | };
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/QTool/src/main/java/cc/hicore/qtool/XPWork/LittleHook/VipStatusFucker.java:
--------------------------------------------------------------------------------
1 | package cc.hicore.qtool.XPWork.LittleHook;
2 |
3 | import java.lang.reflect.Method;
4 |
5 | import cc.hicore.HookItemLoader.Annotations.MethodScanner;
6 | import cc.hicore.HookItemLoader.Annotations.UIItem;
7 | import cc.hicore.HookItemLoader.Annotations.VerController;
8 | import cc.hicore.HookItemLoader.Annotations.XPExecutor;
9 | import cc.hicore.HookItemLoader.bridge.BaseXPExecutor;
10 | import cc.hicore.HookItemLoader.bridge.MethodContainer;
11 | import cc.hicore.HookItemLoader.bridge.MethodFinderBuilder;
12 | import cc.hicore.HookItemLoader.bridge.UIInfo;
13 | import de.robv.android.xposed.XposedBridge;
14 |
15 | //@XPItem(itemType = XPItem.ITEM_Hook, name = "VipStatusFucker")
16 | public class VipStatusFucker {
17 | @UIItem
18 | @VerController
19 | public UIInfo UIInit() {
20 | UIInfo info = new UIInfo();
21 | info.name = "伪装VIP状态";
22 | info.desc = "可用来免VIP贴图";
23 | info.targetID = 3;
24 | info.type = 1;
25 | return info;
26 | }
27 |
28 | @MethodScanner
29 | @VerController
30 | public void MethodFiner(MethodContainer container) {
31 | container.addMethod(MethodFinderBuilder.newFinderByString("hook", "getPrivilegeFlags Friends is null", member -> ((Method) member).getParameterCount() == 1));
32 | }
33 |
34 | @VerController
35 | @XPExecutor(methodID = "hook")
36 | public BaseXPExecutor hookWorker() {
37 | return param -> {
38 | String uin = (String) param.args[0];
39 | if (uin == null) {
40 | int i = (int) XposedBridge.invokeOriginalMethod(param.method, param.thisObject, param.args);
41 | param.setResult(i | 2 | 4 | 8);
42 | }
43 | };
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/QTool/src/main/java/cc/hicore/qtool/XPWork/QQProxy/AddMsgProxy.java:
--------------------------------------------------------------------------------
1 | package cc.hicore.qtool.XPWork.QQProxy;
2 |
3 | import cc.hicore.HookItemLoader.Annotations.MethodScanner;
4 | import cc.hicore.HookItemLoader.Annotations.VerController;
5 | import cc.hicore.HookItemLoader.Annotations.XPExecutor;
6 | import cc.hicore.HookItemLoader.Annotations.XPItem;
7 | import cc.hicore.HookItemLoader.bridge.BaseXPExecutor;
8 | import cc.hicore.HookItemLoader.bridge.MethodContainer;
9 | import cc.hicore.ReflectUtils.MClass;
10 | import cc.hicore.ReflectUtils.MMethod;
11 | import cc.hicore.qtool.JavaPlugin.Controller.PluginController;
12 |
13 | /*
14 | Hook For AddAndSendMessage
15 | 在发送 文本,回复时会调用
16 | */
17 | @XPItem(name = "Proxy_AddMsg", itemType = XPItem.ITEM_Hook)
18 | public class AddMsgProxy {
19 | @VerController
20 | @MethodScanner
21 | public void getHookMethod(MethodContainer container) {
22 | container.addMethod("hook", MMethod.FindMethod("com.tencent.imcore.message.BaseQQMessageFacade", "a", void.class, new Class[]{
23 | MClass.loadClass("com.tencent.mobileqq.data.MessageRecord"),
24 | MClass.loadClass("com.tencent.mobileqq.app.BusinessObserver")
25 | }));
26 | }
27 |
28 | @VerController
29 | @XPExecutor(methodID = "hook")
30 | public BaseXPExecutor worker() {
31 | return param -> {
32 | Object chatMsg = param.args[0];
33 | PluginController.WaitForgetMsgInvoke(chatMsg);
34 | };
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/QTool/src/main/java/cc/hicore/qtool/XPWork/QQProxy/BaseChatPie.java:
--------------------------------------------------------------------------------
1 | package cc.hicore.qtool.XPWork.QQProxy;
2 |
3 | import cc.hicore.HookItemLoader.Annotations.MethodScanner;
4 | import cc.hicore.HookItemLoader.Annotations.VerController;
5 | import cc.hicore.HookItemLoader.Annotations.XPExecutor;
6 | import cc.hicore.HookItemLoader.Annotations.XPItem;
7 | import cc.hicore.HookItemLoader.bridge.BaseXPExecutor;
8 | import cc.hicore.HookItemLoader.bridge.MethodContainer;
9 | import cc.hicore.HookItemLoader.bridge.QQVersion;
10 | import cc.hicore.ReflectUtils.Finders;
11 | import cc.hicore.ReflectUtils.MClass;
12 | import cc.hicore.ReflectUtils.MField;
13 | import cc.hicore.qtool.HookEnv;
14 |
15 | @XPItem(name = "BaseChatPie_Init", itemType = XPItem.ITEM_Hook)
16 | public class BaseChatPie {
17 | public static Object cacheChatPie;
18 |
19 | public static Object getNewSessionInfo() {
20 | try {
21 | return MField.GetFirstField(cacheChatPie, MClass.loadClass("com.tencent.mobileqq.activity.aio.SessionInfo"));
22 | } catch (Exception e) {
23 | e.printStackTrace();
24 | return null;
25 | }
26 | }
27 |
28 | @VerController
29 | @XPExecutor(methodID = "basechatpie_init", period = XPExecutor.After)
30 | public BaseXPExecutor worker() {
31 | return param -> {
32 | cacheChatPie = param.thisObject;
33 | HookEnv.AppInterface = MField.GetFirstField(cacheChatPie, MClass.loadClass("com.tencent.mobileqq.app.QQAppInterface"));
34 | HookEnv.SessionInfo = MField.GetFirstField(cacheChatPie, MClass.loadClass("com.tencent.mobileqq.activity.aio.SessionInfo"));
35 | HookEnv.isCurrentGuild = false;
36 | };
37 | }
38 |
39 | @MethodScanner
40 | @VerController(targetVer = QQVersion.QQ_8_8_93)
41 | public void getBaseChatPieInit(MethodContainer container) {
42 | Finders.BaseChatPieInit_8893(container);
43 | }
44 |
45 | @MethodScanner
46 | @VerController(max_targetVer = QQVersion.QQ_8_8_93)
47 | public void getBaseChatPieOld(MethodContainer container) {
48 | Finders.BaseChatPieInit(container);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/QTool/src/main/java/cc/hicore/qtool/XPWork/QQUIUtils/FormItemUtils.java:
--------------------------------------------------------------------------------
1 | package cc.hicore.qtool.XPWork.QQUIUtils;
2 |
3 | import android.content.Context;
4 | import android.view.View;
5 |
6 | import cc.hicore.LogUtils.LogUtils;
7 | import cc.hicore.ReflectUtils.MClass;
8 | import cc.hicore.ReflectUtils.MMethod;
9 |
10 | public class FormItemUtils {
11 | private static final String TAG = "FormItemUtils";
12 |
13 | public static View createSingleItem(Context context, String title, View.OnClickListener listener) {
14 | try {
15 | View NewItem = MClass.NewInstance(MClass.loadClass("com.tencent.mobileqq.widget.FormSimpleItem"), context);
16 | MMethod.CallMethodSingle(NewItem, "setLeftText", void.class, title);
17 | NewItem.setOnClickListener(listener);
18 | return NewItem;
19 | } catch (Exception e) {
20 | LogUtils.error(TAG, e);
21 | return null;
22 | }
23 | }
24 |
25 | public static View createMultiItem(Context context, String title, String rightLine, View.OnClickListener listener) {
26 | try {
27 | View NewItem = MClass.NewInstance(MClass.loadClass("com.tencent.mobileqq.widget.FormSimpleItem"), context);
28 | MMethod.CallMethodSingle(NewItem, "setLeftText", void.class, title);
29 | MMethod.CallMethodSingle(NewItem, "setRightText", void.class, rightLine);
30 | NewItem.setOnClickListener(listener);
31 | return NewItem;
32 | } catch (Exception e) {
33 | LogUtils.error(TAG, e);
34 | return null;
35 | }
36 | }
37 | public static View createMultiItem_Appent(Context context, CharSequence title, String rightLine, View.OnClickListener listener) {
38 | try {
39 | View NewItem = MClass.NewInstance(MClass.loadClass("com.tencent.mobileqq.widget.FormSimpleItem"), context);
40 | MMethod.CallMethodSingle(NewItem, "setLeftText", void.class, title);
41 | MMethod.CallMethodSingle(NewItem, "setRightText", void.class, rightLine);
42 | NewItem.setOnClickListener(listener);
43 | return NewItem;
44 | } catch (Exception e) {
45 | LogUtils.error(TAG, e);
46 | return null;
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/QTool/src/main/java/cc/hicore/qtool/XposedInit/CheckWrongVersion.java:
--------------------------------------------------------------------------------
1 | package cc.hicore.qtool.XposedInit;
2 |
3 | import android.app.AlertDialog;
4 | import android.content.Context;
5 |
6 | public class CheckWrongVersion {
7 | public static void ShowToast1(Context context) {
8 | new AlertDialog.Builder(context, 3)
9 | .setTitle("提示")
10 | .setMessage("由于作者精力有限,QTool将在QQ8.8.35以下版本中禁用,请升级QQ后使用,如果私自修改了QQ版本号请修改回正确版本,如果有需要请使用旧版本模块")
11 | .setNegativeButton("确定", (dialog, which) -> {
12 |
13 | }).show();
14 | }
15 |
16 | public static void ShowWrongVersionDialog(Context context) {
17 | new AlertDialog.Builder(context, 3)
18 | .setTitle("提示")
19 | .setMessage("当前QQ版本号存在异常,请不要私自修改QQ版本号,以避免适配错误")
20 | .setNegativeButton("确定", (dialog, which) -> {
21 |
22 | }).show();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/QTool/src/main/java/cc/hicore/qtool/XposedInit/HostInfo.java:
--------------------------------------------------------------------------------
1 | package cc.hicore.qtool.XposedInit;
2 |
3 | import android.content.pm.ApplicationInfo;
4 | import android.content.pm.PackageInfo;
5 | import android.content.pm.PackageManager;
6 |
7 | import cc.hicore.LogUtils.LogUtils;
8 | import cc.hicore.qtool.HookEnv;
9 |
10 | //获取QQ的版本号信息
11 | public class HostInfo {
12 | private static final String TAG = "HostInfo";
13 | private static String Version;
14 | private static int Version_Code;
15 |
16 | protected static void Init() {
17 | try {
18 | //获取普通apk版本信息
19 | PackageManager pm = HookEnv.AppContext.getPackageManager();
20 | PackageInfo mSelfInfo = pm.getPackageInfo("com.tencent.mobileqq", 0);
21 | String Version_1 = mSelfInfo.versionName;
22 |
23 | //获取QQ小版本信息
24 | ApplicationInfo sAppInfo = pm.getApplicationInfo("com.tencent.mobileqq", PackageManager.GET_META_DATA);
25 | String UUID = sAppInfo.metaData.getString("com.tencent.rdm.uuid");
26 |
27 | Version = Version_1;
28 | Version_Code = Integer.parseInt(UUID.substring(0, UUID.indexOf("_")));
29 | } catch (Throwable e) {
30 | LogUtils.fetal_error(TAG, e);
31 | }
32 | }
33 |
34 | public static int getVerCode() {
35 | return Version_Code;
36 | }
37 |
38 | public static String getVersion() {
39 | return Version;
40 | }
41 |
42 | public static boolean checkIsGrayQQ(){
43 | try {
44 | PackageManager pm = HookEnv.AppContext.getPackageManager();
45 | ApplicationInfo sAppInfo = pm.getApplicationInfo("com.tencent.mobileqq", PackageManager.GET_META_DATA);
46 | String Settings = sAppInfo.metaData.getString("AppSetting_params");
47 | if (Settings.contains("#Gray"))return true;
48 | }catch (Exception ignored) {}
49 | return false;
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/QTool/src/main/java/com/tencent/rmonitor/looper/LooperProxy.java:
--------------------------------------------------------------------------------
1 | package com.tencent.rmonitor.looper;
2 |
3 | import android.os.Handler;
4 | import android.os.Looper;
5 |
6 | import cc.hicore.qtool.CrashHandler.CatchInstance;
7 |
8 | public class LooperProxy implements Runnable{
9 | public static void Proxy(){
10 | new Handler(Looper.getMainLooper())
11 | .post(new LooperProxy());
12 | }
13 |
14 | @Override
15 | public void run() {
16 | while (true){
17 | try {
18 | Looper.loop();
19 | break;
20 | }catch (Throwable e){
21 | CatchInstance.ICatchEx(Thread.currentThread(),e);
22 | }
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/QTool/src/main/res/anim/anim_fade_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
--------------------------------------------------------------------------------
/QTool/src/main/res/anim/anim_fade_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
--------------------------------------------------------------------------------
/QTool/src/main/res/color/selector_text_press_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/add_group.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/add_group.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/alarm.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/alarm.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/append_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/append_icon.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/bg_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/btnclick.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/cat.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/cat.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/check.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/check.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/convert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/convert.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/debug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/debug.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/delete.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/delete.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/dl_from_tg.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/dl_from_tg.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/enjoy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/enjoy.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/folder.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/folder.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/github.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/github.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/huaji.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/huaji.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/icon.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/info.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/info.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/input.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/input.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/itemback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/loading.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/loading.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/main_cleaner.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/main_cleaner.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/main_down.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/main_down.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/main_helper.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/main_helper.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/menu_icon_plugin.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/menu_icon_plugin.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/menu_item_base.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/menu_item_base2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/menu_item_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/micon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/micon.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/no_content.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/no_content.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/plugin_btn.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/plugin_btn.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/plugin_load.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/plugin_load.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/plugin_stop.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/plugin_stop.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/q.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/q.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/repeat.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/repeat.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/revoke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/revoke.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/send.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/send.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/share.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/share.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/sticker_like.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/sticker_like.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/sticker_pack_set_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/sticker_pack_set_icon.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/sticker_recent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/sticker_recent.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/tester.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/tester.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/text_item_press.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/textlines.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/tool.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/tool.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/top_sticker_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/top_sticker_add.png
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/voice_down.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/voice_down.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/voice_file.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/voice_file.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/voice_item.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/voice_item.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/voice_panel.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/voice_panel.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/drawable/voice_upload.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/QTool/src/main/res/drawable/voice_upload.webp
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/activity_opensource.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
20 |
21 |
25 |
26 |
27 |
32 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/activity_update.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/adapter_zhihu_comment.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
23 |
24 |
34 |
35 |
44 |
45 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/alarm_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
16 |
17 |
22 |
23 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/base_activity_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
11 |
12 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/base_menu_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
16 |
24 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/chat_msg_panel.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
19 |
26 |
33 |
34 |
41 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/child_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
19 |
28 |
36 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/child_item_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
18 |
26 |
31 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/dbcleaner_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
13 |
23 |
24 |
35 |
36 |
47 |
48 |
55 |
56 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/emo_bundle_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
13 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/emo_get_from_tg.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
21 |
22 |
27 |
28 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/emo_list_panel.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
21 |
22 |
23 |
29 |
30 |
31 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/emo_pic_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/emo_pre_save.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
16 |
20 |
23 |
28 |
29 |
30 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/emo_search_online.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/emo_show_empty.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
20 |
21 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/file_download.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
18 |
19 |
26 |
33 |
34 |
41 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/item_checker_hook_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
16 |
22 |
29 |
37 |
38 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/item_checker_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
12 |
13 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/item_checker_show_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
18 |
32 |
33 |
34 |
35 |
36 |
42 |
43 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/join_save_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
10 |
14 |
22 |
23 |
30 |
31 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/loading_progress.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
16 |
17 |
26 |
33 |
34 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/menu_javaplugin.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
11 |
12 |
17 |
18 |
24 |
25 |
31 |
32 |
38 |
39 |
44 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/open_source_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
16 |
23 |
33 |
39 |
40 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/plugin_create_new.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
15 |
23 |
31 |
39 |
47 |
55 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/plugin_inchat_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
25 |
26 |
30 |
31 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/plugin_inchat_menu_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
17 |
18 |
26 |
27 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/plugin_item_menu_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/repeater_set_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
16 |
24 |
29 |
30 |
38 |
39 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/select_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
14 |
15 |
25 |
26 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/sticker_panel_impl_input_from_local.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
13 |
17 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/sticker_panel_plus_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
11 |
16 |
17 |
25 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/sticker_panel_plus_pack_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
16 |
24 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/storage_clean_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
15 |
16 |
17 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/voice_base_panel.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
16 |
23 |
24 |
25 |
30 |
31 |
36 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/voice_panel_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
14 |
15 |
26 |
27 |
37 |
38 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/voice_pre_save.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
17 |
18 |
28 |
29 |
37 |
38 |
45 |
49 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/QTool/src/main/res/layout/voice_tts.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
11 |
17 |
21 |
22 |
25 |
30 |
35 |
40 |
41 |
48 |
49 |
--------------------------------------------------------------------------------
/QTool/src/main/res/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFBB86FC
4 | #FF6200EE
5 | #FF3700B3
6 | #FF03DAC5
7 | #FF018786
8 | #FF000000
9 | #FFFFFFFF
10 |
11 | @color/white
12 | @color/black
13 |
--------------------------------------------------------------------------------
/QTool/src/main/res/values-night/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/QTool/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - com.tencent.mobileqq
5 |
6 |
--------------------------------------------------------------------------------
/QTool/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFBB86FC
4 | #FF6200EE
5 | #FF3700B3
6 | #FF03DAC5
7 | #FF018786
8 | #FF000000
9 | #FFFFFFFF
10 |
11 | @color/black
12 | @color/white
13 |
14 | #00000000
15 | #A9999999
16 |
17 |
18 |
--------------------------------------------------------------------------------
/QTool/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | QTool
3 | Test Success
4 | 软件使用协议 版权所有 © 2022 Hicore <me@hicore.cc>
5 | 0.请务必仔细阅读和理解本协议中规定的所有权和限制,你有权利决定接受或不接受本协议的条款。如您需要使用QTool(以下称为 本软件),您需要接受本协议所规定的内容,否则本软件及其相关副本将不得在您的任何设备、终端上下载、安装或使用。
6 | 1.本软件代码受AGPLv3协议保护,在您修改,发行,公开,传播本软件时,您需要遵守AGPLv3协议相关的限制内容
7 | 2.您不能使用本软件进行违法,违规行为,若您使用了本软件进行了违法、违规行为,所有的责任需要由您自己承担
8 | 3.本软件禁止进行二次售卖,修改售卖,如发现您进行了此类行为,则开发者有权对您做出一定程度上软件使用的限制
9 | 4.若发现部分功能被滥用影响他人正常使用软件,则开发者将有权在没有通知的情况下移除、停止维护相关功能
10 | 5.本软件不保证在您使用本软件时的账号状态,您可能会出现账号被冻结的情况,您需要自己承担此项风险
11 | 6.本软件不保证在任何时候都能即使进行代码更新,不保证能持续地进行维护,有可能将在不另行通知的情况下停止维护,停止服务器和删除所有代码
12 | 隐私政策
13 | 0.软件在使用情况下会对部分隐私信息进行收集处理(下面列表),您有权拒绝收集,若您拒绝提供下列信息,本软件的部分功能将可能无法正常使用
14 | 1.收集的信息及用途如下
15 | 1.1使用本软件的设备型号,QQ账号,功能开关情况,功能错误日志信息(仅调用栈),用于统计软件使用情况数据以及软件BUG自动追踪
16 | 1.2使用本软件的设备型号,QQ账号,IP地址信息,用于在线脚本,在线表情包的服务器风险控制使用
17 | 1.3使用本软件的QQ账号,用于提供在线脚本,在线表情包服务
18 | 2.收集的信息存储情况
19 | 2.1对于1.1中的信息,将存储在本地10-20天,仅用于分析软件BUG使用,不提供第三方使用
20 | 2.2对于1.2中的信息,仅在内存中临时存储,用于拦截针对于服务器的攻击使用
21 | 2.3对于1.3中的信息,将长期存储于本地,用于提供相关的服务器使用
22 | 3.相关的使用政策
23 | 3.1若您选择接受上述条款,则表明您自愿提供上述的信息,相关的信息将仅供开发者进行第2条所属的方式使用,则您可以使用完整的在线服务功能
24 | 3.2若您选择不接受上述条款,则1中的所有信息将不会被提供,包括在线脚本,在线表情包等需要服务器提供的功能将不再可用,其他无需服务器的功能将可以正常使用
25 | 3.3无论您选择了接受或不接受上述条款,您都可以在状态查看-隐私条款中重新进行设置
26 | 关于Java脚本功能的使用说明
27 | 1.Java脚本(下面称为 脚本)由用户进行开发,本软件开发者无法确定所有脚本均安全无害,使用需要您自己承担所需要的风险
28 | 2.在您点击加载脚本后,脚本将获得对QQ的完全控制权,您需要自行判断所有的脚本是否安全或需要后再进行加载
29 | 3.在线脚本仅做基础审核,不保证所有的脚本均安全无害,您需要自行检查脚本内容进行判断
30 | 4.若发现此功能被滥用,可能将在不进行通知的情况下对相关脚本进行全局限制使用,对应用户限制使用和删除此功能的处理
31 |
--------------------------------------------------------------------------------
/QTool/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
17 |
18 |
25 |
29 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
QTool
3 |
4 | [](https://www.gnu.org/licenses/agpl-3.0.html)
5 | [](https://t.me/QToolC)
6 | [](https://github.com/Hicores/QTool/actions)
7 |
8 |
9 | -----
10 |
11 | QTool 是一个开源,免费的 Xposed 模块,在使用之前,你应该进行百度了解Xposed是啥,如何使用
12 |
13 | 对于新版的安卓系统,推荐使用LSPosed来使用本模块 https://github.com/LSPosed/LSPosed
14 |
15 | 对于没有root的系统,推荐使用LSPatch来使用本模块 https://github.com/LSPosed/LSPatch
16 |
17 | ## 许可证
18 | - [AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.html)
19 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | ext.kotlin_version = '1.7.10'
5 | repositories {
6 | google()
7 | mavenCentral()
8 | maven { url "https://jitpack.io" }
9 | }
10 | dependencies {
11 | classpath 'com.android.tools.build:gradle:7.4.2'
12 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
13 | classpath "org.eclipse.jgit:org.eclipse.jgit:6.3.0.202209071007-r"
14 | // NOTE: Do not place your application dependencies here; they belong
15 | // in the individual module build.gradle files
16 | }
17 | }
18 | plugins {
19 | id "org.jetbrains.dokka" version "1.7.20" apply false
20 | }
21 | apply from: 'common.gradle'
22 | task clean(type: Delete) {
23 | delete rootProject.buildDir
24 | }
25 |
--------------------------------------------------------------------------------
/common.gradle:
--------------------------------------------------------------------------------
1 |
2 |
3 | gradle.allprojects {
4 | ext.getGitHeadRefsSuffix = {
5 | println('get git count')
6 | try {
7 | // .git/HEAD描述当前目录所指向的分支信息,内容示例:"ref: refs/heads/master\n"
8 | println('git rev-list --count main'.execute().text.trim().toInteger())
9 | return 'git rev-list --count main'.execute().text.trim().toInteger()
10 | } catch (Exception e) {
11 | println('get git count failed:'+e)
12 | e.printStackTrace()
13 | }
14 | return "0"
15 | }
16 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app"s APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
18 | # Automatically convert third-party libraries to use AndroidX
19 | android.enableJetifier=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Hicores/QTool/840188b6a7e2fbd2cd4941e5c9a562f3c94f550f/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Apr 04 16:04:29 CST 2023
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | dependencyResolutionManagement {
2 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
3 | repositories {
4 | google()
5 | mavenCentral()
6 | jcenter() // Warning: this repository is going to shut down soon
7 | maven { url "https://jitpack.io" }
8 | maven { url 'https://github.com/500px/500px-android-blur/raw/master/releases/' }
9 | }
10 | }
11 | rootProject.name = "QTool"
12 | include ':QQStub'
13 | include ':QTool'
14 | include ':ItemProcesser'
15 | include ':easy-adapter'
16 | project(':easy-adapter').projectDir = new File(rootDir, 'libs/EasyAdapter/easy-adapter/')
17 | include ':XPopup'
18 | project(':XPopup').projectDir = new File(rootDir, 'libs/XPopup/library/')
19 | include ':beanshell20b6'
20 | project(':beanshell20b6').projectDir = new File(rootDir, 'libs/BeanShell/beanshell20b6/')
21 |
22 | include ':dexkit'
23 | include ':dexkit-android'
24 |
25 | project(':dexkit').projectDir = new File(rootDir, 'libs/DexKit/dexkit/')
26 | project(':dexkit-android').projectDir = new File(rootDir, 'libs/DexKit/dexkit-android/')
27 |
28 |
29 |
--------------------------------------------------------------------------------