コマンドラインからgradle
を使用してAndroidプロジェクトを作成する方法(IDEなし)?
Android create project --target 1 --name MyAndroidApp --path ./MyAndroidAppProject --activity MyAndroidAppActivity --package com.example.myandroid
How to create Java gradle project 推奨するAndroid with with Android create project
追加build.gradle
クラシックのテンプレートAndroid project gh.c/N/n-1/b/m/oneeg/docs/Android/build.gradle 。(それは古い構造がより広く採用されているため、どのIDEでも開発できます)
もちろん、いくつかのgradle init
オプションまたはAndroid create
(SDKから)将来的に。
Android SDK 19にはAndroid
CLI -g
gradleテンプレートの使用を許可するオプション。 CLIを使用してAndroid gradleプラグインバージョン-v
オプション、チェック 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の新しいバージョンを使用しますAndroid plugin via--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
)を取得したため、Studio 0.6.1を正しく開くことができませんでした(ソースは表示されません)->インポートするだけでなく、インポートします。
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ツール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 + copy helper script
私が持っている最善の回避策は次のとおりです:
次のヘルパースクリプトを使用すると、次のことができます。
./template NewAppName AppTemplateProject
Android studio:で作成された既存のNewAppName
から新しいアプリAppTemplateProject
を取得するには:
#!/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に次ぐように見えます:-(
ここに解決策があります PHP Android CLI
ただ走れ:
phpandroid create HelloWorld com.example.helloworld
コンパイルとターゲットSDKは29、buildToolsVersionは29.0.1、minSdkは16のように、プロジェクトは最新のAndroid-studioパラメーターでスキャフォールドされます。
変更する場合、たとえば、minSdkを14に設定する場合:
phpandroid create PROJECT PACKAGE --minSdk=14
PHP Android CLIはバリアントとモジュール(アプリケーション/ライブラリ)も作成できます:
phpandroid create PROJECT PACKAGE --modules=common:library,admin --variants=free:type,paid:type,php:backend,firebase:backend
これにより、app
、admin
およびライブラリcommon
の2つのアプリケーションが生成されます。 App
には2つのディメンションがあります:type
&backend
4つのバリアント:free
のpaid
&type
ディメンション。 php
&firebase
ディメンションのbackend
バリアント。