【发布时间】:2015-03-11 18:48:38
【问题描述】:
我正在尝试在命令行上为我的 android 项目生成一个 APK。 我在跑步
./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 组装
我可以搜索的唯一相关内容可能是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"
}
}
【问题讨论】:
-
你试图在哪里找到这个文件?此文件在 Android Studio 中不可见
-
它是{project}/app{或你的模块的文件夹}/build/outputs/apk/*.apk
-
文件是指APK吗?我在 /
/build/outputs/apk/ 中寻找它 -
是的,如果不清理你的项目并运行
./gradlew build -
在
/build/ 我没有输出文件夹,只有中间文件夹。我手动创建了输出/apk/,但它仍然没有放在那里