diff --git a/app/build.gradle b/app/build.gradle index f6472de..d1f55e9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,13 +16,29 @@ android { versionCode 1 versionName "1.0" + // 指定应用内部版本号 + versionCode 2 + // 指定展示给用户的版本号 + versionName "1.1.2" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } + signingConfigs { + release { + // 将下面信息替换为你的 keystore 文件路径和相关密码 + storeFile file("keystore/release.keystore") + storePassword "iflytop#110011" + keyAlias "iflytop" + keyPassword "iflytop#110011" + } + } + buildTypes { release { - minifyEnabled false + minifyEnabled true// 开启混淆和压缩 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.release// 指定 release 使用的签名配置 } } compileOptions { @@ -35,6 +51,13 @@ android { } } +android.applicationVariants.configureEach { variant -> + variant.outputs.configureEach { output -> + def buildType = variant.buildType.name + outputFileName = "廓形仪-${buildType}-v${variant.versionName}.apk" + } +} + tasks.withType(KotlinCompile).configureEach { kotlinOptions { jvmTarget = "21" diff --git a/app/src/main/assets/web/asset-manifest.json b/app/src/main/assets/web/asset-manifest.json index 42c1444..70aa794 100644 --- a/app/src/main/assets/web/asset-manifest.json +++ b/app/src/main/assets/web/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { "main.css": "./static/css/main.3543332f.css", - "main.js": "./static/js/main.d1cfebe4.js", + "main.js": "./static/js/main.7ec89011.js", "static/js/206.d71bd05f.chunk.js": "./static/js/206.d71bd05f.chunk.js", "static/media/icon_tab3_u.svg": "./static/media/icon_tab3_u.6d18cbd7c4dc6a54f745fdfcc7716050.svg", "static/media/icon_tab3_s.svg": "./static/media/icon_tab3_s.b0a9cbf5ecee59829c9de63a2e9de169.svg", @@ -22,6 +22,6 @@ }, "entrypoints": [ "static/css/main.3543332f.css", - "static/js/main.d1cfebe4.js" + "static/js/main.7ec89011.js" ] } \ No newline at end of file diff --git a/app/src/main/assets/web/index.html b/app/src/main/assets/web/index.html index 759239b..4981046 100644 --- a/app/src/main/assets/web/index.html +++ b/app/src/main/assets/web/index.html @@ -1 +1 @@ -廓形仪
\ No newline at end of file +廓形仪
\ No newline at end of file diff --git a/app/src/main/assets/web/static/js/main.d1cfebe4.js b/app/src/main/assets/web/static/js/main.7ec89011.js similarity index 65% rename from app/src/main/assets/web/static/js/main.d1cfebe4.js rename to app/src/main/assets/web/static/js/main.7ec89011.js index 9dcdfbd..7e868dd 100644 --- a/app/src/main/assets/web/static/js/main.d1cfebe4.js +++ b/app/src/main/assets/web/static/js/main.7ec89011.js @@ -1,2 +1,2 @@ -/*! For license information please see main.d1cfebe4.js.LICENSE.txt */ -(()=>{var e={22:(e,t,n)=>{var r=n(635),i=n(581),a=n(336),o=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":o&&o in Object(e)?i(e):a(e)}},49:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),f=Symbol.iterator;var p={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,g={};function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||p}function y(){}function b(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||p}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=v.prototype;var w=b.prototype=new y;w.constructor=b,m(w,v.prototype),w.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,k={current:null},_={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,r){var i,a={},o=null,s=null;if(null!=t)for(i in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(o=""+t.key),t)S.call(t,i)&&!_.hasOwnProperty(i)&&(a[i]=t[i]);var l=arguments.length-2;if(1===l)a.children=r;else if(1{"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(345)},132:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.staged=void 0;const i=r(n(950));function a(e){return"function"===typeof e?i.default.createElement(o,{stage:e}):e}function o(e){return a(e.stage())}t.staged=function(e){return function(t,n){return a(e(t,n))}}},140:(e,t,n)=>{"use strict";var r=n(950);var i="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},a=r.useState,o=r.useEffect,s=r.useLayoutEffect,l=r.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch(r){return!0}}var c="undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,c=r[1];return s((function(){i.value=n,i.getSnapshot=t,u(i)&&c({inst:i})}),[e,n,t]),o((function(){return u(i)&&c({inst:i}),e((function(){u(i)&&c({inst:i})}))}),[e]),l(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},153:(e,t)=>{"use strict";t.DefaultEventPriority=16,t.LegacyRoot=0},184:(e,t,n)=>{var r=n(22),i=n(248);e.exports=function(e){return"symbol"==typeof e||i(e)&&"[object Symbol]"==r(e)}},235:(e,t,n)=>{"use strict";e.exports=n(473)},248:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},254:(e,t,n)=>{"use strict";var r=n(950);var i="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},a=r.useSyncExternalStore,o=r.useRef,s=r.useEffect,l=r.useMemo,u=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,c){var d=o(null);if(null===d.current){var h={hasValue:!1,value:null};d.current=h}else h=d.current;d=l((function(){function e(e){if(!s){if(s=!0,a=e,e=r(e),void 0!==c&&h.hasValue){var t=h.value;if(c(t,e))return o=t}return o=e}if(t=o,i(a,e))return t;var n=r(e);return void 0!==c&&c(t,n)?(a=e,t):(a=e,o=n)}var a,o,s=!1,l=void 0===n?null:n;return[function(){return e(t())},null===l?void 0:function(){return e(l())}]}),[t,n,r,c]);var f=a(e,d[0],d[1]);return s((function(){h.hasValue=!0,h.value=f}),[f]),u(f),f}},256:(e,t,n)=>{"use strict";e.exports=n(254)},336:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},340:(e,t,n)=>{"use strict";e.exports=n(761)},345:(e,t,n)=>{"use strict";var r=n(950),i=n(340);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n