android - 在根项目 'assembleRelease' 中找不到任务 'android'

标签 android react-native gradle azure-devops gradlew

我正在使用 Reactnative 0.54.0react-native-cli 2.0.1 以及 gradle 4.8.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

关于android - 在根项目 'assembleRelease' 中找不到任务 'android',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51397363/

相关文章:

java - 蓝牙聊天示例和上下文参数

android - 当输入类型为文本密码时,如何从软输入键盘中​​删除表情符号选项

javascript - React-native 选择器默认值

java - Android Studio 3.1.3 Gradle 同步错误。无法下载 Gradle-Core.jar

Android:使用 ContactsContract 插入意​​图设置联系人照片

Android 12 启动画面不会动画

android - Gradle 构建工具找不到 runtime.jar?

react-native - 如何从 React Native Picker 获取值和标签名称?

maven - 我在 Android Studio 中出现 gradle 同步错误, "Could not find method calsspath() for arguments [com.github.dcendents:android-maven-gradle-plugin:2.0]"

gradle - Process 'command ' C :\Program Files\Java\jdk\bin\java. exe''以非零退出值1 eclipse完成