Подтвердить что ты не робот

Android Studio создает шаблон проекта для новых проектов

Прежде всего, я знаю этот вопрос; однако я не могу следовать за ответом, потому что там нет каталогов.

При создании нового проекта Android Studio я хочу создать автоматически следующее:

  • Конкретные пакеты и каталоги;
  • Gradle зависимости
  • Несколько классов (могут быть импортированы из другого места)

Можно ли создать шаблон для Android Studio для этих задач?

4b9b3361

Ответ 1

Проверьте эту папку в папке SDK для Android.

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

введите описание изображения здесь

Типы файлов и их организация такие же, как упоминалось ранее.

Ответ 2

re: default Gradle Зависимости Ничего из предыдущего. ответы работали для меня. Ключевым файлом является

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 gen'd, я раскомментирую соответственно.

Это заняло у меня весь день, чтобы разобраться. Я довольно недоволен w/w140 > doc'n и Android Studio Doc'n. Это была бы легкая задача с быстрым легким документом. Как бы то ни было, я до сих пор не понимаю, что Gradle очень хорошо конкретизируется. : - {

Последовательность каталогов выше для моей установленной Android Studio. Ваша Android-студия может быть установлена ​​в другом месте, но этот ответ по-прежнему имеет значение.

ПРЕДУПРЕЖДЕНИЕ: я просто попытался обновить свою Android-студию, и она перестала работать, потому что она заметила изменение в файле. Итак, УБЕДИТЕСЬ, ЧТОБЫ ВЫПОЛНИТЬ ЭТОТ ФАЙЛ, прежде чем изменять его. а потом ВОССТАНОВИТЕ ФАЙЛ перед обновлением Android Studio.