在android studio中创建新的activity
时,我在事件日志中出现IllegalStateException错误:
11:27:15 InvalidReferenceException: Error executing FreeMarker template: The following has evaluated to null or missing:
==> srcDir [in template "root://activities/common/common_globals.xml.ftl" at line 41, column 34]
Tip: If the failing expression is known to be legally null/missing, either specify a default value with myOptionalVar!myDefault, or use when-presentwhen-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??
答案 0 :(得分:6)
我遇到了同样的问题,尝试以下步骤对我有用:
答案 1 :(得分:3)
在设置好我的android环境后,我已经面临一个问题。我已经设置并配置了所有东西,但是仍然存在。经过几分钟的搜索,我发现在Logcat
然后,我知道项目缺少构建工具版本。您必须提供用于项目运行的构建工具版本。在Mac中转到>> 项目结构,(Cmd +;)。选择Compile Sdk Version
和Build Tools Version
,
构建gradle之后,已修复了从菜单错误创建新活动的问题。希望对您有帮助。
说明 :克隆和运行项目时,Github或bitbucket中的某些项目也缺少“构建工具”版本。这些都是相同的错误,这种方法可以帮助解决它们。
答案 2 :(得分:3)
方法1:只需从应用程序级别build.gradle中删除以下代码
debug {
storeFile file('/Users/Razz/Documents/keys/keystore.jks')
storePassword 'ABC@123'
keyAlias 'key0'
keyPassword 'ABC@123'
}
方法2:如果同时存在两个软件包(kotlin和java)
我遇到了与每次通过Android Studio提供的活动模板创建新活动一样的问题。即使Gradle同步成功完成,也没有任何反应。
很长一段时间后,我发现项目中的 java 目录名以某种方式更改为 kotlin 。我猜想Android Studio正在寻找Java包来创建新的Activity。
然后,要解决此问题,请按照以下步骤操作:
../ProjectName/app/src/main/
的身份到达Java目录下的项目位置kotlin
目录,而不是java
。
java
。答案 3 :(得分:1)
注释build.gradle中的代码,该代码在tmp目录中创建文件夹,然后创建Activity。
成功创建活动后,请在build.gradle(Co)
中恢复注释代码allprojects {
/*String osName = System.getProperty("os.name").toLowerCase();
if (osName.contains("windows")) {
buildDir = "C:/tmp/${rootProject.name}/${project.name}"
}*/
repositories {
jcenter()
}
}
答案 4 :(得分:1)
我在2天前遇到过同样的问题,我通过更新以下文本来解决。选中gradle.build应用程序和模块以更新版本。
classpath 'com.google.gms:google-services:4.3.4'
答案 5 :(得分:0)
我有同样的问题。 访问此链接。 https://code.google.com/p/android/issues/detail?id=232076
如果您的项目位于C之外的其他驱动器中,则会发生这种情况: android studio会自动在C:驱动器的tmp文件夹中创建项目的副本(我希望它们是缓存文件)。此文件夹是导致此问题的原因。
尝试File->使高速缓存/重新启动无效。要么 刚刚删除c:驱动器中的tmp文件夹并重新启动所有内容,它将正常工作。
答案 6 :(得分:0)
在build.gradle文件中,添加
let smth = browser.elements('selector').value.length;
sychronize gradle然后将其删除并再次同步。这对我有用。
buildDir = "C:/tmp/${rootProject.name}/${project.name}"
}
答案 7 :(得分:0)
尝试创建新活动时,我遇到了同样的问题。 IDE Fatal Errors
我在Windows 7 Professional上运行Android Studio 3.2.1。在开始从不同的驱动器切换加载项目之前,我没有这个问题-我曾经从F:驱动器运行项目,并且当我将示例代码下载到C:驱动器时,创建新活动开始出现此IDE致命错误。 / p>
从在线来源获得了由buildDir
中的build.gradle(Project:)
路径引起的潜在问题的线索,如下所示;
buildDir = "C:/tmp/${rootProject.name}/${project.name}"
由于我的项目工作目录位于 F:驱动器中,因此我将上述 C:驱动器更改为 F:
buildDir = "F:/tmp/${rootProject.name}/${project.name}"
通过这个简单的更改,我现在可以创建新的活动。
如果没有其他适合您的方法,建议您尝试此解决方案。
答案 8 :(得分:0)
我已经尝试了上述大部分建议,但没有成功;目录没问题,缓存失效等。但是如果你右键单击项目文件夹,新建>活动>图库(所有其他人都是灰色的),点击任何活动模板都会显示确切的问题。就我而言,出于某种原因,我的所有活动(包括基本活动和空活动)都需要 minSdkVersion 16;不是原来的 15。如果其他人失败了,我希望这对你有用。
答案 9 :(得分:-1)
删除gradle文件中的构建文件夹重定向代码是一种解决方法。
allprojects {
//String osName = System.getProperty("os.name").toLowerCase();
//if (osName.contains("windows")) {
// buildDir = "C:/tmp/${rootProject.name}/${project.name}"
//}
repositories {
jcenter()
}
}
找到它