如何在命令行中使用gradle
创建安卓项目(不使用任何IDE)?
android create project --target 1 --name MyAndroidApp --path ./MyAndroidAppProject --activity MyAndroidAppActivity --package com.example.myandroid
如何在命令行中使用gradle
创建安卓项目(不使用任何IDE)?
android create project --target 1 --name MyAndroidApp --path ./MyAndroidAppProject --activity MyAndroidAppActivity --package com.example.myandroid
android create project
创建Android项目,然后添加build.gradle
模板以用于经典的Android项目gh.c/N/n-1/b/m/o.n.e.e.g/docs/android/build.gradle。(这样可以在任何IDE中开发,因为旧的结构更广泛地被采用。)gradle init
选项或者android create
(来自SDK)。
android
CLI -g
选项,允许使用gradle模板。您可能还需要使用CLI -v
选项指定android gradle插件版本,请检查android 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
如果使用buildTools 19.1+,则需要通过--gradle-version
使用更新版本的Gradle Android插件:
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
}
}
android create project
在SDK tools 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模板和复制助手脚本
我最好的解决方法是:
下面的助手脚本可以让你做到:
./template NewAppName AppTemplateProject
从使用Android Studio创建的现有AppTemplateProject
中获取一个新应用程序NewAppName
:
#!/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'
是的,它不完美。但CLI支持似乎次于Google,所以你能做什么:-(
这里是解决方案:PHP Android CLI
只需运行:
phpandroid create HelloWorld com.example.helloworld
如果您的项目使用最新版的Android Studio参数进行搭建,例如编译和目标SDK为29,buildToolsVersion为29.0.1且minSdk为16。
如果您想做出更改,例如将minSdk设置为14:
phpandroid create PROJECT PACKAGE --minSdk=14
phpandroid create PROJECT PACKAGE --modules=common:library,admin --variants=free:type,paid:type,php:backend,firebase:backend
app
、admin
和一个库 common
。
App
有两个维度:类型
和 后端
,共有四个变体: 类型
维度的 免费
和 付费
变体;后端
维度的 php
和 firebase
变体。