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: true
、enabled true
或enabled = true
,但没有成功。以上是关于AndroidStudio4.0.1版本无法快速新建Activity解决办法的主要内容,如果未能解决你的问题,请参考以下文章
将 Android Studio 指向特定的 cmake 版本
Android Studio - DecimalFormat (java.text) - 无法正常工作