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

时间:2014-12-15 18:26:56

标签: android macos gradle

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

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

不幸的是,gradle不会创建 assembleDebug assembleRelease 目标。

执行./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

步骤:

android create project

使用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

gradle init

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

:wrapper
:init
BUILD SUCCESSFUL

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

我的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)

..和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

在命令行上构建Android项目我缺少什么?

3 个答案:

答案 0 :(得分:3)

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

  1. 使用ant构建您的项目(目前Android团队不支持)
  2. 使用Android Studio生成友好的项目结构。
  3. num 2是Android团队推荐的方法。这就像dl'ing Android Studio和创建一个新项目一样简单。从那里,您应该能够创建一个可以使用./gradlew build

    构建的新项目

答案 1 :(得分:0)

试试这个: ./android create project -p AppPAKTGV -a Main -k com.example.apppaktgv -t android-23 -g -v 0.11。+

它起作用但是当我尝试目标24或25不工作时我现在不会

答案 2 :(得分:-1)

尝试这样做并注意

a)你需要在第3步下输入tools / android(如第2步:执行)     - 但正如所说的蚂蚁结构没有帮助     - 不确定我可以从那里去

b)我遵循建议并确保获得平台工具     - 我可以建立     - 我可以得到那个.apk     - 我可以adb安装(我重命名任何现有的.apk)

似乎在工作!