在OSX上的命令行上构建Android项目:在根项目中找不到任务'assembleDebug'

der*_*unk 10 macos android gradle

我正在尝试使用这个操作方法在OSX(Mavericks 10.9.5)命令行上构建Android项目:http://developer.android.com/tools/building/building-cmdline.html.

本方法文档解释了使用assembleDebug/assembleRelease构建Android项目.

不幸的是,gradle不会创建assembleDebugassembleRelease目标.

执行./gradlew assembleDebug返回此:

FAILURE: Build failed with an exception.

* What went wrong:
Task 'assembleDebug' not found in root project 'test'.

* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack     trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.826 secs
Run Code Online (Sandbox Code Playgroud)

脚步:

android创建项目

测试项目已创建 android create project --path . --name "DummyAPK" --target android-21 --package com.dummyapk.dummyapk --activity DummyActivity

哪个回来了

Created directory /Users/user/Documents/test/src/com/dummyapk/dummyapk
Added file ./src/com/dummyapk/dummyapk/DummyActivity.java
Created directory /Users/user/Documents/test/res
Created directory /Users/user/Documents/test/bin
Created directory /Users/user/Documents/test/libs
Created directory /Users/user/Documents/test/res/values
Added file ./res/values/strings.xml
Created directory /Users/user/Documents/test/res/layout
Added file ./res/layout/main.xml
Created directory /Users/user/Documents/test/res/drawable-xhdpi
Created directory /Users/user/Documents/test/res/drawable-hdpi
Created directory /Users/user/Documents/test/res/drawable-mdpi
Created directory /Users/user/Documents/test/res/drawable-ldpi
Added file ./AndroidManifest.xml
Added file ./build.xml
Added file ./proguard-project.txt
Run Code Online (Sandbox Code Playgroud)

gradle init

之后我执行了gradle init,返回了

:wrapper
:init
BUILD SUCCESSFUL
Run Code Online (Sandbox Code Playgroud)

gradlew任务

gradlew tasks返回查询可用任务(是不是缺少什么?)

:tasks

------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------

Build Setup tasks
-----------------
init - Initializes a new Gradle build. [incubating]
wrapper - Generates Gradle wrapper files. [incubating]

Help tasks
----------
components - Displays the components produced by root project 'test'. [incubating]
dependencies - Displays all dependencies declared in root project 'test'.
dependencyInsight - Displays the insight into a specific dependency in root project 'test'.
help - Displays a help message.
projects - Displays the sub-projects of root project 'test'.
properties - Displays the properties of root project 'test'.
tasks - Displays the tasks runnable from root project 'test'.

To see all tasks and more detail, run with --all.

BUILD SUCCESSFUL

Total time: 3.474 secs
Run Code Online (Sandbox Code Playgroud)

我的Java版本是

java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
Run Code Online (Sandbox Code Playgroud)

..和Gradle版本(通过brew安装)是

------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------

Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_60 (Oracle Corporation 24.60-b09)
OS:           Mac OS X 10.9.5 x86_64
Run Code Online (Sandbox Code Playgroud)

在命令行上构建Android项目我错过了什么?

bro*_*wep 4

android create project不会创建 gradle 友好的结构。它创建了一个ant友好的结构。根据您的意图,您有两种选择。

  1. 使用 ant 构建您的项目(Android 团队目前不支持)
  2. 使用Android Studio生成gradle友好的项目结构。

num 2 是 Android 团队推荐的方法。就像下载Android Studio并创建一个新项目一样简单。从那里您应该能够创建一个可以使用以下命令构建的新项目./gradlew build

  • 如果这不是人们想要的,那么为什么它仍然在“入门”文档中。有没有人得到任何关于需要做什么才能使其对 gradle 友好的指示? (6认同)
  • android studio 做了哪些“android create project”不做的事情?android网站有关于[创建](http://developer.android.com/tools/projects/projects-cmdline.html)和[构建][(http://developer.android.com/tools/building/ Building-cmdline.html) 一个来自命令行的 Android 应用程序 - 你认为这是可能的,但我遵循了这些说明,并且得到了与 derFunk 相同的错误... (2认同)