android - 在根项目“android”中找不到任务“assembleRelease”
问题描述
我在gradle 4.8.1旁边使用Reactnative 0.54.0和react-native-cli 2.0.1
我使用create-react-native-app myProjectName创建了一个 react-native 项目
当我创建项目时,它不包括 android 和 ios 文件夹,所以我手动添加了它们。
我还使用choco安装了 gradle ,然后使用gradle wrapper --gradle-version 4.8.1 --distribution-type all创建了一个包装器
所以我正在使用 microsoft vsCode开发 react-native ,然后使用Genymotion模拟器查看我的应用程序,一切都很好
现在,我想为 Play 商店生成最终的签名 APK,我正在使用 react-native 提供的本指南
https://facebook.github.io/react-native/docs/signed-apk-android.html
当我想运行gradlew assembleRelease我得到这个错误
C:\myApp\android>gradlew assembleRelease
FAILURE: Build failed with an exception.
* What went wrong:
Task 'assembleRelease' not found in root project 'android'.
* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 4s
assembleRelease 有什么问题?我应该怎么办?
要添加更多信息,我不得不说,当我想在 VSTS(TFS Online)中构建这个项目时,我得到了这个错误
2018-07-17T16:20:14.9268702Z ##[error]Error: Not found wrapperScript: D:\a\1\s\gradlew
任何线索都值得感谢
更新: 正如@philipp 所问,这是 gradlew 列出的任务列表,而 assembleRelease 不是其中之一!!!!什么原因?
C:\myApp\Android>gradlew tasks
> Task :tasks
------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------
Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.
Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'android'.
components - Displays the components produced by root project 'android'. [incubating]
dependencies - Displays all dependencies declared in root project 'android'.
dependencyInsight - Displays the insight into a specific dependency in root project 'android'.
dependentComponents - Displays the dependent components of components in root project 'android'. [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'android'. [incubating]
projects - Displays the sub-projects of root project 'android'.
properties - Displays the properties of root project 'android'.
tasks - Displays the tasks runnable from root project 'android'.
To see all tasks and more detail, run gradlew tasks --all
To see more detail about a task, run gradlew help --task <task>
BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
这是 myApp\android**build.gradle**
project.ext.react = [
bundleInStaging: true
]
task wrapper(type: Wrapper) {
gradleVersion = '4.8.1'
}
android {
defaultConfig {
applicationId "com.sunkime.client"
}
signingConfigs {
staging {
keyAlias = "staging"
storeFile = file("my-release-key.keystore")
keyPassword = "qwert%$#@!"
storePassword = "qwert%$#@!"
}
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword qwert%$#@!
keyAlias qwert%$#@!
keyPassword qwert%$#@!
}
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
staging {
applicationIdSuffix ".staging"
signingConfig signingConfigs.staging
minifyEnabled true
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
release {
applicationIdSuffix ".release"
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
}
我也用过gradlew clean没区别
解决方案
它是特定的assembleRelease
还是gradlew assembleDebug
有效的?
也许试试cd android && ./gradlew clean && ./gradlew assembleRelease
发布您的应用程序build.gradle
也会有所帮助。
作为第一个任务,我建议运行./gradlew tasks
以检查 gradle 是否设置正确并assembleRelease
列出任务。
推荐阅读
- python - Python,将 n x m numpy 数组与 n 大小的 numpy 数组进行比较
- php - Laravel 5.7:如何使用多个框发送联系表
- c# - 字体 Aharoni 不支持常规样式
- php - 如何从无法安装任何东西的服务器发送电子邮件?
- c# - 有人可以向我解释一下这个 Chunk Size 值吗
- sql - BigQuery 标准 SQL:将值设置为正无穷或负无穷
- java - 未调用 Rest Controller 中的获取服务
- java - Java链表指针垃圾回收
- ios - 在 Metal 中从 IOSurface 获取纹理
- python - 使用pytorch进行反向传播的两个操作有什么区别?