正在显示
59 个修改的文件
包含
792 行增加
和
6 行删除
| @@ -67,6 +67,7 @@ games/ | @@ -67,6 +67,7 @@ games/ | ||
| 67 | /config/sdk/zhongjian/smali/ | 67 | /config/sdk/zhongjian/smali/ |
| 68 | /config/sdk/qingcheng/smali/ | 68 | /config/sdk/qingcheng/smali/ |
| 69 | /config/sdk/quick/smali/ | 69 | /config/sdk/quick/smali/ |
| 70 | +/config/sdk/669/smali/ | ||
| 70 | 71 | ||
| 71 | # python打包缓存目录不需要提交 | 72 | # python打包缓存目录不需要提交 |
| 72 | **/__pycache__/ | 73 | **/__pycache__/ |
config/sdk/669/SDKManifest.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<manifest | ||
| 3 | + xmlns:android="http://schemas.android.com/apk/res/android" > | ||
| 4 | + <permissionConfig> | ||
| 5 | + <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | ||
| 6 | + <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | ||
| 7 | + <uses-permission android:name="android.permission.INTERNET" /> | ||
| 8 | + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | ||
| 9 | + </permissionConfig> | ||
| 10 | + <applicationConfig > | ||
| 11 | + <activity | ||
| 12 | + android:name="com.jhtools.union.app.MainActivity" | ||
| 13 | + android:configChanges="orientation|keyboardHidden|screenSize" | ||
| 14 | + android:label="@string/app_name" | ||
| 15 | + android:screenOrientation="fullSensor"> | ||
| 16 | + </activity> | ||
| 17 | + <meta-data android:name="stss_APPLICATION_PROXY_NAME" | ||
| 18 | + android:value="com.stss.sdk.SsnAppListener" /> | ||
| 19 | + </applicationConfig> | ||
| 20 | +</manifest> |
config/sdk/669/STSSAgg_Ssn.jar
0 → 100644
不能预览此文件类型
config/sdk/669/channel_action.py
0 → 100644
| 1 | +#!/usr/bin/env python | ||
| 2 | +# -*- coding: utf-8 -*- | ||
| 3 | + | ||
| 4 | +import os | ||
| 5 | +import os.path | ||
| 6 | +from xml.etree import ElementTree as ET | ||
| 7 | +from xml.etree.ElementTree import SubElement | ||
| 8 | +from xml.etree.ElementTree import Element | ||
| 9 | +from xml.etree.ElementTree import ElementTree | ||
| 10 | +import os | ||
| 11 | +import os.path | ||
| 12 | +import zipfile | ||
| 13 | +import re | ||
| 14 | +import subprocess | ||
| 15 | +import platform | ||
| 16 | +from xml.dom import minidom | ||
| 17 | +import codecs | ||
| 18 | +import sys | ||
| 19 | + | ||
| 20 | +androidNS = 'http://schemas.android.com/apk/res/android' | ||
| 21 | + | ||
| 22 | +def execute(channel, decompileDir, packageName): | ||
| 23 | + modify_manifest(channel, decompileDir) | ||
| 24 | + return 0 | ||
| 25 | + | ||
| 26 | +def modify_manifest(channel,decompileDir): | ||
| 27 | + manifestFile = decompileDir + "/AndroidManifest.xml" | ||
| 28 | + print(manifestFile) | ||
| 29 | + ET.register_namespace('android', androidNS) | ||
| 30 | + key = '{' + androidNS + '}name' | ||
| 31 | + | ||
| 32 | + tree = ET.parse(manifestFile) | ||
| 33 | + root = tree.getroot() | ||
| 34 | + | ||
| 35 | + applicationNode = root.find('application') | ||
| 36 | + if applicationNode is None: | ||
| 37 | + print("没有找到Application") | ||
| 38 | + return | ||
| 39 | + | ||
| 40 | + applicationNode.set(key, 'com.stss.sdk.SsnApplication') | ||
| 41 | + tree.write(manifestFile) | ||
| 42 | + | ||
| 43 | + activityNodeLst = applicationNode.findall('activity') | ||
| 44 | + if activityNodeLst is None: | ||
| 45 | + return | ||
| 46 | + | ||
| 47 | + mainActivityName = '' | ||
| 48 | + for activityNode in activityNodeLst: | ||
| 49 | + bMain = False | ||
| 50 | + intentNodeLst = activityNode.findall('intent-filter') | ||
| 51 | + if intentNodeLst is None: | ||
| 52 | + break | ||
| 53 | + for intentNode in intentNodeLst: | ||
| 54 | + bFindAction = False | ||
| 55 | + bFindCategory = False | ||
| 56 | + | ||
| 57 | + actionNodeLst = intentNode.findall('action') | ||
| 58 | + if actionNodeLst is None: | ||
| 59 | + break | ||
| 60 | + for actionNode in actionNodeLst: | ||
| 61 | + if actionNode.attrib[key] == 'android.intent.action.MAIN': | ||
| 62 | + bFindAction = True | ||
| 63 | + break | ||
| 64 | + | ||
| 65 | + categoryNodeLst = intentNode.findall('category') | ||
| 66 | + if categoryNodeLst is None: | ||
| 67 | + break | ||
| 68 | + for categoryNode in categoryNodeLst: | ||
| 69 | + if categoryNode.attrib[key] == 'android.intent.category.LAUNCHER': | ||
| 70 | + bFindCategory = True | ||
| 71 | + break | ||
| 72 | + | ||
| 73 | + if bFindAction and bFindCategory: | ||
| 74 | + bMain = True | ||
| 75 | + break | ||
| 76 | + | ||
| 77 | + if bMain: | ||
| 78 | + mainActivityName = activityNode.attrib[key] | ||
| 79 | + break | ||
| 80 | + | ||
| 81 | + if len(mainActivityName) == 0: | ||
| 82 | + return | ||
| 83 | + | ||
| 84 | + mainActivityPath = mainActivityName.replace(".", "/") | ||
| 85 | + mainActivityPath = decompileDir + '/smali/' + mainActivityPath + '.smali' | ||
| 86 | + | ||
| 87 | + f = open(mainActivityPath, 'r+', encoding='Utf-8') | ||
| 88 | + mainActivityContent = str(f.read()) | ||
| 89 | + f.close() | ||
| 90 | + | ||
| 91 | + fl = open(mainActivityPath, 'r+') | ||
| 92 | + lines = fl.readlines() | ||
| 93 | + fl.close() | ||
| 94 | + | ||
| 95 | + superClassLine = lines[1] | ||
| 96 | + superClassLine.strip() | ||
| 97 | + superClassName = 'Landroid/app/Activity;' | ||
| 98 | + if superClassLine.startswith(".super"): | ||
| 99 | + blocks = superClassLine.split() | ||
| 100 | + superClassName = blocks[len(blocks)-1] | ||
| 101 | + | ||
| 102 | + replaceTxt = 'invoke-super {p0, p1, p2, p3}, ' + superClassName + '->onRequestPermissionsResult(I[Ljava/lang/String;[I)V' | ||
| 103 | + | ||
| 104 | + idx = mainActivityContent.find(replaceTxt) | ||
| 105 | + if idx == -1: | ||
| 106 | + targetTxt = "\n.method public onRequestPermissionsResult(I[Ljava/lang/String;[I)V\n .locals 2\n\n invoke-super {p0, p1, p2, p3}, " + superClassName + "->onRequestPermissionsResult(I[Ljava/lang/String;[I)V\n\n invoke-static {p1, p2, p3}, Lcom/stss/sdk/STSSAggGame;->onRequestPermissionsResult(I[Ljava/lang/String;[I)V\n\n return-void\n.end method" | ||
| 107 | + mainActivityContent = mainActivityContent + targetTxt | ||
| 108 | + else: | ||
| 109 | + targetTxt = " invoke-super {p0, p1, p2, p3}, " + superClassName + "->onRequestPermissionsResult(I[Ljava/lang/String;[I)V\n\n invoke-static {p1, p2, p3}, Lcom/stss/sdk/STSSAggGame;->onRequestPermissionsResult(I[Ljava/lang/String;[I)V" | ||
| 110 | + mainActivityContent = mainActivityContent[:idx] + targetTxt + mainActivityContent[(idx + len(replaceTxt)):] | ||
| 111 | + | ||
| 112 | + f2 = open(mainActivityPath, 'w', encoding='Utf-8') | ||
| 113 | + f2.write(mainActivityContent) | ||
| 114 | + f2.close() | ||
| 115 | + | ||
| 116 | + return 0 |
config/sdk/669/config.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<config> | ||
| 3 | + <params> | ||
| 4 | + <param name="pay_notify_url" required="1" showName="NotifyUrl" desc="669 sdk game id" bWriteInManifest="0" bWriteInClient="1" /> | ||
| 5 | + </params> | ||
| 6 | + <operations> | ||
| 7 | + <operation step="1" type="mergeManifest" from="SDKManifest.xml" to="AndroidManifest.xml" /> | ||
| 8 | + <operation step="2" type="copyRes" from="assets" to="assets" /> | ||
| 9 | + <operation step="3" type="copyRes" from="libs" to="lib" /> | ||
| 10 | + <operation step="4" type="copyRes" from="res" to="res" /> | ||
| 11 | + <operation step="5" type="copyRes" from="root" to="" /> | ||
| 12 | + </operations> | ||
| 13 | + <plugins> | ||
| 14 | + <plugin name="com.stss.sdk.SsnUser" type="1" desc="用户登录接口"/> | ||
| 15 | + <plugin name="com.stss.sdk.SsnPay" type="2" desc="用户支付接口"/> | ||
| 16 | + </plugins> | ||
| 17 | + <version> | ||
| 18 | + <name>669</name> | ||
| 19 | + <versionCode>1</versionCode> | ||
| 20 | + <versionName>1.0.1</versionName> | ||
| 21 | + </version> | ||
| 22 | +</config> |
config/sdk/669/libs/STSSAggSdk.jar
0 → 100644
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
config/sdk/669/res/drawable/fd_splash.png
0 → 100644
6.4 KB
config/sdk/669/res/drawable/qnagg_float.png
0 → 100644
10.5 KB
config/sdk/669/res/drawable/qnagg_logo.png
0 → 100644
314 字节
1.9 KB
1.9 KB
2.1 KB
2.1 KB
2.2 KB
2.3 KB
2.3 KB
2.0 KB
2.0 KB
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android"> | ||
| 3 | + <item android:state_pressed="true"> | ||
| 4 | + <shape xmlns:android="http://schemas.android.com/apk/res/android"> | ||
| 5 | + <solid android:color="@color/qnAgg_color_ea6e00" /> | ||
| 6 | + | ||
| 7 | + <corners android:radius="25dp" /> | ||
| 8 | + </shape> | ||
| 9 | + </item> | ||
| 10 | + <item> | ||
| 11 | + <shape xmlns:android="http://schemas.android.com/apk/res/android"> | ||
| 12 | + <solid android:color="@color/qnAgg_color_ff7800" /> | ||
| 13 | + | ||
| 14 | + <corners android:radius="25dp" /> | ||
| 15 | + </shape> | ||
| 16 | + </item> | ||
| 17 | +</selector> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<shape xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + android:shape="rectangle"> | ||
| 4 | + <!-- 填充的颜色 --> | ||
| 5 | + <solid android:color="@color/qnAgg_gray" /> | ||
| 6 | + <!-- 设置按钮的四个角为弧形 --> | ||
| 7 | + <!-- android:radius 弧形的半径 --> | ||
| 8 | + <corners android:radius="30dip" /> | ||
| 9 | + <!--边框的宽度及颜色--> | ||
| 10 | + <stroke android:width="2px" android:color="@color/qnAgg_login_btn_color" /> | ||
| 11 | +</shape> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<shape | ||
| 3 | + xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 4 | + android:shape="rectangle"> | ||
| 5 | + | ||
| 6 | + <corners | ||
| 7 | + android:bottomLeftRadius="8dp" | ||
| 8 | + android:bottomRightRadius="8dp" | ||
| 9 | + android:topLeftRadius="8dp" | ||
| 10 | + android:topRightRadius="8dp"/> | ||
| 11 | + | ||
| 12 | + <!--<stroke--> | ||
| 13 | + <!--android:width="1dp"--> | ||
| 14 | + <!--android:color="#fbfbfb"/>--> | ||
| 15 | + | ||
| 16 | + <solid android:color="@android:color/transparent"/> | ||
| 17 | + | ||
| 18 | +</shape> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<shape | ||
| 3 | + xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 4 | + android:shape="rectangle"> | ||
| 5 | + | ||
| 6 | + <corners | ||
| 7 | + android:bottomLeftRadius="8dp" | ||
| 8 | + android:bottomRightRadius="8dp" | ||
| 9 | + android:topLeftRadius="8dp" | ||
| 10 | + android:topRightRadius="8dp"/> | ||
| 11 | + | ||
| 12 | + <!--<stroke--> | ||
| 13 | + <!--android:width="1dp"--> | ||
| 14 | + <!--android:color="#fbfbfb"/>--> | ||
| 15 | + | ||
| 16 | + <solid android:color="@android:color/transparent"/> | ||
| 17 | + | ||
| 18 | +</shape> |
| 1 | +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 2 | + android:layout_width="match_parent" | ||
| 3 | + android:layout_height="wrap_content" | ||
| 4 | + android:paddingLeft="10dp" | ||
| 5 | + android:orientation="horizontal" > | ||
| 6 | + | ||
| 7 | + <ImageView | ||
| 8 | + android:id="@+id/qnAgg_permission_icon" | ||
| 9 | + android:layout_width="@dimen/qnAgg_px_180" | ||
| 10 | + android:layout_height="@dimen/qnAgg_px_180" | ||
| 11 | + android:src="@drawable/qnagg_float" /> | ||
| 12 | + | ||
| 13 | + <LinearLayout | ||
| 14 | + android:layout_width="match_parent" | ||
| 15 | + android:layout_height="match_parent" | ||
| 16 | + android:orientation="vertical" > | ||
| 17 | + <TextView | ||
| 18 | + android:id="@+id/qnAgg_permission_name" | ||
| 19 | + android:layout_width="match_parent" | ||
| 20 | + android:layout_height="@dimen/qnAgg_px_90" | ||
| 21 | + android:text="@string/qnAgg_premission_statement" | ||
| 22 | + android:textSize="@dimen/qnAgg_px_60" | ||
| 23 | + android:textColor="@color/qnAgg_color_000000"/> | ||
| 24 | + <TextView | ||
| 25 | + android:id="@+id/qnAgg_permission_statment" | ||
| 26 | + android:layout_width="match_parent" | ||
| 27 | + android:layout_height="@dimen/qnAgg_px_75" | ||
| 28 | + android:text="@string/qnAgg_premission_statement" | ||
| 29 | + android:textSize="@dimen/qnAgg_px_45" | ||
| 30 | + android:textColor="@color/qnAgg_color_000000"/> | ||
| 31 | + </LinearLayout> | ||
| 32 | + | ||
| 33 | + <LinearLayout | ||
| 34 | + android:layout_width="match_parent" | ||
| 35 | + android:layout_height="1px" | ||
| 36 | + android:background="@color/qnAgg_color_000000" | ||
| 37 | + /> | ||
| 38 | + | ||
| 39 | +</LinearLayout> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + xmlns:tools="http://schemas.android.com/tools" | ||
| 4 | + android:layout_width="match_parent" | ||
| 5 | + android:layout_height="match_parent" | ||
| 6 | + android:gravity="center_vertical"> | ||
| 7 | + | ||
| 8 | + <View | ||
| 9 | + style="@style/qnAgg_vertical_empty_view" | ||
| 10 | + android:layout_weight="2" /> | ||
| 11 | + | ||
| 12 | + | ||
| 13 | + <LinearLayout | ||
| 14 | + android:layout_width="@dimen/qnAgg_px_1024" | ||
| 15 | + android:layout_height="@dimen/qnAgg_px_960" | ||
| 16 | + android:gravity="center" | ||
| 17 | + android:background="@drawable/qnagg_shape_main_dialog" | ||
| 18 | + android:orientation="vertical"> | ||
| 19 | + | ||
| 20 | + <ImageView | ||
| 21 | + android:id="@+id/iv_company_logo" | ||
| 22 | + android:layout_width="@dimen/qnAgg_px_390" | ||
| 23 | + android:layout_height="@dimen/qnAgg_px_120" | ||
| 24 | + android:src="@drawable/qnagg_logo" | ||
| 25 | + android:layout_gravity="center"/> | ||
| 26 | + | ||
| 27 | + | ||
| 28 | + <LinearLayout | ||
| 29 | + android:layout_width="match_parent" | ||
| 30 | + android:layout_height="wrap_content" | ||
| 31 | + android:layout_marginLeft="@dimen/qnAgg_px_30" | ||
| 32 | + android:layout_marginRight="@dimen/qnAgg_px_30" | ||
| 33 | + android:orientation="horizontal" | ||
| 34 | + android:padding="5dp"> | ||
| 35 | + | ||
| 36 | + <LinearLayout | ||
| 37 | + android:layout_width="match_parent" | ||
| 38 | + android:layout_height="wrap_content" | ||
| 39 | + android:orientation="vertical" | ||
| 40 | + android:padding="5dp"> | ||
| 41 | + | ||
| 42 | + <ListView | ||
| 43 | + android:id="@+id/qnAgg_lv_permission" | ||
| 44 | + android:layout_width="match_parent" | ||
| 45 | + android:orientation="horizontal" | ||
| 46 | + android:layout_height="@dimen/qnAgg_px_390" | ||
| 47 | + android:maxHeight="@dimen/qnAgg_px_390" | ||
| 48 | + android:background="@drawable/qnagg_shape_permission_lv" /> | ||
| 49 | + | ||
| 50 | + </LinearLayout> | ||
| 51 | + | ||
| 52 | + <View | ||
| 53 | + style="@style/qnAgg_vertical_empty_view" | ||
| 54 | + android:layout_weight="2" /> | ||
| 55 | + | ||
| 56 | + </LinearLayout> | ||
| 57 | + | ||
| 58 | + <View | ||
| 59 | + style="@style/qnAgg_vertical_empty_view" | ||
| 60 | + android:layout_weight="2" /> | ||
| 61 | + | ||
| 62 | + <TextView | ||
| 63 | + android:id="@+id/qnAgg_all_permission_desc" | ||
| 64 | + android:layout_width="match_parent" | ||
| 65 | + android:layout_height="wrap_content" | ||
| 66 | + android:layout_marginLeft="@dimen/qnAgg_px_30" | ||
| 67 | + android:layout_marginRight="@dimen/qnAgg_px_30" | ||
| 68 | + android:textColor="@color/qnAgg_color_000000" | ||
| 69 | + android:textSize="@dimen/qnAgg_px_36" | ||
| 70 | + android:text="@string/qnAgg_permission_desc"/> | ||
| 71 | + | ||
| 72 | + <View | ||
| 73 | + style="@style/qnAgg_vertical_empty_view" | ||
| 74 | + android:layout_weight="2" /> | ||
| 75 | + | ||
| 76 | + <LinearLayout | ||
| 77 | + android:layout_width="match_parent" | ||
| 78 | + android:layout_height="wrap_content" | ||
| 79 | + android:orientation="horizontal" | ||
| 80 | + android:padding="5dp"> | ||
| 81 | + <View | ||
| 82 | + style="@style/qnAgg_vertical_empty_view" | ||
| 83 | + android:layout_weight="2" /> | ||
| 84 | + <Button | ||
| 85 | + android:id="@+id/qnAgg_btn_unAgree" | ||
| 86 | + android:layout_width="wrap_content" | ||
| 87 | + android:layout_height="@dimen/qnAgg_px_105" | ||
| 88 | + android:background="@drawable/qnagg_shape_gray" | ||
| 89 | + android:text="@string/qnAgg_reject" | ||
| 90 | + android:textColor="@color/qnAgg_color_ffffff"/> | ||
| 91 | + <View | ||
| 92 | + style="@style/qnAgg_vertical_empty_view" | ||
| 93 | + android:layout_weight="2" /> | ||
| 94 | + <Button | ||
| 95 | + android:id="@+id/qnAgg_btn_sure" | ||
| 96 | + android:layout_width="wrap_content" | ||
| 97 | + android:layout_height="@dimen/qnAgg_px_105" | ||
| 98 | + android:background="@drawable/qnagg_selector_btn_submit" | ||
| 99 | + android:text="@string/qnAgg_agree" | ||
| 100 | + android:textColor="@color/qnAgg_color_000000"/> | ||
| 101 | + <View | ||
| 102 | + style="@style/qnAgg_vertical_empty_view" | ||
| 103 | + android:layout_weight="2" /> | ||
| 104 | + | ||
| 105 | + </LinearLayout> | ||
| 106 | + | ||
| 107 | + <View style="@style/qnAgg_vertical_empty_view" | ||
| 108 | + android:layout_weight="2" /> | ||
| 109 | + | ||
| 110 | + </LinearLayout> | ||
| 111 | + | ||
| 112 | + <View | ||
| 113 | + style="@style/qnAgg_vertical_empty_view" | ||
| 114 | + android:layout_weight="2" /> | ||
| 115 | + | ||
| 116 | +</LinearLayout> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + xmlns:tools="http://schemas.android.com/tools" | ||
| 4 | + style="@style/qnAgg_layoutStyle_commonActivity" | ||
| 5 | + android:gravity="center_horizontal" | ||
| 6 | + android:paddingLeft="@dimen/qnAgg_px_30" | ||
| 7 | + android:paddingTop="@dimen/qnAgg_px_30" | ||
| 8 | + android:paddingRight="@dimen/qnAgg_px_30" | ||
| 9 | + android:background="@drawable/qnagg_shape_main_dialog"> | ||
| 10 | + | ||
| 11 | + <LinearLayout | ||
| 12 | + android:layout_width="match_parent" | ||
| 13 | + android:layout_height="wrap_content" | ||
| 14 | + android:gravity="center" | ||
| 15 | + > | ||
| 16 | + | ||
| 17 | + <ImageView | ||
| 18 | + android:id="@+id/iv_company_logo" | ||
| 19 | + android:layout_width="@dimen/qnAgg_px_180" | ||
| 20 | + android:layout_height="1px" | ||
| 21 | + android:src="@drawable/qnagg_logo" | ||
| 22 | + android:layout_gravity="center"/> | ||
| 23 | + | ||
| 24 | + <View | ||
| 25 | + style="@style/qnAgg_vertical_empty_view" | ||
| 26 | + android:layout_weight="2" /> | ||
| 27 | + | ||
| 28 | + <TextView | ||
| 29 | + android:id="@+id/qnAgg_tv_title" | ||
| 30 | + android:layout_width="wrap_content" | ||
| 31 | + android:layout_height="wrap_content" | ||
| 32 | + android:textColor="@color/qnAgg_color_000000" | ||
| 33 | + android:textSize="@dimen/qnAgg_px_75" | ||
| 34 | + android:text="@string/qnAgg_polices" | ||
| 35 | + android:gravity="center" | ||
| 36 | + /> | ||
| 37 | + | ||
| 38 | + <View | ||
| 39 | + style="@style/qnAgg_vertical_empty_view" | ||
| 40 | + android:layout_weight="2" /> | ||
| 41 | + | ||
| 42 | + <TextView | ||
| 43 | + android:id="@+id/qnAgg_tv_right" | ||
| 44 | + android:layout_width="wrap_content" | ||
| 45 | + android:layout_height="wrap_content" | ||
| 46 | + android:layout_marginLeft="@dimen/qnAgg_px_3" | ||
| 47 | + android:textColor="@color/qnAgg_color_000000" | ||
| 48 | + android:textSize="@dimen/qnAgg_px_45" | ||
| 49 | + android:text="@string/qnAgg_agreement" | ||
| 50 | + android:gravity="center" | ||
| 51 | + /> | ||
| 52 | + | ||
| 53 | + </LinearLayout> | ||
| 54 | + | ||
| 55 | + <View | ||
| 56 | + style="@style/qnAgg_vertical_empty_view" | ||
| 57 | + android:layout_weight="2" /> | ||
| 58 | + | ||
| 59 | + <LinearLayout | ||
| 60 | + android:layout_width="match_parent" | ||
| 61 | + android:layout_height="wrap_content" | ||
| 62 | + tools:ignore="WebViewLayout" | ||
| 63 | + android:orientation="vertical"> | ||
| 64 | + <WebView | ||
| 65 | + android:id="@+id/qnAgg_webview" | ||
| 66 | + android:layout_width="match_parent" | ||
| 67 | + android:layout_height="150dp" | ||
| 68 | + android:layout_margin="@dimen/qnAgg_px_3" | ||
| 69 | + android:background="@color/qnAgg_color_ea6e00" | ||
| 70 | + android:scrollbars="none" /> | ||
| 71 | + </LinearLayout> | ||
| 72 | + | ||
| 73 | + <View | ||
| 74 | + style="@style/qnAgg_vertical_empty_view" | ||
| 75 | + android:layout_weight="2" /> | ||
| 76 | + <TextView | ||
| 77 | + android:layout_width="match_parent" | ||
| 78 | + android:layout_height="wrap_content" | ||
| 79 | + android:textColor="@color/qnAgg_color_000000" | ||
| 80 | + android:textSize="@dimen/qnAgg_px_45" | ||
| 81 | + android:text="@string/qnAgg_touch_agree" | ||
| 82 | + /> | ||
| 83 | + <View | ||
| 84 | + style="@style/qnAgg_vertical_empty_view" | ||
| 85 | + android:layout_weight="2" /> | ||
| 86 | + | ||
| 87 | + <LinearLayout | ||
| 88 | + android:layout_width="match_parent" | ||
| 89 | + android:layout_height="wrap_content" | ||
| 90 | + android:orientation="horizontal" | ||
| 91 | + android:padding="5dp"> | ||
| 92 | + <View | ||
| 93 | + style="@style/qnAgg_vertical_empty_view" | ||
| 94 | + android:layout_weight="2" /> | ||
| 95 | + <Button | ||
| 96 | + android:id="@+id/qnAgg_btn_reject" | ||
| 97 | + android:layout_width="wrap_content" | ||
| 98 | + android:layout_height="@dimen/qnAgg_px_105" | ||
| 99 | + android:background="@drawable/qnagg_shape_gray" | ||
| 100 | + android:text="@string/qnAgg_reject" | ||
| 101 | + android:textColor="@color/qnAgg_color_ffffff"/> | ||
| 102 | + <View | ||
| 103 | + style="@style/qnAgg_vertical_empty_view" | ||
| 104 | + android:layout_weight="2" /> | ||
| 105 | + <Button | ||
| 106 | + android:id="@+id/qnAgg_btn_agreement" | ||
| 107 | + android:layout_width="wrap_content" | ||
| 108 | + android:layout_height="@dimen/qnAgg_px_105" | ||
| 109 | + android:background="@drawable/qnagg_selector_btn_submit" | ||
| 110 | + android:text="@string/qnAgg_agree" | ||
| 111 | + android:textColor="@color/qnAgg_color_000000"/> | ||
| 112 | + <View | ||
| 113 | + style="@style/qnAgg_vertical_empty_view" | ||
| 114 | + android:layout_weight="2" /> | ||
| 115 | + | ||
| 116 | + </LinearLayout> | ||
| 117 | + | ||
| 118 | +</LinearLayout> |
config/sdk/669/res/layout/qnagg_splash.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<RelativeLayout | ||
| 3 | + xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 4 | + android:id="@+id/qnAgg_splash_layout" | ||
| 5 | + android:layout_width="match_parent" | ||
| 6 | + android:layout_height="match_parent" | ||
| 7 | + > | ||
| 8 | + <ImageView | ||
| 9 | + android:id="@+id/qnAgg_splash_img" | ||
| 10 | + android:layout_width="match_parent" | ||
| 11 | + android:layout_height="match_parent" | ||
| 12 | + android:background="@drawable/fd_splash" | ||
| 13 | + /> | ||
| 14 | + | ||
| 15 | +</RelativeLayout> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 3 | + android:layout_gravity="center" | ||
| 4 | + android:gravity="center" | ||
| 5 | + android:orientation="vertical" | ||
| 6 | + android:background="@drawable/sevencattle_corners_white" | ||
| 7 | + android:layout_width="280dp" | ||
| 8 | + android:layout_height="200dp"> | ||
| 9 | + | ||
| 10 | + <TextView | ||
| 11 | + android:id="@+id/hw_tv_quick_popupwindow_title" | ||
| 12 | + android:layout_marginTop="15dp" | ||
| 13 | + android:text="温馨提示" | ||
| 14 | + android:textSize="17sp" | ||
| 15 | + android:layout_width="wrap_content" | ||
| 16 | + android:layout_height="wrap_content" | ||
| 17 | + android:textColor="@android:color/white"/> | ||
| 18 | + <View | ||
| 19 | + android:layout_marginTop="10dp" | ||
| 20 | + android:layout_width="match_parent" | ||
| 21 | + android:layout_height="1px" | ||
| 22 | + android:background="@android:color/darker_gray"/> | ||
| 23 | + <TextView | ||
| 24 | + android:gravity="center_vertical|left" | ||
| 25 | + android:id="@+id/hw_tv_quick_popupwindow_info" | ||
| 26 | + android:layout_marginLeft="22dp" | ||
| 27 | + android:layout_marginRight="20dp" | ||
| 28 | + android:layout_width="match_parent" | ||
| 29 | + android:layout_height="100dp" | ||
| 30 | + | ||
| 31 | + android:textColor="@android:color/white"/> | ||
| 32 | + | ||
| 33 | + | ||
| 34 | + <LinearLayout | ||
| 35 | + android:layout_width="match_parent" | ||
| 36 | + android:layout_height="match_parent" | ||
| 37 | + android:gravity="center_horizontal" | ||
| 38 | + android:layout_marginTop="4dp" | ||
| 39 | + android:orientation="horizontal"> | ||
| 40 | + | ||
| 41 | + <TextView | ||
| 42 | + | ||
| 43 | + android:id="@+id/hw_tv_quick_popupwindow_cancel" | ||
| 44 | + android:gravity="center" | ||
| 45 | + android:text="取消" | ||
| 46 | + android:background="@drawable/sevencattle_shape_button_tourist_back" | ||
| 47 | + android:layout_width="0dp" | ||
| 48 | + android:layout_weight="1" | ||
| 49 | + android:layout_height="35dp" | ||
| 50 | + android:textColor="@android:color/white"/> | ||
| 51 | + | ||
| 52 | + | ||
| 53 | + <TextView | ||
| 54 | + android:id="@+id/hw_tv_quick_popupwindow_ok" | ||
| 55 | + android:gravity="center" | ||
| 56 | + android:text="确定" | ||
| 57 | + android:background="@drawable/sevencattle_shape_button_tourist_gamenow" | ||
| 58 | + android:textColor="@android:color/white" | ||
| 59 | + android:layout_width="match_parent" | ||
| 60 | + android:layout_weight="1" | ||
| 61 | + android:layout_height="35dp"/> | ||
| 62 | + </LinearLayout> | ||
| 63 | +</LinearLayout> |
config/sdk/669/res/values/qnAgg_values.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<resources> | ||
| 3 | + <dimen name="qnAgg_px_180">60.00dp</dimen> | ||
| 4 | + <dimen name="qnAgg_px_90">30.00dp</dimen> | ||
| 5 | + <dimen name="qnAgg_px_60">20.00dp</dimen> | ||
| 6 | + <dimen name="qnAgg_px_45">15.00dp</dimen> | ||
| 7 | + <dimen name="qnAgg_px_75">25.00dp</dimen> | ||
| 8 | + <dimen name="qnAgg_px_960">320.00dp</dimen> | ||
| 9 | + <dimen name="qnAgg_px_1024">480.00dp</dimen> | ||
| 10 | + <dimen name="qnAgg_px_390">130.00dp</dimen> | ||
| 11 | + <dimen name="qnAgg_px_120">40.00dp</dimen> | ||
| 12 | + <dimen name="qnAgg_px_30">10.00dp</dimen> | ||
| 13 | + <dimen name="qnAgg_px_36">12.00dp</dimen> | ||
| 14 | + <dimen name="qnAgg_px_105">35.00dp</dimen> | ||
| 15 | + <dimen name="qnAgg_px_3">1.00dp</dimen> | ||
| 16 | + | ||
| 17 | + <string name="qnAgg_permission_desc">为保证您正常的应用体验,本应用现向你说明以上权限的使用用途。可通过手机系统的隐私设置关闭授权,但会影响部分功能的体验。请阅读并同意《隐私政策》和《用户协议》。点击“同意”即代表您已阅读并了解本应用将要使用的权限情况。</string> | ||
| 18 | + <string name="qnAgg_permission_use">本应用可能需要使用以下权限:</string> | ||
| 19 | + <string name="qnAgg_agreement">用户协议</string> | ||
| 20 | + <string name="qnAgg_polices">隐私政策</string> | ||
| 21 | + <string name="qnAgg_touch_agree">点击"同意"即代表您已阅读并同意上述协议及文件。</string> | ||
| 22 | + <string name="qnAgg_touch_permission">点击\"同意\"即代表您已阅读并了解本应用将要使用的权限情况。</string> | ||
| 23 | + <string name="qnAgg_reject">不同意</string> | ||
| 24 | + <string name="qnAgg_agree">同 意</string> | ||
| 25 | + <string name="qnAgg_sure">确 定</string> | ||
| 26 | + <string name="qnAgg_premission_statement">本app需要如下权限及其使用说明:</string> | ||
| 27 | + | ||
| 28 | + <color name="qnAgg_color_000000">#000000</color> | ||
| 29 | + <color name="qnAgg_color_ea6e00">#ea6e00</color> | ||
| 30 | + <color name="qnAgg_color_ffffff">#ffffff</color> | ||
| 31 | + <color name="qnAgg_gray">#918F92</color> | ||
| 32 | + <color name="qnAgg_login_btn_color">#E7D2AC</color> | ||
| 33 | + <color name="qnAgg_color_ff7800">#ff7800</color> | ||
| 34 | + | ||
| 35 | + | ||
| 36 | + <style name="qnAgg_pluginDialogStyle" parent="@android:style/Theme.Dialog"> | ||
| 37 | + <item name="android:windowIsTranslucent">true</item> | ||
| 38 | + <item name="android:windowNoTitle">true</item> | ||
| 39 | + <item name="android:windowBackground">@android:color/transparent</item> | ||
| 40 | + <item name="android:backgroundDimEnabled">false</item> | ||
| 41 | + <item name="android:windowContentOverlay">@null</item> | ||
| 42 | + <item name="android:windowCloseOnTouchOutside">false</item> | ||
| 43 | + <item name="android:windowIsFloating">true</item> | ||
| 44 | + <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item> | ||
| 45 | + <item name="android:windowActionBar">false</item> | ||
| 46 | + <item name="android:windowFullscreen">true</item> | ||
| 47 | + </style> | ||
| 48 | + <!--部分界面适配,用权重空白界面填充--> | ||
| 49 | + <style name="qnAgg_vertical_empty_view"> | ||
| 50 | + <item name="android:layout_width">match_parent</item> | ||
| 51 | + <item name="android:layout_height">0dp</item> | ||
| 52 | + <item name="android:layout_weight">1</item> | ||
| 53 | + </style> | ||
| 54 | + <style name="qnAgg_layoutStyle_commonActivity"> | ||
| 55 | + <item name="android:layout_width">match_parent</item> | ||
| 56 | + <item name="android:layout_height">match_parent</item> | ||
| 57 | + <item name="android:orientation">vertical</item> | ||
| 58 | + <item name="android:background">@drawable/qnagg_shape_main_dialog</item> | ||
| 59 | + </style> | ||
| 60 | + | ||
| 61 | +</resources> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | +<resources> | ||
| 3 | + | ||
| 4 | + <style name="qnAgg_ActivityTranslucent"> | ||
| 5 | + <item name="android:background">@android:color/transparent</item> | ||
| 6 | + <item name="android:colorBackgroundCacheHint">@null</item> | ||
| 7 | + <item name="android:windowActionBar">false</item> | ||
| 8 | + <item name="android:windowNoTitle">true</item> | ||
| 9 | +<!-- <item name="android:statusBarColor">@android:color/transparent</item>--> | ||
| 10 | + <item name="android:backgroundDimEnabled">false</item> | ||
| 11 | + <item name="android:windowBackground">@android:color/transparent</item> | ||
| 12 | + <item name="android:windowContentOverlay">@null</item> | ||
| 13 | + <item name="android:windowIsTranslucent">true</item> | ||
| 14 | + <item name="android:windowAnimationStyle">@null</item> | ||
| 15 | + <item name="android:windowDisablePreview">true</item> | ||
| 16 | + </style> | ||
| 17 | + | ||
| 18 | + <style name="qnAgg_hw_full_screen_dialog"> | ||
| 19 | + <item name="android:windowFullscreen">true</item> | ||
| 20 | + <item name="android:windowNoTitle">true</item> | ||
| 21 | + <item name="android:windowBackground">@drawable/sevencattle_dialog_background</item> | ||
| 22 | + <item name="android:windowAnimationStyle">@style/qnAgg_hw_dialog_anim</item> | ||
| 23 | + </style> | ||
| 24 | + | ||
| 25 | + <style name="qnAgg_hw_dialog_anim"> | ||
| 26 | + <item name="android:windowEnterAnimation">@anim/sevencattle_dialog_enter</item> | ||
| 27 | + <item name="android:windowExitAnimation">@anim/sevencattle_dialog_exit</item> | ||
| 28 | + | ||
| 29 | + | ||
| 30 | + </style> | ||
| 31 | + | ||
| 32 | +</resources> |
config/sdk/669/sdk_script.py
0 → 100644
| 1 | +#!/usr/bin/env python | ||
| 2 | +# -*- coding: utf-8 -*- | ||
| 3 | + | ||
| 4 | +import argparse | ||
| 5 | +import os | ||
| 6 | +import os.path | ||
| 7 | +import json | ||
| 8 | +import os | ||
| 9 | +import os.path | ||
| 10 | +import codecs | ||
| 11 | +import sys | ||
| 12 | + | ||
| 13 | +import channel_action | ||
| 14 | + | ||
| 15 | + | ||
| 16 | +if __name__ == "__main__": | ||
| 17 | + | ||
| 18 | + parser = argparse.ArgumentParser(u"渠道专用操作") | ||
| 19 | + parser.add_argument('-c', '--channel', help=u"渠道参数", action="store", dest="channel") | ||
| 20 | + parser.add_argument('-d', '--decompileDir', help=u"反编译路径", action='store', dest="decompileDir") | ||
| 21 | + parser.add_argument('-p', '--packageName', help=u"应用包名", action='store', dest="packageName") | ||
| 22 | + | ||
| 23 | + args = parser.parse_args() | ||
| 24 | + | ||
| 25 | + # print(args) | ||
| 26 | + | ||
| 27 | + channel = json.loads(args.channel) | ||
| 28 | + | ||
| 29 | + channel_action.execute(channel, args.decompileDir, args.packageName) |
| @@ -51,9 +51,13 @@ def modify_manifest(manifest_path): | @@ -51,9 +51,13 @@ def modify_manifest(manifest_path): | ||
| 51 | if action is not None and action.get('{' + namespace + '}name') == 'android.intent.action.MAIN': | 51 | if action is not None and action.get('{' + namespace + '}name') == 'android.intent.action.MAIN': |
| 52 | origin_activity_name = activity.get('{' + namespace + '}name') | 52 | origin_activity_name = activity.get('{' + namespace + '}name') |
| 53 | print(origin_activity_name) | 53 | print(origin_activity_name) |
| 54 | + | ||
| 55 | + orientation = activity.attrib.get('{' + namespace + '}screenOrientation', "unspecified") | ||
| 56 | + | ||
| 54 | activity.remove(intent_filter) | 57 | activity.remove(intent_filter) |
| 55 | tree.write(manifest_path) | 58 | tree.write(manifest_path) |
| 56 | manifest_add(manifest_path, tree, root, origin_activity_name) | 59 | manifest_add(manifest_path, tree, root, origin_activity_name) |
| 60 | + replace_screen_orientation(orientation,manifest_path) | ||
| 57 | break | 61 | break |
| 58 | 62 | ||
| 59 | 63 | ||
| @@ -80,3 +84,19 @@ def manifest_add(manifest_path, tree, root, origin_activity_name): | @@ -80,3 +84,19 @@ def manifest_add(manifest_path, tree, root, origin_activity_name): | ||
| 80 | meta_data.set('android:value', origin_activity_name) | 84 | meta_data.set('android:value', origin_activity_name) |
| 81 | 85 | ||
| 82 | tree.write(manifest_path) | 86 | tree.write(manifest_path) |
| 87 | + | ||
| 88 | + | ||
| 89 | +def replace_screen_orientation(orientation,manifest_path): | ||
| 90 | + if orientation=='portrait': | ||
| 91 | + with open(manifest_path, 'rt') as f: | ||
| 92 | + manifest_content = f.read() | ||
| 93 | + | ||
| 94 | + # 将所有 android:screenOrientation="portrait" 替换为 android:screenOrientation="landscape" | ||
| 95 | + new_manifest_content = re.sub(r'android:screenOrientation="landscape"', 'android:screenOrientation="portrait"', | ||
| 96 | + manifest_content) | ||
| 97 | + | ||
| 98 | + # 将修改后的内容写入新的清单文件 | ||
| 99 | + with open(manifest_path, 'wt') as f: | ||
| 100 | + f.write(new_manifest_content) | ||
| 101 | + | ||
| 102 | + |
不能预览此文件类型
| 1 | -13:1.4.7:ce08072d529fe32cc25f2e1584c93756:c8223ad3e3a6fb421c28f092095f69e1 |
不能预览此文件类型
| @@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||
| 9 | <LinearLayout | 9 | <LinearLayout |
| 10 | android:layout_width="@dimen/qb_px_1024" | 10 | android:layout_width="@dimen/qb_px_1024" |
| 11 | android:layout_height="@dimen/qb_px_960" | 11 | android:layout_height="@dimen/qb_px_960" |
| 12 | + android:id="@+id/ll_permission" | ||
| 12 | android:background="@drawable/shape_main_dialog" | 13 | android:background="@drawable/shape_main_dialog" |
| 13 | android:gravity="center" | 14 | android:gravity="center" |
| 14 | android:orientation="vertical"> | 15 | android:orientation="vertical"> |
| @@ -21,13 +21,11 @@ import argparse | @@ -21,13 +21,11 @@ import argparse | ||
| 21 | namespace = 'http://schemas.android.com/apk/res/android' | 21 | namespace = 'http://schemas.android.com/apk/res/android' |
| 22 | androidNS = 'http://schemas.android.com/apk/res/android' | 22 | androidNS = 'http://schemas.android.com/apk/res/android' |
| 23 | 23 | ||
| 24 | - | ||
| 25 | def execute(channel, decompileDir, packageName): | 24 | def execute(channel, decompileDir, packageName): |
| 26 | modify_main_activity_smali(decompileDir) | 25 | modify_main_activity_smali(decompileDir) |
| 27 | return 0 | 26 | return 0 |
| 28 | 27 | ||
| 29 | def modify_main_activity_smali(decompileDir): | 28 | def modify_main_activity_smali(decompileDir): |
| 30 | - | ||
| 31 | manifestFile = decompileDir + "/AndroidManifest.xml" | 29 | manifestFile = decompileDir + "/AndroidManifest.xml" |
| 32 | # manifestFile = file_utils.getFullPath(manifestFile) | 30 | # manifestFile = file_utils.getFullPath(manifestFile) |
| 33 | ET.register_namespace('android', androidNS) | 31 | ET.register_namespace('android', androidNS) |
| @@ -40,7 +38,9 @@ def modify_main_activity_smali(decompileDir): | @@ -40,7 +38,9 @@ def modify_main_activity_smali(decompileDir): | ||
| 40 | if applicationNode is None: | 38 | if applicationNode is None: |
| 41 | return | 39 | return |
| 42 | 40 | ||
| 43 | - applicationNode.set('name', 'com.stss.sdk.ChangYouApplication') | 41 | + applicationNode.set(key, 'com.stss.sdk.ChangYouApplication') |
| 42 | + tree.write(manifestFile) | ||
| 43 | + | ||
| 44 | activityNodeLst = applicationNode.findall('activity') | 44 | activityNodeLst = applicationNode.findall('activity') |
| 45 | if activityNodeLst is None: | 45 | if activityNodeLst is None: |
| 46 | return | 46 | return |
| @@ -307,6 +307,22 @@ | @@ -307,6 +307,22 @@ | ||
| 307 | <param name="splash_copy_to_unity" value="0" /> | 307 | <param name="splash_copy_to_unity" value="0" /> |
| 308 | </channel> | 308 | </channel> |
| 309 | <channel> | 309 | <channel> |
| 310 | + <param name="id" value="42" /> | ||
| 311 | + <param name="name" value="zhongjian2" /> | ||
| 312 | + <param name="sdk" value="zhongjian2" /> | ||
| 313 | + <param name="desc" value="重剑2" /> | ||
| 314 | + <param name="splash" value="0" /> | ||
| 315 | + <param name="splash_copy_to_unity" value="0" /> | ||
| 316 | + </channel> | ||
| 317 | + <channel> | ||
| 318 | + <param name="id" value="43" /> | ||
| 319 | + <param name="name" value="669" /> | ||
| 320 | + <param name="sdk" value="669" /> | ||
| 321 | + <param name="desc" value="669" /> | ||
| 322 | + <param name="splash" value="0" /> | ||
| 323 | + <param name="splash_copy_to_unity" value="0" /> | ||
| 324 | + </channel> | ||
| 325 | + <channel> | ||
| 310 | <param name="id" value="1000" /> | 326 | <param name="id" value="1000" /> |
| 311 | <param name="name" value="replace-old-sevencattle" /> | 327 | <param name="name" value="replace-old-sevencattle" /> |
| 312 | <param name="sdk" value="replace-old-sevencattle" /> | 328 | <param name="sdk" value="replace-old-sevencattle" /> |
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
| @@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
| 13 | <uses-permission android:name="android.permission.WRITE_SETTINGS"/> | 13 | <uses-permission android:name="android.permission.WRITE_SETTINGS"/> |
| 14 | </permissionConfig> | 14 | </permissionConfig> |
| 15 | <applicationConfig android:usesCleartextTraffic="true" | 15 | <applicationConfig android:usesCleartextTraffic="true" |
| 16 | - proxyApplication="com.stss.sdk.AiLeQuAppListener"> | 16 | + proxyApplication="com.stss.sdk.ZhongJian2AppListener"> |
| 17 | <uses-library android:name="org.apache.http.legacy" android:required="false" /> | 17 | <uses-library android:name="org.apache.http.legacy" android:required="false" /> |
| 18 | <meta-data | 18 | <meta-data |
| 19 | android:name="STSS_CHANNEL_APPLICATION_CLASS" | 19 | android:name="STSS_CHANNEL_APPLICATION_CLASS" |
| @@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
| 17 | <plugin name="com.stss.sdk.ZhongJian2Pay" type="2" desc="用户支付接口"/> | 17 | <plugin name="com.stss.sdk.ZhongJian2Pay" type="2" desc="用户支付接口"/> |
| 18 | </plugins> | 18 | </plugins> |
| 19 | <version> | 19 | <version> |
| 20 | - <name>爱乐趣</name> | 20 | + <name>重剑2</name> |
| 21 | <versionCode>1</versionCode> | 21 | <versionCode>1</versionCode> |
| 22 | <versionName>1.0.1</versionName> | 22 | <versionName>1.0.1</versionName> |
| 23 | </version> | 23 | </version> |
-
请 注册 或 登录 后发表评论