日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hbuilder版本更新失败_HBuilderX版本升级问题引发的血案(持续更新中)

發(fā)布時(shí)間:2023/12/9 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hbuilder版本更新失败_HBuilderX版本升级问题引发的血案(持续更新中) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. HBuilderX2.0.1.20190614 升級(jí)到 HBuilderX2.2.2.20190816

問題:原生掃碼插件掃碼黑屏無法使用

原因:原生掃碼插件源代碼未對(duì)只有一個(gè)前置攝像頭的情況進(jìn)行合適的處理

解決:修改插件源碼

2. HBuilderX2.2.2.20190816—>HBuilderX2.3.6.20191020—>HBuilderX2.3.7.20191024

升級(jí)程序無問題

3. HBuilderX2.3.7.20191024 升級(jí)到 HBuilderX2.4.2.20191115

問題:真機(jī)運(yùn)行無法成功編譯,云打包也出錯(cuò)

真機(jī)運(yùn)行無法成功編譯.png

原因:未知

解決:暫時(shí)從HBuilderX2.4.2.20191115回退到 HBuilderX2.3.7.20191024

4. HBuilderX2.3.7.20191024 版本年前云打包正常,年后云打包報(bào)錯(cuò)

打包警告提醒

打包警告提醒.png

警告:當(dāng)前編譯器版本HBuilderX2.3.7(HBuilderX版本即編譯器版本)與云服務(wù)器端的編譯器版本2.5.1不一致,可能導(dǎo)致兼容性問題。

忽略警告后繼續(xù)進(jìn)行云打包時(shí)報(bào)錯(cuò)信息如下

Appid: __UNI__E1651CC

FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ':transformClassesWithMultidexlistForRelease'.

> com.android.build.api.transform.TransformException: Error while generating the main dex list.

* Try:

Run with --debug option to get more log output. Run with --scan to get full insights.

* Exception is:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':transformClassesWithMultidexlistForRelease'.

at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)

at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)

at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)

at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)

at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)

at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)

at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)

at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)

at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)

at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)

at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)

at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)

at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)

at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)

at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)

at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)

at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)

at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)

at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)

at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)

at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)

at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)

at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)

at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)

at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)

at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)

at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)

at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)

at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)

at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)

at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)

at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)

Caused by: java.lang.RuntimeException: com.android.build.api.transform.TransformException: Error while generating the main dex list.

at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55)

at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104)

at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)

at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)

at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)

at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)

at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)

at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)

at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)

at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)

at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)

at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)

at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)

at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)

at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)

... 31 more

Caused by: com.android.build.api.transform.TransformException: Error while generating the main dex list.

at com.android.build.gradle.internal.transforms.D8MainDexListTransform.transform(D8MainDexListTransform.kt:144)

at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)

at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)

at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)

... 44 more

Caused by: com.android.builder.multidex.D8MainDexList$MainDexListException: com.android.tools.r8.errors.CompilationError: Program type already present: com.alibaba.android.bindingx.core.BindingXCore$JavaScriptCallback

at com.android.builder.multidex.D8MainDexList.generate(D8MainDexList.java:87)

at com.android.build.gradle.internal.transforms.D8MainDexListTransform.transform(D8MainDexListTransform.kt:131)

... 47 more

Caused by: com.android.tools.r8.errors.CompilationError: Program type already present: com.alibaba.android.bindingx.core.BindingXCore$JavaScriptCallback

at com.android.tools.r8.utils.ProgramClassCollection.resolveClassConflictImpl(ProgramClassCollection.java:64)

at com.android.tools.r8.utils.ProgramClassCollection.lambda$create$0(ProgramClassCollection.java:25)

at com.android.tools.r8.utils.ProgramClassCollection.create(ProgramClassCollection.java:24)

at com.android.tools.r8.graph.LazyLoadedDexApplication$Builder.build(LazyLoadedDexApplication.java:124)

at com.android.tools.r8.dex.ApplicationReader.read(ApplicationReader.java:123)

at com.android.tools.r8.dex.ApplicationReader.read(ApplicationReader.java:86)

at com.android.tools.r8.GenerateMainDexList.run(GenerateMainDexList.java:40)

at com.android.tools.r8.GenerateMainDexList.run(GenerateMainDexList.java:110)

at com.android.builder.multidex.D8MainDexList.generate(D8MainDexList.java:83)

... 48 more* Get more help at https://help.gradle.org

BUILD FAILED in 20s

開始根據(jù)警告信息以為是當(dāng)前編譯器版本(HBuilderX版本即編譯器版本)與云服務(wù)器端的編譯器版本不一致導(dǎo)致打包失敗,所以點(diǎn)擊“升級(jí)HBuilderX” 將HBuilderX2.3.7.20191024(編譯器版本:2.3.7)升級(jí)到了最新的HBuilderX2.6.1.20200226(編譯器版本:2.6.1),此時(shí)云打包仍報(bào)錯(cuò);根據(jù)警告信息表明云服務(wù)器端的編譯器版本為2.5.1,所以又降級(jí)到和云端服務(wù)器一致的版本HBuilderX2.5.1.20190103(編譯器版本:2.5.1),但是云打包仍報(bào)錯(cuò)。

分析:云打包報(bào)錯(cuò)信息

Caused by: com.android.tools.r8.errors.CompilationError: Program type already present: com.alibaba.android.bindingx.core.BindingXCore$JavaScriptCallback

可能原因:使用的原生插件(Android第三方aar文件)與和uni-app原生打包環(huán)境(云端打包環(huán)境)沖突。

解決:注釋依賴庫bindingx-core和bindingx_weex_plugin,即

原生插件的builde.gradle文件中注釋掉依賴庫bindingx-core和bindingx_weex_plugin,并重新生成aar包

apply plugin: 'com.android.library'

android {

compileSdkVersion 28

buildToolsVersion "28.0.3"

defaultConfig {

minSdkVersion 19

targetSdkVersion 28

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

}

}

// 消除警告并定位到警告位置:使用或覆蓋了已過時(shí)的 API,有關(guān)詳細(xì)信息, 請(qǐng)使用 -Xlint:deprecation 重新編譯。

allprojects {

gradle.projectsEvaluated {

tasks.withType(JavaCompile){

options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"

}

}

}

}

repositories {

flatDir {

dirs 'libs'

}

}

dependencies {

compileOnly fileTree(dir: 'libs', include: ['*.jar'])

compileOnly fileTree(dir: '../app/libs', include: ['dc_weexsdk-release.aar', 'uniapp-release.aar'])

// testImplementation 'junit:junit:4.12'

// androidTestImplementation 'com.android.support.test:runner:1.0.2'

// androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

implementation "com.android.support:recyclerview-v7:27.0.0"

implementation 'com.android.support:support-v4:27.0.0'

implementation 'com.android.support:appcompat-v7:27.0.0'

// implementation 'com.alibaba.android:bindingx-core:1.0.3'

// implementation 'com.alibaba.android:bindingx_weex_plugin:1.0.3'

implementation 'com.journeyapps:zxing-android-embedded:3.6.0'

implementation 'com.alibaba:fastjson:1.1.46'

}

替換uniapp項(xiàng)目中原生插件的aar包,并在package.json文件中注釋掉依賴庫bindingx-core和bindingx_weex_plugin

{

"name": "MyScanCode",

"id": "My-ScanCode",

"version": "0.0.1",

"description": "掃碼",

"_dp_type":"nativeplugin",

"_dp_nativeplugin":{

"android": {

"plugins": [

{

"type": "module",

"name": "My-ScanCode",

"class": "com.osmium.myscancode.ScanCodeWXModule"

}

],

"integrateType": "aar",

"minSdkVersion" : 16,

"dependencies": [

// "com.alibaba.android:bindingx-core:1.0.3",

// "com.alibaba.android:bindingx_weex_plugin:1.0.3",

"com.journeyapps:zxing-android-embedded:3.6.0"

]

}

}

}

5. 年后使用 HBuilderX2.5.1.20190103 運(yùn)行編譯年前創(chuàng)建的測試demo報(bào)錯(cuò)

image.png

分析:原因尚未可知。

解決:刪除項(xiàng)目的node_modeles文件件并重新運(yùn)行項(xiàng)目即可。

刪除.png

備注:刪除后若出現(xiàn)如下報(bào)錯(cuò)信息,在菜單欄->工具->插件安裝,安裝對(duì)應(yīng)插件即可。

編譯器插件.png

6. HBuilderX2.5.1.20190103 升級(jí)到 HBuilderX2.6.11.20200409

云打包無問題,但是安裝到真機(jī)后界面樣式出現(xiàn)問題,原因未知,暫時(shí)回退到HBuilderX2.5.1.20190103版本。

7. 重裝系統(tǒng)后安裝 HBuilderX2.3.7.20191024

打包警告提醒

打包警告提醒.png

警告:當(dāng)前編譯器版本HBuilderX2.3.7(HBuilderX版本即編譯器版本)與云服務(wù)器端的編譯器版本2.6.11不一致,可能導(dǎo)致兼容性問題。

忽略警告后繼續(xù)進(jìn)行云打包雖然打包成功了,但是安裝到真機(jī)運(yùn)行時(shí)提醒如下

版本不匹配可能造成應(yīng)用異常.png

此時(shí)運(yùn)行程序可能會(huì)發(fā)生一些問題,而且每次運(yùn)行都會(huì)彈出提醒,不管是出于程序穩(wěn)定性考慮還是交互友好性考慮,最好還是將本地編譯器版本升級(jí)到和云服務(wù)器端一致的版本。

注意:若在打包時(shí)直接點(diǎn)擊“HBuilderX”即可,此時(shí)下載的最新版本是HBuilderX2.6.16,云打包(此時(shí)云打包引擎版本2.6.11)和真機(jī)安裝運(yùn)行都未彈出提醒,但是真機(jī)界面適配出問題。應(yīng)該還是版本不匹配導(dǎo)致的應(yīng)用異常(界面適配問題),所以去DCloud官網(wǎng)下載HBuilderX2.6.11,使本地版本和云服務(wù)器端編譯器版本一致,從而避免各種不可控的問題。但是HBuilderX2.6.11也會(huì)造成之前已適配的界面現(xiàn)在又不能適配的問題(字體和布局變大,有些樣式不起效等問題),只能先降級(jí)到重裝系統(tǒng)前正常的版本HBuilderX2.5.1.20200103。

8. HBuilderX2.5.1.20200103 升級(jí)到 HBuilderX2.7.9.20200527

升級(jí)后打包文件變小了,由原來的17.1M變成10.2M。

重新制作自定義基座(可能存在緩存,刪除unpackage下的debug文件),重新制作基座后又重啟HbuilderX,但真機(jī)調(diào)試仍然無法安裝自定義基座

調(diào)試.png

解決:再次刪除unpackage下的debug文件,重新制作后再重啟HbuilderX,然后就可以真機(jī)安裝自定義調(diào)試基座進(jìn)行調(diào)試了。。。我也是無奈了

真機(jī)運(yùn)行出現(xiàn)兼容問題

① 之前的js不兼容,cutAll字段返回{}時(shí)界面顯示有問題

② 界面不適配(嘗試從HBuilderX2.5.1.20200103升級(jí)到HBuilderX2.6.11.20200409時(shí)問題已出現(xiàn))

9. HBuilderX2.7.9.20200527 降級(jí)到 HBuilderX2.7.5.20200519

拓展:從 uni-app 2.5.3 起,Android端支持引入騰訊x5瀏覽器內(nèi)核,可以抹平低端Android的瀏覽器兼容性問題。參考:H5正常但App異常的可能性、DCloud App集成 X5 內(nèi)核(騰訊瀏覽服務(wù)TBS)說明。

(1) UI不適配且有些樣式不起效:重新適配并修改樣式

整體樣式變大:調(diào)字體大小和各種控件的大小

checkbox點(diǎn)擊無效果:在App.vue中加入下面的樣式

/* 重定義checkbox系統(tǒng)樣式解決checkbox點(diǎn)擊無效果的問題:需定義在全局樣式中,定義在頁面中不起作用 */

uni-checkbox .uni-checkbox-input.uni-checkbox-input-checked{

background-color: #00a9e2;

}

uni-checkbox[disabled] .uni-checkbox-input{

background-color: #d7dee3;

}

(2) JS報(bào)錯(cuò):添加變量未定義的處理

10:04:50.853 cid unmatched at view.umd.min.js:1

10:04:50.884 TypeError: Invalid attempt to destructure non-iterable instance.

10:04:50.916 In order to be iterable, non-array objects must have a [Symbol.iterator]() method. at view.umd.min.js:1

JS報(bào)錯(cuò).png

代碼片段1

裁剪數(shù)量

顏色/尺碼

{{item}}

{{color}}

{{cutAll[color][size]}}

優(yōu)化為:

裁剪數(shù)量

顏色/尺碼

{{item}}

{{color}}

{{cutAll[color] ? cutAll[color][size] : ''}}

代碼片段2

合格數(shù)量

顏色/尺碼

{{item}}

{{color}}

優(yōu)化為:

合格數(shù)量

顏色/尺碼

{{item}}

{{color}}

備注:變量定義、服務(wù)器返回?cái)?shù)據(jù)和數(shù)據(jù)處理

data() {

return {

sizeArr:[],

colorArr: [],

cutAll: {}

}

},

{

"code": "0",

"msg": "success",

"data": {

"production": {

"production_id": "231",

"production_no": "SCD00113",

"origin": "1",

"order_id": "202",

"style_id": "149",

"bg_time": "1589904000",

"end_time": "1589904000",

"num": "500",

"cut_num": "500",

"ticket_num": "300",

"qualified_num": "2",

"clothes0_num": "1100",

"clothes1_num": "20",

"clothes2_num": "10",

"remark": "",

"add_time": "1589950217",

"user_id": "6",

"del_time": "0",

"mat_state": null,

"material_state": "0",

"cut_state": "1",

"ticket_state": "1",

"qualified_state": "1",

"clothes_state": "0",

"production_state": "1",

"center_id": "1",

"start_time": null,

"over_time": null

},

"style": {

"style_id": "149",

"style_no": "JK00048",

"customer_no": "Armani",

"title": "Armani2020",

"images": {

"url": [

"http://jack-mes.oss-cn-hangzhou.aliyuncs.com/image/b50603584fd0e7cca75b79963fe305c5.jpg"

],

"title": [

"Amazon.jpg"

]

},

"size": "XS,S,M,L,XL",

"color": "黑色,藍(lán)色,白色",

"order_num": "1",

"process": "1650,1651",

"key_process": null,

"size_data": "",

"mark_main": "",

"mark_size": "",

"mark_wash": "",

"note": "",

"note_base": "",

"cut_bed": "",

"sew": "",

"after": "",

"tech": "",

"origin": "1",

"tech_req": "",

"add_time": "1589262744",

"user_id": "6",

"del_time": "0",

"center_id": "1",

"color_arr": [

"黑色",

"藍(lán)色",

"白色"

],

"size_arr": [

"XS",

"S",

"M",

"L",

"XL"

]

},

"company": {

"company_id": "1",

"name": "杰克優(yōu)產(chǎn)"

},

"productionDetail": {

"黑色": {

"F": "100",

"XS": "100"

},

"藍(lán)色": {

"S": "100",

"M": "100"

},

"白色": {

"XS": "100"

}

},

"order": {

"order_id": "202",

"style_id": "149",

"style_no": "JK00048",

"origin": "1",

"priority": "0",

"company_id": "1",

"order_no": "JK00048-7",

"price": "1.00",

"num": "600",

"end_time": "1589904000",

"production_num": "1800",

"cut_num": "1600",

"clothes0_num": "4020",

"clothes1_num": "20",

"clothes2_num": "110",

"goods_num": "1100",

"return_num": "30",

"remark": "",

"add_time": "1589945496",

"user_id": "6",

"del_time": "0",

"center_id": "1",

"state": "0",

"mat_state": "-1",

"cut_rest": "-1",

"production_rest": "-1",

"clothes_rest": "-1",

"goods_rest": "-1",

"send_state": "-1",

"create_date": "1589904000"

},

"clothes0": {

"黑色": {

"F": 300,

"XS": 200

},

"藍(lán)色": {

"S": 200,

"M": 200

},

"白色": {

"XS": 200

}

},

"cutAll": {

"黑色": {

"F": 100,

"XS": 100

},

"藍(lán)色": {

"S": 100,

"M": 100

},

"白色": {

"XS": 100

}

}

}

}

success:function(res){

_self.sizeArr = res.data.style.size_arr;

_self.colorArr = res.data.style.color_arr;

_self.cutAll = res.data.cutAll;

},

最終效果

效果.png

總結(jié)

以上是生活随笔為你收集整理的hbuilder版本更新失败_HBuilderX版本升级问题引发的血案(持续更新中)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。