我之前只在Linux机器上成功构建了一个Android项目;为此,我下载了Android SDK并最终使用gradlew
来构建它,这很好。
现在,我得到了一个包含Android项目源代码的zip;但是,由于我没有这方面的经验,我不知道这个项目是做什么的,也不知道它是如何构建的。目录结构如下所示:
.
├── AndroidManifest.xml
├── assets
├── bin
│ ├── AndroidManifest.xml
│ ├── classes
│ │ └── com # ... .class files here
...
│ ├── jarlist.cache
│ └── res
├── gen
│ └── com # ... BuildConfig.java here
...
│ └── android-support-v4.jar
├── lint.xml
├── proguard-project.txt
├── project.properties
├── res
│ ├── drawable # ... .png files here
...
│ ├── drawable-hdpi # many similar dirs, launcher.png file
...
│ ├── layout # main.xml and other .xml files
...
│ ├── raw # some .json files here
...
│ ├── values # also values-v11, values-v14 dirs; has styles.xml
...
└── src
└── com # .java source files here
...
我在此目录中尝试了How/when to generate Gradle wrapper files?(即gradlew wrapper
和gradlew init
),但即使生成了特定于gradle的文件,我也无法构建 - 因为我无法运行gradlew assemble
或gradlew build
,因为我得到“Task 'assemble' not found in root project
”。
找到Build Android project on command line on OSX: Task 'assembleDebug' not found in root project之后,我想也许它必须用ant
编译,但是失败了“Buildfile: build.xml does not exist!
”(实际上,这样的文件不存在)。
从我读到的内容来看,我想应该下载Android Studio并尝试在那里打开项目 - 但我宁愿不下载/学习/使用另一个IDE(我使用独立的文本编辑器而不是使用,比方说,Eclipse),宁愿通过命令行完成这项工作。
那么我怎么能“重新初始化”这个项目,所以我可以在Linux上使用命令行工具(gradle
或ant
来构建它,不过我想gradle
是首选,显然ant
是not currently supported by Android team)?
答案 0 :(得分:0)
好的,我发现这个项目实际上有一个隐藏文件,.project
,例如:
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
...这意味着这是使用带有ADT插件(http://developer.android.com/sdk/installing/installing-adt.html)的Eclipse构建的,现在已停止支持Android Studio(Migrating to Android Studio | Android Developers)。
知道了这一点,然后我发现了How to create build.xml for an Android project?和ant command does not generating apk file,我从那里尝试了命令:
/path/to/sdk/tools/android update project -p $PWD
...最终确实创建了build.xml
系统使用的ant
- 它似乎通过了(但由于未解析的库依赖关系,构建本身失败了,这是一个不同的主题)。
似乎没有简单的方法可以将基于ant
的项目从命令行转换为gradle
项目 - 甚至通过Android Studio的迁移路径也可能需要手动更改。 / p>