AndroidStudio4.0.1版本无法快速新建Activity解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AndroidStudio4.0.1版本无法快速新建Activity解决办法相关的知识,希望对你有一定的参考价值。

参考技术A androidStudio4.0.1版本,新建Activity的时候,点击finish之后新建失败没有产生对应的Java及xml文件且没有任何提示,如下图方式新建:

问题原因:signingConfigs的写法跟之前的版本有些不同。

解决办法:改成新版本的方式即可恢复新建Activity的功能。

注意事项:

module下的 build.gradle文件,如果你需要配置signingConfigs模块,那么有两个规则需要遵守

1,signingConfigs模块的配置需要写在buildTypes模块之前

android 

    ……

    signingConfigs 

    ...…

     

    buildTypes 

         release 

           ……

         

          debug 

           ……

         

     



如果不按顺序写,会报 Could not get unknown property 'xxxxxxx' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer的错误

2,signingConfigs模块里面不能出现debug之类的关键字

      我之前的写法如下所示(4.0版本不适用):

      //错误写法

          signingConfigs 

                   debug 

                           storeFile file('key地址')

                           storePassword "密码"

                            keyAlias "Alias名称"

                            keyPassword "密码"

               

         

           buildTypes 

                 debug 

                          ……

                         signingConfig signingConfigs.debug

           

   

//正确写法,把signingConfigs模块里的 “debug ”改成其他名字,例如改成test

signingConfigs 

              test

                  storeFile file('key地址')

                  storePassword "密码"

                  keyAlias "Alias名称"

                  keyPassword "密码"

             



buildTypes 

           debug 

                        ……

                        signingConfig signingConfigs.test

           



修改完后,把项目里的build文件夹里面的output.json文件删掉,再次新建,新建成功

具有新 dataBinding 导入的 Android Studio 3.2.1 无法编译

【中文标题】具有新 dataBinding 导入的 Android Studio 3.2.1 无法编译【英文标题】:Android Studio 3.2.1 with new dataBinding import doesn't compile 【发布时间】:2019-04-22 04:12:15 【问题描述】:

我该如何解决这个问题? 我在我的 macOS 上安装了一个新的 Android Studio,我想导入 dataBinding e 来学习有关这项技术的教程。但是当我导入依赖项并构建时,会显示以下错误。

(Android Studio 3.2.1 Build #AI-181.5540.7.32.5056338,于 2018 年 10 月 8 日构建 JRE:1.8.0_152-release-1136-b06 x86_64 JVM:JetBrains sro macOS 10.14 的 OpenJDK 64 位服务器 VM .1)

[kapt] An exception occurred: java.lang.NullPointerException
        at java.io.File.<init>(File.java:277)
        at android.databinding.annotationprocessor.ProcessExpressions.onHandleStep(ProcessExpressions.java:77)
        at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.runStep(ProcessDataBinding.java:203)
        at android.databinding.annotationprocessor.ProcessDataBinding$ProcessingStep.access$000(ProcessDataBinding.java:188)
        at android.databinding.annotationprocessor.ProcessDataBinding.doProcess(ProcessDataBinding.java:90)
        at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:65)
        at org.jetbrains.kotlin.kapt3.base.ProcessorWrapper.process(annotationProcessing.kt:99)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1039)
        at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1180)
        at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
        at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1068)
        at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:55)
        at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:27)
        at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:218)
        at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:183)
        at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:100)
        at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:95)
        at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:105)
        at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:82)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:375)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:67)
        at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:107)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:366)
        at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:120)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:161)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:57)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:96)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:52)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:93)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:442)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:102)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:1029)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:102)
        at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:1071)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:1028)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:441)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
        at sun.rmi.transport.Transport$1.run(Transport.java:200)
        at sun.rmi.transport.Transport$1.run(Transport.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

我使用以下 app.gradle 创建了一个新项目和 Empty Activity,但错误仍然存​​在。需要卸载Android Studio吗?

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android 
    compileSdkVersion 28
    defaultConfig 
        applicationId "br.com.rrlabs.apps.databindingtest"
        minSdkVersion 25
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    
    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        
    
    dataBinding 
        enabled = true
    


dependencies 
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    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'

    //databinding
    kapt "com.android.databinding:compiler:3.1.4"

【问题讨论】:

查看这里developer.android.com/topic/libraries/data-binding/start 嗨@Grendel,tks。这对我有用:在gradle.properties 我添加android.databinding.enableV2=true 【参考方案1】:

这对我有用:在gradle.properties 我添加android.databinding.enableV2=true 而且,在app.gradle 我插入

databinding 
enabled = true
 

并评论 app.gradle 的 kapt

//databinding
//kapt "com.android.databinding:compiler:3.1.4"

感谢@Sputnik 和@Grendel 的想法。 看这个项目的git:https://github.com/rodrigoror/MVVMPosts

【讨论】:

查看完整的媒体帖子:medium.com/@rodrigoror/…【参考方案2】:

您忘记了 enabled 和 true 之间的等号。应该是

databinding 
enabled = true
 

【讨论】:

我这样做了,但错误没有改变。我尝试了enabled: trueenabled trueenabled = true,但没有成功。

以上是关于AndroidStudio4.0.1版本无法快速新建Activity解决办法的主要内容,如果未能解决你的问题,请参考以下文章

将 Android Studio 指向特定的 cmake 版本

Android Studio - DecimalFormat (java.text) - 无法正常工作

第一次运行 Flutter 项目

教你如何快速编译安装新内核

Android Studio 4.0.1 (Linux Mint) 中没有文档

无法快速更改旧日期格式的新日期格式?