Как заполнить файл build.gradle в Android Studio для развертывания приложения Flutter? - PullRequest
0 голосов
/ 18 июня 2020

build.gradle_pic1

build.gradle_pic2

build.gradle_pic3

build.gradle_pic4

Я пытаюсь создать appbundle. У меня есть готовый файл key.jks для go. Насколько мне известно, я правильно следил за Flutter.dev/AndroidDeployment? Это мое первое развертывание приложения. Лучше всего вручную изменить файл build.gradle на go? Я знаю, что в Android Studio есть элемент структуры пользовательского интерфейса, в котором есть выпадающие меню и тому подобное, что я безуспешно пытался. В любом случае, как я уже сказал, все, что я сделал, это следил за Flutter.dev при развертывании Android, и теперь я застрял и думаю, что моя проблема находится где-то в build.gradle, учитывая, что под ним всегда отображаются красные линии ошибок. Может ли кто-нибудь взглянуть на то, что у меня есть, и направить меня в правильном направлении? Я изменил личные части по понятным причинам. Спасибо!

Вот код:

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with
flutter.sdk in the local.properties file.")`
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    compileSdkVersion 28

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        disable 'InvalidPackage'
    }

defaultConfig {
    applicationId "com.changed_text.techhelprelease"
    minSdkVersion 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0.0"
    signingConfig signingConfigs.release
}

signingConfigs {
    release {
        keyAlias keystoreProperties['key']
        keyPassword keystoreProperties['changedText']
        storeFile keystoreProperties['C:\\changedText\\key.jks'] ? file(keystoreProperties['C:\\changedText\\key.jks']) : null
        storePassword keystoreProperties['changedText']
    }
}

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

1 Ответ

1 голос
/ 19 июня 2020

Проблема заключалась в следующем:

signingConfigs {
    release {
        keyAlias keystoreProperties['key']
        keyPassword keystoreProperties['changedText']
        storeFile keystoreProperties['C:\\changedText\\key.jks'] ? file(keystoreProperties['C:\\changedText\\key.jks']) : null
        storePassword keystoreProperties['changedText']
    }
}

Должно было остаться по умолчанию из Flutter.dev, а именно:

signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
           storePassword keystoreProperties['storePassword']
       }
   }

А потом я понял, что, должно быть, случайно вставил строка подписи, которой она не принадлежала, что каждый раз вызывало ошибку. Итак, это:

defaultConfig {
    applicationId "com.changed_text.techhelprelease"
    minSdkVersion 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0.0"
    signingConfig signingConfigs.release
}

Не должно быть последней строки. Исправлено:

defaultConfig {
    applicationId "com.changed_text.techhelprelease"
    minSdkVersion 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0.0"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...