如何在 Android Studio 中创建自定义项目模板 [英] How to create custom project template in Android Studio
问题描述
我可以在 Android Studio 中创建自定义项目模板吗?
Can I create custom project template in Android Studio ?
我找到目录Android Studio.app/sdk/tools/templates/projects/NewAndroidApplication"并稍微编辑一下.但现在可以工作了.
I find the directory "Android Studio.app/sdk/tools/templates/projects/NewAndroidApplication" and edit a little. But it is now work.
你有什么想法吗?
我想从像 Xcode 这样的模板创建项目.
I want to create project from template like Xcode.
推荐答案
上一个都没有.答案对我有用.这是我发现的:密钥文件是
None of the prev. answers worked for me. Here's what I found: The key file is
C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule\root\build.gradle.ftl
重要的部分是它在 NewAndroidModule 中,而不是 NewAndroidProject
The important part is it's in NewAndroidModule, NOT 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:
and here's the correct output build.gradle for module app:
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 之后,我相应地取消注释.
So, finally, after the build.gradle is gen'd I uncomment accordingly.
这花了我一整天的时间才弄清楚.我对 Gradle doc'n 和 Android Studio Doc'n 非常不满意.这本应该是一项简单的任务,并且有快速简单的 doc'n.事实上,我仍然不太了解 gradle confign.:-{
This took me all day to figger out. I'm pretty displeased w/ the Gradle doc'n and the Android Studio Doc'n. This should have been an easy task w/ quick easy doc'n. As it is, I still don't understand gradle confign very well. :-{
上面的目录顺序是我安装的Android Studio.您的 Android Studio 可能安装在其他地方,但此答案仍然适用.
The directory sequence above is for my installed Android Studio. Your Android Studio may be installed elsewhere but this answer is still relevant.
这篇关于如何在 Android Studio 中创建自定义项目模板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!