如何使用gradle
命令行创建android项目(没有任何IDE)?
在使用android
下面的util 之前
android create project --target 1 --name MyAndroidApp --path ./MyAndroidAppProject --activity MyAndroidAppActivity --package com.example.myandroid
Paul Verest.. 45
类似如何创建Java项目的gradle
建议创建Android项目与android create project
比添加build.gradle
经典的Android项目模板gh.c/N/N-1/B/M/oneeg /文档/安卓/的build.gradle.(这将允许在任何IDE中开发,因为旧结构被更广泛采用)
当然,会有一些gradle init
选项或android create
在未来(从SDK).
Android SDK中19具有android
CLI -g
选项,允许使用gradle这个模板.您可能还需要指定使用CLI的Android gradle这个插件版本-v
的选项,勾选安卓插件的gradle兼容表.例如命令创建一个采用Android插件的gradle(V 0.10)增加支持的gradle项目.
android create project \ --gradle \ --gradle-version 0.10 \ --activity Main \ --package com.example.app \ --target android-19 \ --path AppWithGradleTemplate
或者编译工具19.1+,使用通过摇篮Android插件的更新版本--gradle-version
:
android create project \ --gradle \ --gradle-version 0.11.+ \ --activity Main \ --package com.example.app \ --target android-25 \ --path AppWithGradleTemplate
检查android create project -h
帮助
但是Android Studio 0.6.1无法正确打开它(没有显示来源),因为它将第一个项目文件夹(即gradle
)作为模块文件夹 - >你需要导入,而不仅仅是打开.
在Eclipse中,有一个关于src
文件夹作为项目根的技巧.
.classpath
是
和 build.gradle
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.10.+' } } apply plugin: 'android' android { //{ for Android Gradle as Eclipse project sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['java'] resources.srcDirs = ['java'] aidl.srcDirs = ['java'] renderscript.srcDirs = ['java'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the tests to tests/java, tests/res, etc... androidTest.setRoot('../tests') // Move the build types to build-types/// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/ /... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } //} compileSdkVersion 'Google Inc.:Google APIs:10' buildToolsVersion '19.0.3' buildTypes { release { runProguard false proguardFile getDefaultProguardFile('proguard-android.txt') } } lintOptions { abortOnError false } }
http://marketplace.eclipse.org/content/gradle
请阅读http://www.nodeclipse.org/projects/gradle/
类似如何创建Java项目的gradle
建议创建Android项目与android create project
比添加build.gradle
经典的Android项目模板gh.c/N/N-1/B/M/oneeg /文档/安卓/的build.gradle.(这将允许在任何IDE中开发,因为旧结构被更广泛采用)
当然,会有一些gradle init
选项或android create
在未来(从SDK).
Android SDK中19具有android
CLI -g
选项,允许使用gradle这个模板.您可能还需要指定使用CLI的Android gradle这个插件版本-v
的选项,勾选安卓插件的gradle兼容表.例如命令创建一个采用Android插件的gradle(V 0.10)增加支持的gradle项目.
android create project \ --gradle \ --gradle-version 0.10 \ --activity Main \ --package com.example.app \ --target android-19 \ --path AppWithGradleTemplate
或者编译工具19.1+,使用通过摇篮Android插件的更新版本--gradle-version
:
android create project \ --gradle \ --gradle-version 0.11.+ \ --activity Main \ --package com.example.app \ --target android-25 \ --path AppWithGradleTemplate
检查android create project -h
帮助
但是Android Studio 0.6.1无法正确打开它(没有显示来源),因为它将第一个项目文件夹(即gradle
)作为模块文件夹 - >你需要导入,而不仅仅是打开.
在Eclipse中,有一个关于src
文件夹作为项目根的技巧.
.classpath
是
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="java"/><!--ADJUSTED HERE --> <classpathentry kind="src" path="gen"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> <classpathentry kind="output" path="bin/classes"/> </classpath>
和 build.gradle
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.10.+' } } apply plugin: 'android' android { //{ for Android Gradle as Eclipse project sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['java'] resources.srcDirs = ['java'] aidl.srcDirs = ['java'] renderscript.srcDirs = ['java'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the tests to tests/java, tests/res, etc... androidTest.setRoot('../tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } //} compileSdkVersion 'Google Inc.:Google APIs:10' buildToolsVersion '19.0.3' buildTypes { release { runProguard false proguardFile getDefaultProguardFile('proguard-android.txt') } } lintOptions { abortOnError false } }
http://marketplace.eclipse.org/content/gradle
请阅读http://www.nodeclipse.org/projects/gradle/
android create project
已在SDK工具26.0.1中删除
有关详细信息,请参阅https://askubuntu.com/questions/906942/android-update-project-path-target-android-25-on-ubuntu-16-04
试图使用它失败了:
************************************************************************* The "android" command is deprecated. For manual SDK, AVD, and project management, please use Android Studio. For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager ************************************************************************* Invalid or unsupported command "project create" Supported commands are: android list target android list avd android list device android create avd android move avd android delete avd android list sdk android update sdk
解决方法:Android Studio模板+复制帮助程序脚本
我有的最好的解决方法是:
从Android Studio GUI手动创建一个新的Gradle项目
使用帮助程序脚本复制该模板,重命名过程中的类
以下帮助程序脚本允许您执行以下操作:
./template NewAppName AppTemplateProject
NewAppName
从AppTemplateProject
使用Android studio创建的现有应用中获取新应用:
#!/usr/bin/env bash set -ex new="$1" shift if [ $# -gt 0 ]; then old="$1" shift else old='Min' fi old="$(echo "$old" | sed -E 's/\/$//')" new="$(echo "$new" | sed -E 's/\/$//')" new_lower="$(echo "$new" | tr 'A-Z' 'a-z')" old_lower="$(echo "$old" | tr 'A-Z' 'a-z')" cp -r "$old" "$new" cd "$new" find . -type f -print0 | xargs -0 sed -i "s/${old}/${new}/g" find . -type f -print0 | xargs -0 sed -i "s/${old_lower}/${new_lower}/g" cd 'app/src/main/java/com/cirosantilli/android_cheat'
GitHub上游:https://github.com/cirosantilli/android-cheat/blob/0e6b7462705179658b48d0e2e27f0dbce308393c/gradle/template
是的,它并不完美.CLI支持似乎是Google的次要支持:-(