我正在尝试通过命令行为我的Android项目生成APK文件。
我正在运行:
我得到的输出是:
然而,我的build/outputs文件夹是空的。当我运行./gradlew assemble时也是如此。
我能找到唯一相关的事情可能是https://gradle.org/docs/current/dsl/org.gradle.language.assembler.tasks.Assemble.html,但我该如何在build.gradle中指定objectFileDir?
注意:运行
安装成功将APK文件安装到我的设备上。
相关的build.gradle文件:
./gradlew clean assembleProductionDebug
我得到的输出是:
:app:processProductionDebugManifest
:app:processProductionDebugResources
:app:generateProductionDebugSources
:app:compileProductionDebugJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
:app:preDexProductionDebug
:app:dexProductionDebug
:app:processProductionDebugJavaRes UP-TO-DATE
:app:validateDebugSigning
:app:packageProductionDebug
:app:zipalignProductionDebug
:app:assembleProductionDebug
BUILD SUCCESSFUL
Total time: 2 mins 29.574 secs
然而,我的build/outputs文件夹是空的。当我运行./gradlew assemble时也是如此。
我能找到唯一相关的事情可能是https://gradle.org/docs/current/dsl/org.gradle.language.assembler.tasks.Assemble.html,但我该如何在build.gradle中指定objectFileDir?
注意:运行
./gradlew clean installProductionDebug
安装成功将APK文件安装到我的设备上。
相关的build.gradle文件:
apply plugin: 'com.android.application'
apply plugin: 'git-dependencies'
apply plugin: 'testfairy'
apply plugin: 'org.robolectric'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.test.androidas"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
signingConfigs {
release {
storeFile file("as.keystore")
storePassword "***"
keyAlias "as"
keyPassword "***"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
productFlavors {
production {
applicationId "com.antsquare.test"
versionCode 1
}
staging {
applicationId "com.antsquare.test.staging"
versionCode 1
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
testfairyConfig {
apiKey '***'
video "wifi"
notify true
testersGroups "ME"
autoUpdate true
videoQuality "low"
videoRate "0.5"
}
}
./gradlew task clean
清理你的项目,然后在控制台中调用./gradlew task build --debug | grep .apk
命令,你将看到 apk 文件的位置。 - Konrad Krakowiak