代码之家  ›  专栏  ›  技术社区  ›  Nasser Hadjloo

在根项目“android”中找不到任务“assembleRelease”

  •  2
  • Nasser Hadjloo  · 技术社区  · 6 年前

    我在用 反应性0.54.0 react native cli 2.0.1版 沿边 梯度4.8.1

    我使用 创建react native app myProjectName

    当我创建这个项目时,它不包括android和ios文件夹,所以我手动添加了它们。

    我还安装了gradle 巧克力 然后使用 gradle包装器--gradle版本4.8.1--所有分发类型

    所以我正在用微软开发react native 甚小码 然后使用 发育 模拟器,一切都很好

    现在,我要生成最终的 签署的APK 对于play store,我使用react native提供的指南

    https://facebook.github.io/react-native/docs/signed-apk-android.html

    当我想跑的时候 gradlew集合 我知道这个错误

    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
    

    AssemblerEasy有什么问题?我该怎么办?

    为了添加更多信息,我不得不说,当我想在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清洁 没有区别

    3 回复  |  直到 6 年前
        1
  •  3
  •   Philipp    6 年前

    是专门为 assembleRelease 或是 gradlew assembleDebug 工作?

    也许可以试试 cd android && ./gradlew clean && ./gradlew assembleRelease

    发布你的应用 build.gradle 也有帮助。

    作为第一个任务,我建议运行 ./gradlew tasks 检查gradle设置是否正确以及任务 集合性 已列出。

        2
  •  0
  •   scopchanov    6 年前

    你需要一个 settings.gradle 文件到你的Android文件夹。

        3
  •  0
  •   Acuna    5 年前

    如果 assembleRelease assembleDebug 任务不起作用,你可以试试 gradlew assemble

        4
  •  0
  •   Wagner dos Santos    5 年前

    对于我来说,可以使用“sdk.dir=C:\ Users\me\AppData\local\ANDROID\sdk”设置ANDROID\u HOME并删除文件local.properties。当gradle找不到本地属性时,它会在ANDROID_HOME中搜索