Android Studio无法创建新项目
问题描述:
我将Android Studio更新到2.2.1,但是我创建了一个新项目,并获得RuntimeException.
I update Android studio to 2.2.1 but I create a new project I get the RuntimeException.
java.lang.RuntimeException:
com.android.tools.idea.templates.FreemarkerUtils$TemplateProcessingException:
freemarker.core.ParseException: Parsing error in template
"root://gradle-projects/NewAndroidModule/recipe.xml.ftl" in line 6,
column 2:Unknown directive: #ifues. Help (latest version):
http://freemarker.org/docs/ref_directive_alphaidx.html; you're using
FreeMarker 2.3.20.
答
由于某种原因,您的模板文件在安装过程中已损坏.
For some reason, your template file is broken during installation.
让我附上我的文件,如下所示.要申请,请执行以下操作.
Let me attach my file as below. To apply, please do as follows.
- 关闭Android Studio.
- 使用文本编辑器(即Notepad ++)在
C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule
目录中打开recipe.xml.ftl
文件 - 复制并粘贴以下代码,然后保存. (
UTF-8
格式) - 重新运行Android Studio.
- Close Android Studio.
- Open your
recipe.xml.ftl
file atC:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule
directory with text editor (ie, Notepad++) - Copy-and-Paste below code, then Save. (
UTF-8
format) - Rerun Android Studio.
请注意,该文件来自Android Studio版本 2.2.1
Note that the file is from Android Studio version 2.2.1
<?xml version="1.0"?>
<recipe>
<#if backwardsCompatibility!true>
<dependency mavenUrl="com.android.support:appcompat-v7:${buildApi}.+"/>
</#if>
<#if unitTestsSupported>
<dependency mavenUrl="junit:junit:4.12" gradleConfiguration="testCompile" />
</#if>
<#if !createActivity>
<mkdir at="${escapeXmlAttribute(srcOut)}" />
</#if>
<mkdir at="${escapeXmlAttribute(projectOut)}/libs" />
<merge from="root/settings.gradle.ftl"
to="${escapeXmlAttribute(topOut)}/settings.gradle" />
<instantiate from="root/build.gradle.ftl"
to="${escapeXmlAttribute(projectOut)}/build.gradle" />
<instantiate from="root/AndroidManifest.xml.ftl"
to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable" />
<#if copyIcons && !isLibraryProject>
<copy from="root/res/mipmap-hdpi"
to="${escapeXmlAttribute(resOut)}/mipmap-hdpi" />
<copy from="root/res/mipmap-mdpi"
to="${escapeXmlAttribute(resOut)}/mipmap-mdpi" />
<copy from="root/res/mipmap-xhdpi"
to="${escapeXmlAttribute(resOut)}/mipmap-xhdpi" />
<copy from="root/res/mipmap-xxhdpi"
to="${escapeXmlAttribute(resOut)}/mipmap-xxhdpi" />
<copy from="root/res/mipmap-xxxhdpi"
to="${escapeXmlAttribute(resOut)}/mipmap-xxxhdpi" />
</#if>
<#if makeIgnore>
<copy from="root/module_ignore"
to="${escapeXmlAttribute(projectOut)}/.gitignore" />
</#if>
<#if enableProGuard>
<instantiate from="root/proguard-rules.txt.ftl"
to="${escapeXmlAttribute(projectOut)}/proguard-rules.pro" />
</#if>
<#if !(isLibraryProject??) || !isLibraryProject>
<instantiate from="root/res/values/styles.xml.ftl"
to="${escapeXmlAttribute(resOut)}/values/styles.xml" />
<#if buildApi gte 22>
<copy from="root/res/values/colors.xml"
to="${escapeXmlAttribute(resOut)}/values/colors.xml" />
</#if>
</#if>
<instantiate from="root/res/values/strings.xml.ftl"
to="${escapeXmlAttribute(resOut)}/values/strings.xml" />
<instantiate from="root/test/app_package/ExampleInstrumentedTest.java.ftl"
to="${escapeXmlAttribute(testOut)}/ExampleInstrumentedTest.java" />
<#if unitTestsSupported>
<instantiate from="root/test/app_package/ExampleUnitTest.java.ftl"
to="${escapeXmlAttribute(unitTestOut)}/ExampleUnitTest.java" />
</#if>
<#if includeCppSupport!false>
<instantiate from="root/CMakeLists.txt.ftl"
to="${escapeXmlAttribute(projectOut)}/CMakeLists.txt" />
<mkdir at="${nativeSrcOut}" />
<instantiate from="root/native-lib.cpp.ftl" to="${nativeSrcOut}/native-lib.cpp" />
</#if>
</recipe>