web-dev-qa-db-ja.com

ルートプロジェクト「Android」にタスク「assembleRelease」が見つかりません

Reactnative 0.54.0react-native-cli 2.0.1に沿って使用していますGradle 4.8.1

create-react-native-app myProjectNameを使用して反応ネイティブプロジェクトを作成しました

プロジェクトを作成したとき、Androidとiosフォルダーが含まれていないため、手動で追加しました。

chocoを使用してgradleもインストールし、gradle wrapper --gradle-version 4.8.1 --distribution-type all

したがって、MicrosoftvsCodeを使用して反応ネイティブを開発し、Genymotionエミュレータを使用してアプリケーションの動作を確認します。すべて正常です。

今、私はPlayストアの最終的なSigned 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オンライン)でビルドするときに、このエラーが発生することを言わなければなりません

2018-07-17T16:20:14.9268702Z ##[error]Error: Not found wrapperScript: D:\a\1\s\gradlew

どんな手がかりも明記されている

更新:@philippが尋ねたように、これはgradlewがリストしたタスクのリストであり、assembleReleaseはそれらの1つではありません!!!!どういう理由ですか?

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も使用し、違いはありません

8
Nasser Hadjloo

assembleReleaseに固有ですか、それともgradlew assembleDebugは機能していますか?

多分cd Android && ./gradlew clean && ./gradlew assembleReleaseをお試しください

アプリの投稿build.gradleも役立ちます。

最初のタスクとして、./gradlew tasksを実行して、gradleが正しく設定され、タスクassembleReleaseがリストされているかどうかを確認することをお勧めします。

5
Philipp

あなたには必要だ settings.gradleファイルをAndroidフォルダに入れます。

3
Edu

assembleReleaseおよびassembleDebugタスクが機能しない場合は、gradlew assemble

2
Acuna

私にとっては、Android_HOMEを設定し、「sdk.dir = C:\ Users\Me\AppData\Local\Android\Sdk」を使用してファイルlocal.propertiesを削除します。 gradleがローカルプロパティを見つけられない場合Android_HOMEで検索します

1