浏览代码

apk版本打包优化

ccc 1 周之前
父节点
当前提交
7ac92111f6

+ 11 - 1
app/build.gradle

@@ -63,6 +63,7 @@ android {
     buildTypes {
         // 对应 ALPHA 版本
         debug {
+            buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
             buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.ALPHA}\""
 //            signingConfig signingConfigs.releaseConfig
             minifyEnabled false //为true,则对代码进行混淆和压缩
@@ -70,6 +71,7 @@ android {
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         beta {
+            buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
             buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.BETA}\""
 //            signingConfig signingConfigs.releaseConfig
             minifyEnabled true
@@ -77,6 +79,7 @@ android {
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         release {
+            buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
             buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.RELEASE}\""
 //            signingConfig signingConfigs.releaseConfig
             minifyEnabled false
@@ -89,11 +92,18 @@ android {
     android.applicationVariants.all { variant ->
         variant.outputs.all { output ->
             if (outputFileName != null && outputFileName.endsWith('.apk')) {
+                String app
+                if (ProjectBuildConfig.appVersion==2){
+                    app="en"
+                }else {
+                    app="ch"
+                }
                 def date = new Date()
                 def dateFormat = new SimpleDateFormat("M.d") // 格式化日期为 MM.dd
                 def formattedDate = dateFormat.format(date)
                 outputFileName="${ProjectBuildConfig.versionName}"+
-                        "-SBM10-"+
+                        "-SBM10"+
+                        "${app}"+"-"+
                         "${formattedDate}"+
                         ".apk"
             }

+ 3 - 0
base_lib.gradle

@@ -33,16 +33,19 @@ android {
     buildTypes {
         // 对应 ALPHA 版本
         debug {
+            buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
             buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.ALPHA}\""
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         beta {
+            buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
             buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.BETA}\""
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         release {
+            buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
             buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.RELEASE}\""
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

+ 3 - 0
base_module.gradle

@@ -49,16 +49,19 @@ android {
     buildTypes {
         // 对应 ALPHA 版本
         debug {
+            buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
             buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.ALPHA}\""
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         beta {
+            buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
             buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.BETA}\""
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         release {
+            buildConfigField "Integer", "APP_VERSION", "${ProjectBuildConfig.appVersion}"
             buildConfigField "String", "VERSION_TYPE", "\"${ProjectBuildConfig.Version.RELEASE}\""
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

+ 4 - 2
buildSrc/src/main/kotlin/com/quyunshuo/sbm10/buildsrc/ProjectBuildConfig.kt

@@ -11,9 +11,11 @@ object ProjectBuildConfig {
     const val applicationId = "com.quyunshuo.sbm10"
     const val minSdkVersion = 21
     const val targetSdkVersion = 29
-    const val versionCode = 16
-    const val versionName = "1.0.16"
+    const val versionCode = 17
+    const val versionName = "1.0.17"
     const val isAppMode = false
+    const val appVersion = 2
+
     /**
      * 项目当前的版本状态
      * 该状态直接反映当前App是测试版 还是正式版 或者预览版

module_home/src/main/res/drawable/home_rectangle_background.xml → lib_base/src/main/res/drawable/home_rectangle_background.xml


module_home/src/main/res/drawable/home_rectangle_blue_background.xml → lib_base/src/main/res/drawable/home_rectangle_blue_background.xml


+ 1 - 1
lib_base/src/main/res/layout/backstage_dialog_tips.xml

@@ -35,7 +35,7 @@
             android:text="@string/home_confirm"
             android:layout_marginTop="70dp"
             android:textSize="42sp"
-            android:textColor="@color/white"
+            android:textColor="#FFFFFF"
             android:background="@drawable/home_rectangle_blue_background"
             app:layout_constraintEnd_toStartOf="@+id/backstage_guideline"
             app:layout_constraintStart_toStartOf="parent"

+ 0 - 3
lib_common/src/main/java/com/quyunshuo/sbm10/common/constant/Heartbeat.kt

@@ -15,9 +15,6 @@ object Heartbeat {
     //设备id
     var deviceId: String? = null
 
-    //是否为国外版本 false为国内 true为国外
-    var isForeign: Boolean = false
-
     //记录定时开休眠闹钟个数
     var openSleepNumber: Int = 0
 

+ 1 - 1
lib_common/src/main/java/com/quyunshuo/sbm10/common/constant/MMKVName.kt

@@ -10,7 +10,7 @@ abstract class MMKVName {
 
     companion object {
 
-        var APP_VERSION: Int = 2 //区分国内外版本   国内1,国外2
+//        var APP_VERSION: Int = 2 //区分国内外版本   国内1,国外2
 
         val PAY_TYPE: String
             get() = "PAY_TYPE"//支付方式

+ 3 - 3
module_backstage/src/main/java/com/module/backstage/activity/setting/SettingRepository.kt

@@ -2,6 +2,8 @@ package com.module.backstage.activity.setting
 
 import android.util.Log
 import com.module.pay.service.HomeApiService
+import com.quyunshuo.sbm10.base.BaseApplication
+import com.quyunshuo.sbm10.base.BuildConfig
 import com.quyunshuo.sbm10.base.mvvm.m.BaseRepository
 import com.quyunshuo.sbm10.common.constant.Heartbeat
 import com.quyunshuo.sbm10.common.constant.MMKVName
@@ -62,7 +64,7 @@ class SettingRepository @Inject constructor() : BaseRepository() {
      */
     suspend fun apkinfo() = request<String> {
         var params = HashMap<String, String>()
-        if (MMKVName.APP_VERSION==1){
+        if (BuildConfig.APP_VERSION==1){
             params["model"] = "SBM10ch"
         }else{
             params["model"] = "SBM10en"
@@ -71,6 +73,4 @@ class SettingRepository @Inject constructor() : BaseRepository() {
             emit(this)
         }
     }
-
-
 }

+ 2 - 1
module_backstage/src/main/java/com/module/backstage/adapter/PayAdapter.kt

@@ -9,6 +9,7 @@ import androidx.recyclerview.widget.RecyclerView
 import com.google.gson.Gson
 import com.google.gson.reflect.TypeToken
 import com.module.backstage.databinding.BackstageItemPayBinding
+import com.quyunshuo.sbm10.base.BuildConfig
 import com.quyunshuo.sbm10.base.addressenum.PayEnum
 import com.quyunshuo.sbm10.base.utils.SpUtils
 import com.quyunshuo.sbm10.common.bean.PayTypeBean
@@ -32,7 +33,7 @@ class PayAdapter(var productList: MutableList<PayEnum>) :
                 object : TypeToken<HashMap<String, PayTypeBean>?>() {}.type
             )
         }else{
-            if (MMKVName.APP_VERSION==1) {
+            if (BuildConfig.APP_VERSION==1) {
                 arrayListState[PayEnum.TWO_CODE.code] = PayTypeBean(PayEnum.TWO_CODE.code,true)
             }else{
                 arrayListState[PayEnum.BILL_COIN.code] = PayTypeBean(PayEnum.BILL_COIN.code,true)

+ 2 - 1
module_backstage/src/main/java/com/module/backstage/fragment/PayFragment.kt

@@ -11,6 +11,7 @@ import com.module.backstage.adapter.PayAdapter
 import com.module.backstage.databinding.BackstageFragmentPayBinding
 import com.module.backstage.dialog.PayGoreSetDialog
 import com.module.backstage.vm.PayFragmentVM
+import com.quyunshuo.sbm10.base.BuildConfig
 import com.quyunshuo.sbm10.base.addressenum.PayEnum
 import com.quyunshuo.sbm10.base.utils.SpUtils
 import com.quyunshuo.sbm10.common.bean.LocalAlarmClockBean
@@ -60,7 +61,7 @@ class PayFragment : BaseFragment<BackstageFragmentPayBinding, PayFragmentVM>() {
                 Gson().toJson(priceAdapter?.arrayListState),
                 object : TypeToken<MutableMap<String, Map<String, Any>>>() {}.type
             )
-            if (MMKVName.APP_VERSION == 2) {
+            if (BuildConfig.APP_VERSION == 2) {
                 // 将 arrayListState 从 JSON 字符串转换为 Map
                 payTypeMap.remove("TwoCode")
                 // 保存修改后的数据

+ 2 - 1
module_backstage/src/main/java/com/module/backstage/vm/PayFragmentVM.kt

@@ -2,6 +2,7 @@ package com.module.backstage.vm
 
 import androidx.lifecycle.MutableLiveData
 import com.module.backstage.repo.PayFragmentRepo
+import com.quyunshuo.sbm10.base.BuildConfig
 import com.quyunshuo.sbm10.base.addressenum.PayEnum
 import com.quyunshuo.sbm10.base.mvvm.vm.BaseViewModel
 import com.quyunshuo.sbm10.common.bean.ProductDataBean
@@ -52,7 +53,7 @@ class PayFragmentVM @Inject constructor(private val mRepo: PayFragmentRepo) : Ba
     }
 
     fun getPayData(): MutableList<PayEnum> {
-        if (MMKVName.APP_VERSION==1){
+        if (BuildConfig.APP_VERSION==1){
             return mRepo.arrayList1
         }else{
             return mRepo.arrayList

+ 2 - 1
module_home/src/main/java/com/quyunshuo/module/home/dialog/PayChooseDialogFragment.kt

@@ -30,6 +30,7 @@ import com.quyunshuo.module.home.R
 import com.quyunshuo.module.home.adapter.PayChooseDialogAdapter
 import com.quyunshuo.module.home.databinding.HomeDialogPayChooseBinding
 import com.quyunshuo.module.home.fragment.vm.HomeFragmentVM
+import com.quyunshuo.sbm10.base.BuildConfig
 import com.quyunshuo.sbm10.base.DialogClickListener
 import dagger.hilt.android.AndroidEntryPoint
 import kotlinx.coroutines.CoroutineScope
@@ -92,7 +93,7 @@ class PayChooseDialogFragment :
                     object : TypeToken<HashMap<String, PayTypeBean>?>() {}.type
                 )
             } else {
-                if (MMKVName.APP_VERSION==1) {
+                if (BuildConfig.APP_VERSION==1) {
                     arrayListState[PayEnum.TWO_CODE.code] = PayTypeBean(PayEnum.TWO_CODE.code, true)
                 } else {
                     arrayListState[PayEnum.BILL_COIN.code] = PayTypeBean(PayEnum.BILL_COIN.code, true)

+ 3 - 2
module_home/src/main/java/com/quyunshuo/module/home/fragment/fragment/HomeFragment.kt

@@ -46,6 +46,7 @@ import com.quyunshuo.module.home.listener.LanguageClickListener
 import com.quyunshuo.module.home.utils.NetWorkUtils
 import com.quyunshuo.module.home.utils.PhoneStateUtils
 import com.quyunshuo.module.home.weight.NXHooldeIMGView
+import com.quyunshuo.sbm10.base.BuildConfig
 import com.quyunshuo.sbm10.base.bean.Global
 import com.quyunshuo.sbm10.base.dialog.TipsDialog
 import com.quyunshuo.sbm10.base.ktx.observeLiveData
@@ -298,7 +299,7 @@ class HomeFragment : BaseFragment<HomeFragmentHomeBinding, HomeFragmentVM>(), Vi
                 return
             }
         }
-//        if (checkToBuy()) return//是否开机
+        if (checkToBuy()) return//是否开机
 //        selectProductDataBean = ProTypeEnum.getEnumByValue(product!!.nameChinese)
         //todo 测试做糖 传递价格等信息过去。
 //        gotoMake(product.nameChinese)
@@ -337,7 +338,7 @@ class HomeFragment : BaseFragment<HomeFragmentHomeBinding, HomeFragmentVM>(), Vi
 //            showTipsDialog("价格低于0元,不能购买")
 //            return true
 //        }
-        if (product?.price!! <= 0 && MMKVName.APP_VERSION==1) {
+            if (product?.price!! <= 0 && BuildConfig.APP_VERSION==1) {
             showTipsDialog("价格低于0元,不能购买")
             return true
         }