将Android Studio升级到3.1.0后,Android支持插件错误 [英] Android Support plugin errors after upgrading Android Studio to 3.1.0

查看:414
本文介绍了将Android Studio升级到3.1.0后,Android支持插件错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将Kotlin和数据绑定用于我的项目,在最近升级到Android Studio 3.1.0之后,我不断在Android支持插件中看到很多异常:

I use Kotlin and databinding for my project, after recent upgrade to Android Studio 3.1.0 I constantly see a lot of exceptions in Android Support plugin:

无法初始化类android.databinding.tool.ext.ExtKt java.lang.NoClassDefFoundError:无法初始化类 android.databinding.tool.ext.ExtKt位于 android.databinding.tool.reflection.ModelClass.getTypeName(ModelClass.java:688) 在 android.databinding.tool.reflection.ModelClass.equals(ModelClass.java:694) 在 android.databinding.tool.reflection.ModelClass.findSetter(ModelClass.java:614) 在 android.databinding.tool.reflection.ModelClass.findGetterOrField(ModelClass.java:523) 在 com.android.tools.idea.lang.databinding.DataBindingXmlReferenceContributor $ 2.getReferencesByElement(DataBindingXmlReferenceContributor.java:196) 在 com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.getReferences(ReferenceProvidersRegistryImpl.java:135) 在 com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.mapNotEmptyReferencesFromProviders(ReferenceProvidersRegistryImpl.java:123) 在 com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.doGetReferencesFromProviders(ReferenceProvidersRegistryImpl.java:102) 在 com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:59) 在 com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:53) 在 com.android.tools.idea.lang.databinding.DataBindingPsiElement.getReferences(DataBindingPsiElement.java:32) 在 org.intellij.plugins.intelliLang.references.InjectedReferencesContributor.getInjectedReferences(InjectedReferencesContributor.java:56) 在 org.intellij.plugins.intelliLang.references.InjectedReferencesInspection $ 1.visitElement(InjectedReferencesInspection.java:40) 在 com.intellij.psi.impl.PsiElementBase.accept(PsiElementBase.java:274) 在 com.android.tools.idea.lang.databinding.psi.impl.PsiDbExprImpl.accept(PsiDbExprImpl.java:43) 在 com.android.tools.idea.lang.databinding.psi.impl.PsiDbR​​efExprImpl.accept(PsiDbR​​efExprImpl.java:42) 在 com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:82) 在 com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:70) 在 com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.doInspectInjectedPsi(LocalInspectionsPass.java:750) 在 com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda $ inspectInjectedPsi $ 6(LocalInspectionsPass.java:338) 在 com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:133) 在 com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:223) 在 com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:151) 在 com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1125) 在 com.intellij.concurrency.ApplierCompleter.lambda $ wrapInReadActionAndIndicator $ 1(ApplierCompleter.java:105) 在 com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:543) 在 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:488) 在 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94) 在 com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:116) 在 com.intellij.concurrency.ApplierCompleter.lambda $ compute $ 0(ApplierCompleter.java:96) 在 com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByIm PatientReader(ReadMostlyRWLock.java:143) 在 com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:229) 在 com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96) 在 java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731) 在java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) 在 java.util.concurrent.ForkJoinPool $ WorkQueue.pollAndExecCC(ForkJoinPool.java:1190) 在 java.util.concurrent.ForkJoinPool.helpComplete(ForkJoinPool.java:1879) 在 java.util.concurrent.ForkJoinPool.awaitJoin(ForkJoinPool.java:2045) 在java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:390) 在java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719)在 java.util.concurrent.ForkJoinPool.invoke(ForkJoinPool.java:2616)在 com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:65) 在 com.intellij.concurrency.JobLauncher.invokeConcurrentlyUnderProgress(JobLauncher.java:57) 在 com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.inspectInjectedPsi(LocalInspectionsPass.java:341) 在 com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.inspect(LocalInspectionsPass.java:231) 在 com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:136) 在 com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:83) 在 com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70) 在 com.intellij.codeInsight.daemon.impl.PassExecutorService $ ScheduledPass.lambda $ null $ 1(PassExecutorService.java:437) 在 com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1130) 在 com.intellij.codeInsight.daemon.impl.PassExecutorService $ ScheduledPass.lambda $ doRun $ 2(PassExecutorService.java:430) 在 com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:543) 在 com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:488) 在 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94) 在 com.intellij.codeInsight.daemon.impl.PassExecutorService $ ScheduledPass.doRun(PassExecutorService.java:429) 在 com.intellij.codeInsight.daemon.impl.PassExecutorService $ ScheduledPass.lambda $ run $ 0(PassExecutorService.java:405) 在 com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByIm PatientReader(ReadMostlyRWLock.java:143) 在 com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:229) 在 com.intellij.codeInsight.daemon.impl.PassExecutorService $ ScheduledPass.run(PassExecutorService.java:403) 在 com.intellij.concurrency.JobLauncherImpl $ VoidForkJoinTask $ 1.exec(JobLauncherImpl.java:170) 在java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) 在 java.util.concurrent.ForkJoinPool $ WorkQueue.runTask(ForkJoinPool.java:1056) 在 java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) 在 java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Could not initialize class android.databinding.tool.ext.ExtKt java.lang.NoClassDefFoundError: Could not initialize class android.databinding.tool.ext.ExtKt at android.databinding.tool.reflection.ModelClass.getTypeName(ModelClass.java:688) at android.databinding.tool.reflection.ModelClass.equals(ModelClass.java:694) at android.databinding.tool.reflection.ModelClass.findSetter(ModelClass.java:614) at android.databinding.tool.reflection.ModelClass.findGetterOrField(ModelClass.java:523) at com.android.tools.idea.lang.databinding.DataBindingXmlReferenceContributor$2.getReferencesByElement(DataBindingXmlReferenceContributor.java:196) at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.getReferences(ReferenceProvidersRegistryImpl.java:135) at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.mapNotEmptyReferencesFromProviders(ReferenceProvidersRegistryImpl.java:123) at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.doGetReferencesFromProviders(ReferenceProvidersRegistryImpl.java:102) at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:59) at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:53) at com.android.tools.idea.lang.databinding.DataBindingPsiElement.getReferences(DataBindingPsiElement.java:32) at org.intellij.plugins.intelliLang.references.InjectedReferencesContributor.getInjectedReferences(InjectedReferencesContributor.java:56) at org.intellij.plugins.intelliLang.references.InjectedReferencesInspection$1.visitElement(InjectedReferencesInspection.java:40) at com.intellij.psi.impl.PsiElementBase.accept(PsiElementBase.java:274) at com.android.tools.idea.lang.databinding.psi.impl.PsiDbExprImpl.accept(PsiDbExprImpl.java:43) at com.android.tools.idea.lang.databinding.psi.impl.PsiDbRefExprImpl.accept(PsiDbRefExprImpl.java:42) at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:82) at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:70) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.doInspectInjectedPsi(LocalInspectionsPass.java:750) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$inspectInjectedPsi$6(LocalInspectionsPass.java:338) at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:133) at com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:223) at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:151) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1125) at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:543) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:488) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94) at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:116) at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96) at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:143) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:229) at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96) at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.pollAndExecCC(ForkJoinPool.java:1190) at java.util.concurrent.ForkJoinPool.helpComplete(ForkJoinPool.java:1879) at java.util.concurrent.ForkJoinPool.awaitJoin(ForkJoinPool.java:2045) at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:390) at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) at java.util.concurrent.ForkJoinPool.invoke(ForkJoinPool.java:2616) at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:65) at com.intellij.concurrency.JobLauncher.invokeConcurrentlyUnderProgress(JobLauncher.java:57) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.inspectInjectedPsi(LocalInspectionsPass.java:341) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.inspect(LocalInspectionsPass.java:231) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:136) at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:83) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:437) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1130) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:430) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:543) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:488) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:429) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:405) at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:143) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:229) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:403) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:170) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

我的主要 build.gradle

buildscript {
    ext.kotlin_version = '1.2.31'
    ext.protobuf_version = '3.0.0'
    ext.anko_version='0.10.4'

    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.5'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

应用程序 build.gradle

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'project-report'

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.3"

    defaultConfig {
        applicationId "com.myapp"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    dataBinding {
        enabled = true
    }
}

kapt {
    useBuildCache = true
    mapDiagnosticLocations = true
}

dependencies {
    implementation project(':proto')

    implementation "android.arch.persistence.room:runtime:1.0.0"
    implementation 'com.android.support:recyclerview-v7:27.1.0'
    kapt "android.arch.persistence.room:compiler:1.0.0"
    kapt "com.android.databinding:compiler:3.1.0"

    implementation "android.arch.lifecycle:extensions:1.1.1"
    implementation "android.arch.lifecycle:common-java8:1.1.1"

    implementation 'com.auth0.android:jwtdecode:1.1.1'
    implementation 'com.squareup.okhttp3:okhttp:3.9.1'

    // Anko
    implementation "org.jetbrains.anko:anko-sdk15:$anko_version"
    implementation "org.jetbrains.anko:anko-appcompat-v7:$anko_version"

    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support:design:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:support-v4:27.1.0'
    implementation 'com.android.support:support-vector-drawable:27.1.0'

    testImplementation 'junit:junit:4.12'

    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    //noinspection GradleDependency
    androidTestImplementation 'org.exparity:hamcrest-date:1.1.0'
}

gradle.properties

org.gradle.jvmargs=-Xmx2048m
kotlin.incremental.usePreciseJavaTracking=true
android.enableD8=true
android.databinding.enableV2=true

gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

到目前为止,我已经尝试过:

So far I have tried:

  • 使缓存无效并重新启动
  • 重新导入项目
  • 清洁并修复
  • 无需先前配置即可进行干净安装+重新导入项目+无需安装额外的插件
  • 在gradle.properties中,按一行或全部注释掉每一行,并使其无效并重新启动
  • 尝试了implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"在gradle中以防万一
  • Invalidate cache and restart
  • Reimport project
  • Clean and rebuid
  • Clean install without former configurations + reimport project + no extra plugins installed
  • In gradle.properties commenting out each line by one or all of them + invalidate and restart
  • Tried implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" in gradle "just in case"

没有任何帮助,错误几乎仍然在每个文件中弹出.如我所见,这在某种程度上与绑定和Kotlin有关.

Nothing helped and errors still pop up almost in each file. As I can see this somehow is related to binding and kotlin.

有人遇到这个问题吗?

PS

在布局xml文件中,甚至不突出显示不存在的字符串资源,例如@string/non_existing_title-只是显示为有效的字符串资源(即使在全新安装后). 尽管我不确定这个问题是否与报告的异常有关.

In layout xml files non-existing string resources are not even highlighted, e.g. @string/non_existing_title - just appears as a valid string resource (even after clean install). Though I'm not sure if this issue is related to reported exceptions.

更新1

我注意到Invalidate&重新启动一次引发另一个异常:

I noticed that after Invalidate & restart another exception is thrown once:

com/squareup/javapoet/TypeName
java.lang.NoClassDefFoundError: com/squareup/javapoet/TypeName
    at android.databinding.tool.ext.ExtKt.<clinit>(ext.kt:180)
    at android.databinding.tool.reflection.ModelClass.getTypeName(ModelClass.java:688)
    at android.databinding.tool.reflection.ModelClass.equals(ModelClass.java:694)
    at android.databinding.tool.reflection.ModelClass.findSetter(ModelClass.java:614)
    at android.databinding.tool.reflection.ModelClass.findGetterOrField(ModelClass.java:523)
....
Caused by: java.lang.ClassNotFoundException: com.squareup.javapoet.TypeName PluginClassLoader[org.jetbrains.android, 10.3.1] com.intellij.ide.plugins.cl.PluginClassLoader@19c41e97
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:63)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 63 more

我试图添加javapoet依赖关系,但是在无效后仍然会抛出该异常.然后,仅抛出Could not initialize class android.databinding.tool.ext.ExtKt异常,如最初报告的那样.

I've tried to add javapoet dependency but this exception is still thrown once after invalidating. And then only Could not initialize class android.databinding.tool.ext.ExtKt exceptions are thrown as reported initially.

推荐答案

经过一番犹豫,我决定转到Canary频道并安装了Android Studio Canary 10(导入以前的设置),现在的规格是:

After some hesitations I decided to move to canary channel and installed Android Studio Canary 10 (importing previous settings), and now specifications are:


Android Studio 3.2 Canary 10 Build #AI-181.2784.17.32.4705630, built on April 7, 2018
JRE: 1.8.0_152-release-1136-b01 amd64 
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Linux 4.13.0-38-generic

在安装时,kotlin遇到多个问题,找不到很多类.无效并重新启动,清理/重建无济于事.

On installing I had multiple issues with kotlin not finding many classes; invalidate and restart, clean/rebuild didn't help.

然后,我刚刚从插件部分卸载了Kotlin插件,看起来重启后它已还原为原始版本,此后我没有任何问题.

Then I just uninstalled Kotlin plugin from Plugins section and it looks like after restart it was restored with original version and I have no problems since.

当前Kotlin插件版本:版本:1.2.31-Studio3.2-1

Current Kotlin plugin version: Version: 1.2.31-Studio3.2-1

最后,一切都按预期进行. @Yazazzello,感谢您对Android Studio Canary#10的反馈.

And at last everything works as expected. @Yazazzello, thanks for your feedback on Android Studio Canary #10.

这篇关于将Android Studio升级到3.1.0后,Android支持插件错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆