首先,我了解this问题;但是我无法回答,因为那里没有提到的目录。
创建新的Android Studio项目时,我希望自动创建以下内容:
是否可以为这些任务创建Android Studio模板?
答案 0 :(得分:18)
在android SDK文件夹下查看此文件夹:
android-sdk\tools\templates\projects
有三种预定义模板,如下所示,我们通常使用这些模板。
每个模板文件夹都有不同的ftl
文件,这些文件是每个现有项目的模板:
您可以创建新的模板文件夹并根据需要设计ftl
个文件。并定义项目结构。
只需打开其中一个,您就会知道默认模板是如何存在的。根据需要扩展或自己创建自己的。
如上所述,您的问题可以通过以下方式解答:
要创建包,请在root
文件夹中创建一个与您的包名匹配的文件夹结构。
对于gradle依赖项,根据需要将它们添加到*.gradle.ftl
文件中。
要复制/导入现有的类/文件,请查看recipe.xml.ftl
以了解如何复制。
更新:人们报告说,如果在Android SDK下的上述文件夹中进行了更改,则无法正常工作
我再次搜索并找到了存储这些模板的另一个位置,即直接位于Android Studio安装文件夹下,而不是Android SDK文件夹。
已验证Android Studio Version 1.5
& Android Studio Version 2.0 Beta
:
<installation folder>\plugins\android\lib\templates
它们的文件类型和组织与前面提到的相同。
答案 1 :(得分:4)
re:默认Gradle Dependencies 没有上一个。答案对我有用。 密钥文件是
C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\build.gradle.ftl
重要的部分是 NewAndroidModule ,而不是NewAndroidProject
这是我的文件的样子:
<#if !(perModuleRepositories??) || perModuleRepositories>
buildscript {
repositories {
jcenter()
<#if mavenUrl != "mavenCentral">
maven {
url '${mavenUrl}'
}
</#if>
}
dependencies {
classpath 'com.android.tools.build:gradle:${gradlePluginVersion}'
}
}
</#if>
<#if isLibraryProject?? && isLibraryProject>
apply plugin: 'com.android.library'
<#else>
apply plugin: 'com.android.application'
</#if>
<#if !(perModuleRepositories??) || perModuleRepositories>
repositories {
jcenter()
<#if mavenUrl != "mavenCentral">
maven {
url '${mavenUrl}'
}
</#if>
}
</#if>
android {
compileSdkVersion <#if buildApiString?matches("^\\d+$")>${buildApiString}<#else>'${buildApiString}'</#if>
buildToolsVersion "${buildToolsVersion}"
defaultConfig {
<#if isLibraryProject?? && isLibraryProject>
<#else>
applicationId "${packageName}"
</#if>
minSdkVersion <#if minApi?matches("^\\d+$")>${minApi}<#else>'${minApi}'</#if>
targetSdkVersion <#if targetApiString?matches("^\\d+$")>${targetApiString}<#else>'${targetApiString}'</#if>
versionCode 1
versionName "1.0"
}
<#if javaVersion?? && (javaVersion != "1.6" && buildApi lt 21 || javaVersion != "1.7")>
compileOptions {
sourceCompatibility JavaVersion.VERSION_${javaVersion?replace('.','_','i')}
targetCompatibility JavaVersion.VERSION_${javaVersion?replace('.','_','i')}
}
</#if>
<#if enableProGuard>
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
</#if>
}
dependencies {
<#if dependencyList?? >
<#list dependencyList as dependency>
compile '${dependency}'
</#list>
</#if>
compile fileTree(dir: 'libs', include: ['*.jar'])
<#if WearprojectName?has_content && NumberOfEnabledFormFactors?has_content && NumberOfEnabledFormFactors gt 1 && Wearincluded>
wearApp project(':${WearprojectName}')
compile 'com.google.android.gms:play-services:+'
</#if>
<#if unitTestsSupported>
testCompile 'junit:junit:${junitVersion}'
</#if>
//from C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\build.gradle.ftl
//logback
// compile 'MyAwesomeDependency:1.1.+'
// compile 'MyOtherAwesomeDependency:1.1.+'
// compile 'org.slf4j:slf4j-api:1.7.+'
//end logback
// compile 'com.google.code.gson:gson:2.+'
}
并且这里是模块应用的正确输出build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.ntier.myapplication"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
//from C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\build.gradle.ftl
//logback
// compile 'MyAwesomeDependency:1.1.+'
// compile 'MyOtherAwesomeDependency:1.1.+'
// compile 'org.slf4j:slf4j-api:1.7.+'
//end logback
// compile 'com.google.code.gson:gson:2.+'
compile 'com.android.support:appcompat-v7:23.4.0'
}
所以,最后,在build.gradle生成之后,我会相应地取消注释。
这花了我一整天才搞清楚。我对Gradle doc&n以及Android Studio Doc&n; n非常不满意。这应该是一个简单的任务w / quick easy doc&n; n。事实上,我仍然不太了解gradle confign。 : - {
上面的目录序列适用于我安装的Android Studio。您的Android Studio可能已安装在其他位置,但此答案仍然相关。
警告:我刚刚尝试更新我的Android Studio,因为它注意到了文件中的更改。 因此,在修改之前,请确认您备份此文件。然后 在更新Android Studio之前恢复文件。