热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用AndroidGradle插件3.3.0在合并资源期间构建失败

如何解决《使用AndroidGradle插件3.3.0在合并资源期间构建失败》经验,为你挑选了2个好方法。

我有很多不同的版本,我的构建有特定的资源,我不想在我的项目中使用一堆特定于风味的目录混乱我的src目录,所以我在我的项目中的另一个文件夹中添加源集到mergeResources任务(mergeResources.doFirst).这一直适用于过去几个版本的Android Gradle插件(3.1.0-3.2.0和一些3.3.0-alpha版本),但在某一点上,3.3.0-alpha AGP已经开始在mergeResources任务期间导致构建失败.

现在我不断得到:

构建失败在35秒16项可操作的任务:15执行,1跟上时代的例外在线程"ForkJoinPool.commonPool工人-6" java.lang.IllegalStateException:当后台驻留程序都在COM使用AAPT流程管理器无法关闭. android.builder.internal.aapt.v2.Aapt2DaemonManager.shutdown(Aapt2DaemonManager.kt:96)位于com.android的com.android.build.gradle.internal.res.namespaced.RegisteredAaptService.shutdown(Aapt2DaemonManagerService.kt:61). build.gradle.internal.workeractions.WorkerActionServiceRegistry $ shutdownAllRegisteredServices $ 1 $ 1.run(WorkerActionServiceRegistry.kt:96)在java.util.concurrent.ForkJoinTask $ RunnableExecuteAction.exec(ForkJoinTask.java:1402)在java.util.concurrent.ForkJoinTask. doEec(ForkJoinTask.java:289)位于java.util.concurrent的当前java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)的java.util.concurrent.ForkJoinPool $ WorkQueue.runTask(ForkJoinPool.java:1056) .ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

我的堆栈跟踪是:

任务':app:mergeMainReleaseResources'的执行失败.java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2InternalException:AAPT2 aapt2-3.3.0-alpha13-5013011窗口守护进程#0:编译期间意外的错误"C:\用户\亚历克斯\ Documents\Work\Android\project\app\productio n_resources\categories\fitness\res\drawable-xxxhdpi\background_4.png',试图阻止守护进程.这不应该在正常情况下发生,请提出问题.

例外是:org.gradle.api.tasks.TaskExecutionException:任务':app:mergeMainReleaseResources'的执行失败.在org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77) .api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)在org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)在org.gradle.api.internal .tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)在org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)在org.gradle.api.internal.tasks.execution org.gradle中的.skipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)位于org.gradle.api.internal的org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)中的.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91) .tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)在org.gradle.api.internal.tasks.execution .ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter $ 1.运行(EventFiringTaskExecuter.java:51)org.gradle.internal.operations.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)at org.gradle.internal.operations.DefaultBuildOperationE xecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)org.gradle.internal.operations.DefaultBupeOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)在org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)在org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)在org.gradle.execution.taskgraph .LocalTask​​InfoExecutor.execute(LocalTask​​InfoExecutor.java:42)org.gradle.execution.taskgraph.DefaultTaskExecutionGraph $ BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph $ BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java) :262)在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ ExecutorWorker $ 1.execute(DefaultTaskPlanEx)ecutor.java:135)在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ ExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:130)在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)在org.gradle.internal.concurrent. ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)在org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run(ManagedExecutorImpl.java:46)在org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run(ThreadFactoryImpl.java :55)

引起:org.gradle.internal.UncheckedException:java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2InternalException:AAPT2 aapt2-3.3.0-alpha13-5013011-windows守护程序#0:意外编译'C:\ Users\Alex\Documents\Work\Android\project\app\production_resources\categories\fitness\res\drawable-xxxhdpi\background_4.png'时出错,试图停止守护进程.这不应该在正常情况下发生,请提出问题.在org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:63)在org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:40)在org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java :76)org.gradle.api.internal.project.taskfactory.IncrementalTask​​Action.doExecute(IncrementalTask​​Action.java:50)at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)at at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter $ 1.run(ExecuteActionsTaskExecuter.java:131) .internal.operations.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)atg.gradle.internal.operations.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)at org.gradle.internal.operati ons.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)org.gradle.internal.operations.DefaultOperationExecutor.run(DefaultBuildOperationExecutor.java:90)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 java.util.concurrent.ExecutionException:通过多个致com.android.builder.internal.aapt.v2.Aapt2InternalException:AAPT2 aapt2-3.3.0-alpha13-5013011窗口守护进程#0:意外的错误编译期间"C:\用户\ Alex\Documents\Work\Android\project\app\production_resources\categories\fitness\res\drawable-xxxhdpi\background_4.png',试图停止守护进程.这不应该在正常情况下发生,请提出问题.com.android.ide.common.workers.ExecutorServiceAdapter.close(ExecutorServiceAdapter.kt:56)在com.android.build的com.android.build.gradle.internal.aapt.WorkerExecutorResourceCompilationService.close(WorkerExecutorResourceCompilationService.kt:67) .gradle.tasks.MergeResources.doFullTask​​Action(MergeResources.java:268)位于org.gradle.internal.refternal.JavaMethod.invoke的com.android.build.gradle.internal.tasks.IncrementalTask​​.taskAction(IncrementalTask​​.java:106) (JavaMethod.java:73)......还有42个

com.android.builder.internal.aapt.v2.Aapt2InternalException:由造成AAPT2 aapt2-3.3.0-alpha13-5013011窗口服务#0:编译过程中意外的错误"C:\用户\亚历克斯\文件\工作\ Android的\ project\app\production_resources\categories\fitness\res\drawable-xxxhdpi\background_4.png',试图停止守护进程.这不应该在正常情况下发生,请提出问题.在com.android.builder.internal.aapt.v2.Aapt2Daemon.handleError(Aapt2Daemon.kt:148)在com.android.builder.internal.aapt.v2.Aapt2Daemon.compile(Aapt2Daemon.kt:88)在com.android .builder.internal.aapt.v2.Aapt2DaemonManager $ LeasedAaptDaemon.compile(Aapt2DaemonManager.kt:170):在COM在com.android.build.gradle.internal.res.Aapt2CompileWithBlameRunnable $运行$ 1.invoke(37 Aapt2CompileWithBlameRunnable.kt).在com.android.build.gradle.internal.res.namespaced.Aapt2DaemonManagerService.useAaptDaemon(Aapt2DaemonManagerService.kt:71)在COM:android.build.gradle.internal.res.Aapt2CompileWithBlameRunnable $运行$ 1.invoke(28 Aapt2CompileWithBlameRunnable.kt) .android.build.gradle.internal.res.namespaced.Aapt2DaemonManagerService.useAaptDaemon $默认(Aapt2DaemonManagerService.kt:69)在com.android.build.gradle.internal.res.Aapt2CompileWithBlameRunnable.run(Aapt2CompileWithBlameRunnable.kt:34)在COM .android.ide.common.workers.ExecutorServiceAdapter $ $提交提交$ 1.run(ExecutorServiceAdapter.kt:39)

引起:java.io.IOException:AAPT2进程意外退出.错误输出:com.android.builder.internal.aapt.v2.Aapt2DaemonImpl $ WaitForTaskCompletion.err(Aapt2DaemonImpl.kt:309)at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl $ processOutput $ 1.err(Aapt2DaemonImpl. kt:75)在com.android.utils.GrabProcessOutput $ 1.run(GrabProcessOutput.java:104)

我想也许PNG文件已损坏或标记不正确,但我通过一大堆转换运行它,我得到同样的错误.

在测试期间,它工作正常,但在发布期间构建是我收到此错误.我使用AS 3.2和AGP 3.2.0构建我的生产版本,工作正常.此外,这只是Windows.它在我的Mac上工作正常.

我的build.gradle是:

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.project.test"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 37
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

    dexOptions {
        jumboMode true
        javaMaxHeapSize "4g"
        preDexLibraries = false
    }

    sourceSets {

        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')

        androidTest.setRoot('tests')
    }

    signingConfigs {

        key {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }

    }

    buildTypes {

        debug {
            minifyEnabled false
        }

        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.key
        }
    }

    flavorDimensions "default"

    productFlavors {

        main {
            versionName "0"
            buildConfigField "String", "CATEGORY", "\"fitness\""
            buildConfigField "String", "BUILD_VERSION", "\"$config.buildVersion\""
            dimension "default"
        }

        flavors.each { name, flavor ->
            "$name" {
                applicatiOnId= config.applicationId + "." + "$name"
                versiOnName= config.versionName
                versiOnCode= flavor.versionCode
                buildConfigField "String", "CATEGORY", "\"${flavor.category}\""
                buildConfigField "String", "BUILD_VERSION", "\"$config.buildVersion\""
                buildConfigField "String", "APP_ID", "\"$name\""
                resValue "string", "APP_NAME", flavor.appName
                dimension "default"
            }
        }

    }

    packagingOptions {
        exclude 'META-INF/rxjava.properties'
    }

    configurations.all {
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.1'
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    androidTestImplementation('com.android.support.test:runner:1.0.1', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.google.code.findbugs:jsr305:3.0.2'
    implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"
    implementation "com.android.support:design:$rootProject.supportLibraryVersion"
    implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:customtabs:$rootProject.supportLibraryVersion"
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.android.billingclient:billing:1.1'
    implementation "com.squareup.retrofit2:retrofit:$rootProject.retrofitVersion"
    implementation "com.squareup.retrofit2:converter-gson:$rootProject.retrofitVersion"
    implementation "com.squareup.retrofit2:adapter-rxjava2:$rootProject.retrofitVersion"
    implementation 'com.squareup.okhttp3:okhttp:3.11.0'
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation "com.facebook.fresco:fresco:$rootProject.frescoVersion"
    implementation "com.facebook.fresco:animated-gif:$rootProject.frescoVersion"
    implementation "com.google.android.gms:play-services-auth:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-gcm:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-base:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-ads:$rootProject.playServicesVersion"
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.4@aar') {
        transitive = true
    }
    implementation 'com.mixpanel.android:mixpanel-android:5.2.1'
    implementation "com.google.dagger:dagger:$rootProject.daggerVersion"
    implementation "com.google.dagger:dagger-android-support:$rootProject.daggerVersion"
    annotationProcessor "com.google.dagger:dagger-compiler:$rootProject.daggerVersion"
    implementation "com.jakewharton:butterknife:$rootProject.butterknifeVersion"
    annotationProcessor "com.jakewharton:butterknife-compiler:$rootProject.butterknifeVersion"
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.2.0'
    implementation 'com.github.JakeWharton:ViewPagerIndicator:2.4.1'
    implementation "com.google.android.exoplayer:exoplayer-core:$rootProject.exoPlayerVersion"
    implementation "com.google.android.exoplayer:exoplayer-hls:$rootProject.exoPlayerVersion"
    implementation "com.google.android.exoplayer:exoplayer-ui:$rootProject.exoPlayerVersion"
    testImplementation 'junit:junit:4.12'
}

android.applicationVariants.all { variant ->
    def category
    variant.productFlavors.each { flavor ->
        flavor.buildConfigFields.each { key, value ->
            if (key == "CATEGORY") {
                category = value.value.substring(1, value.value.length() - 1)
            }
        }
    }
    variant.mergeResources.doFirst {
        android.sourceSets."${variant.productFlavors.get(0).name}".res.srcDirs =
                ["production_resources/flavors/${variant.productFlavors.get(0).name}/res",
                 "production_resources/categories/${category}/res"]
    }
}

afterEvaluate {
    tasks.matching {
        it.name.startsWith('dex')
    }.each { dx ->
        if (dx.additiOnalParameters== null) {
            dx.additiOnalParameters= []
        }
        dx.additionalParameters += '--multi-dex'
        dx.additionalParameters += "--main-dex-list=$projectDir/".toString()
    }
}

apply plugin: 'com.google.gms.google-services'

小智.. 45

这是Android Gradle Plugin 3.3.0中的AAPT2中的一个错误,当时构建一个具有更大png(大约2-3 mb及以上)的项目.

@ akong9759在Googles问题跟踪器上为此创建了一个问题,它已得到修复.

https://issuetracker.google.com/issues/117900475

此问题已在Android Gradle Plugin 3.5.0-alpha03中修复,修复程序计划在3.4.0版中发布.

针对此问题,我们建议对Android Gradle Plugin 3.3.0进行临时修复.将以下内容添加到项目build.gradle中:

allprojects {
    // Workaround for https://issuetracker.google.com/117900475
    // Remove when upgrading to AGP 3.4 or higher.
    configurations.matching { it.name == '_internal_aapt2_binary' }.all { config ->
        config.resolutionStrategy.eachDependency { details ->
            details.useVersion("3.5.0-alpha03-5252756")
        }
    }
}

今天,我将发行版URL中的studio更新为3.4.0,gradle插件更新为3.4.0,5.1.1。完成此更新后,出现错误:“ AAPT2 aapt2-3.5.0-alpha03-5252756-windows守护程序#7:守护程序启动失败”。请帮忙。 (3认同)


小智.. 18

我遇到过同样的问题.构建将破坏并提及不同的png文件,例如background_4.png,但仅限于Windows PC.在Mac上构建没有问题.

在我的情况下,图像大小是问题.只有大于2MB的图像才会破坏构建.在将每个图像缩小到小于2MB的值后,构建开始再次工作.



1> 小智..:

这是Android Gradle Plugin 3.3.0中的AAPT2中的一个错误,当时构建一个具有更大png(大约2-3 mb及以上)的项目.

@ akong9759在Googles问题跟踪器上为此创建了一个问题,它已得到修复.

https://issuetracker.google.com/issues/117900475

此问题已在Android Gradle Plugin 3.5.0-alpha03中修复,修复程序计划在3.4.0版中发布.

针对此问题,我们建议对Android Gradle Plugin 3.3.0进行临时修复.将以下内容添加到项目build.gradle中:

allprojects {
    // Workaround for https://issuetracker.google.com/117900475
    // Remove when upgrading to AGP 3.4 or higher.
    configurations.matching { it.name == '_internal_aapt2_binary' }.all { config ->
        config.resolutionStrategy.eachDependency { details ->
            details.useVersion("3.5.0-alpha03-5252756")
        }
    }
}


今天,我将发行版URL中的studio更新为3.4.0,gradle插件更新为3.4.0,5.1.1。完成此更新后,出现错误:“ AAPT2 aapt2-3.5.0-alpha03-5252756-windows守护程序#7:守护程序启动失败”。请帮忙。

2> 小智..:

我遇到过同样的问题.构建将破坏并提及不同的png文件,例如background_4.png,但仅限于Windows PC.在Mac上构建没有问题.

在我的情况下,图像大小是问题.只有大于2MB的图像才会破坏构建.在将每个图像缩小到小于2MB的值后,构建开始再次工作.


推荐阅读
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • HashMap的扩容知识详解
    本文详细介绍了HashMap的扩容知识,包括扩容的概述、扩容条件以及1.7版本中的扩容方法。通过学习本文,读者可以全面了解HashMap的扩容机制,提升对HashMap的理解和应用能力。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • HashMap的相关问题及其底层数据结构和操作流程
    本文介绍了关于HashMap的相关问题,包括其底层数据结构、JDK1.7和JDK1.8的差异、红黑树的使用、扩容和树化的条件、退化为链表的情况、索引的计算方法、hashcode和hash()方法的作用、数组容量的选择、Put方法的流程以及并发问题下的操作。文章还提到了扩容死链和数据错乱的问题,并探讨了key的设计要求。对于对Java面试中的HashMap问题感兴趣的读者,本文将为您提供一些有用的技术和经验。 ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 有没有一种方法可以在不继承UIAlertController的子类或不涉及UIAlertActions的情况下 ... [详细]
  • 1Lock与ReadWriteLock1.1LockpublicinterfaceLock{voidlock();voidlockInterruptibl ... [详细]
author-avatar
cathy522_788
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有