您好,我通过使用flutter完成了我的第一个简单应用程序。 我想将我的应用注册到Playstore中,因此我尝试通过阅读Flutter文档使其与文件捆绑在一起。
Flutter版本:1.12.13 + hotfix.5
Dart版本:2.7.0
java(jdk)版本:1.8.0_241(我已经安装了Java 11,但是昨天删除了它并安装了Java 8)
Java二进制文件位于:C:\ Program Files \ Android \ Android Studio \ jre \ bin \ java
我创建了key.jks文件,并按照flutter文档中的说明替换了build.gradle文件中的代码。这是我的build.gradle文件。
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
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"
android {
compileSdkVersion 28
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "co.my.everytime_quizz"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
但是当我运行 flutter build appbundle 时,出现错误。
错误说这部分( def flutterRoot = localProoperties.getProperty('flutter.sdk'))对此消息有问题
* What went wrong:
A problem occurred evaluating project ':app'.
> Could not get unknown property 'localProperties' for project ':app' of type org.gradle.api.Project
.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more l
og output. Run with --scan to get full insights.
但是文档没有说明如何更改line7〜line20。
当我运行 flutter doctor --android-licenses 时,
A newer version of the Android SDK is required. To update, run:
C:\Users\zxaq1\AppData\Local\Android\sdk\tools\bin\sdkmanager --update
所以我尝试了它所说的内容(...... \ sdkmanager --udpate),此错误出现了
Error: Could not find or load main class '-Dcom.android.sdklib.toolsdir=c:\Users\zxaq1\AppData\Local
\Android\Sdk\tools\bin\\..
有人说这与某个路径问题有关,但我不知道如何解决。 我的主要问题是什么?如何解决这两个问题?