我们有一个电子商务Flutter应用程序,使用flutter_braintree包支付网关(贝宝,信用卡等)。
自从开发人员/开发人员更新包的任何内容以来已经有几个月了。今天当我们试图在PlayStore上发布更新时,它抛出了一个警告,
第一个月
具有此依赖项的包是flutter_braintree。
现在,问题是,我对Android开发一无所知,因为我只使用Flutter。
我现在该怎么办?因为3个月后PlayStore不允许我发布更新。
我也在软件包的仓库中问过这个问题,但是我不认为我会很快得到任何回应。
我已经附上了Flutter医生的React,如果有人需要通过它看。
[✓] Flutter (Channel stable, 2.10.4, on macOS 12.6.8 21G725 darwin-x64, locale en-PK)
• Flutter version 2.10.4 at /Users/macbookpro/src/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision c860cba910 (1 year, 7 months ago), 2022-03-25 00:23:12 -0500
• Engine revision 57d3bac3dd
• Dart version 2.16.2
• DevTools version 2.9.2
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
• Android SDK at /Users/macbookpro/Library/Android/sdk
• Platform android-34, build-tools 33.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• CocoaPods version 1.10.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
字符串
这是android/build.gradle文件(我们的应用程序,而不是braintree)
buildscript {
ext.kotlin_version= "1.5.31"
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath 'com.google.gms:google-services:4.3.10'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
型
这是braintree包的android/build.gradle文件,
group 'com.example.flutter_braintree'
version '1.0'
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
}
}
rootProject.allprojects {
repositories {
google()
jcenter()
maven {
url "https://cardinalcommerceprod.jfrog.io/artifactory/android"
credentials {
username 'braintree'
password 'abc'
}
}
}
}
apply plugin: 'com.android.library'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 21
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
lintOptions {
disable 'InvalidPackage'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'com.braintreepayments.api:drop-in:5.2.1'
implementation 'com.google.android.gms:play-services-wallet:16.0.1'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
components.all {
allVariants {
withDependencies { deps ->
deps.each { dep ->
if (dep.group == 'net.minidev' && dep.name =='json-smart') {
dep.version {
prefer "2.3"
}
dep.because "resolving dependencies issue"
}
}
}
}
}
}
型
在整个项目中有两个名为ivy.xml的文件。一个可以在flutter_braintree(package)的项目目录中的flutter_braintree_master/android/build文件夹中找到,在那里我可以看到这行,
<dependency org="com.google.android.gms" name="play-services-maps" rev="16.0.0" transitive="false" conf="releaseCompileClasspath->default"/>
型
另一个可以在main_project/ios/.symlinks/plugins/flutter_braintree/android/ivy.xml中的android/build文件夹中找到,在那里我可以看到类似的行,
<dependency org="com.google.android.gms" name="play-services-maps" rev="16.0.0" transitive="false" conf="releaseCompileClasspath->default"/>
型
这可能是导致问题的原因。
1条答案
按热度按时间sd2nnvve1#
有同样的问题.寻找依赖并不总是那么简单,至少与Flutter应用程序.要找到哪个应用程序使用依赖:
1.转到FlutterAPP/android目录
1.运行:gradlew app:dependencies
1.找出哪个在输出中使用了dependecny
1.更新软件包到更高版本。
如果软件包没有更新的版本,请尝试手动修复它:
转到Flutter Pub文件夹,然后搜索Cache\hosted\pub.dev\LIBNAME\android\build.gradle文件。
修复依赖关系中的版本。重建应用程序。测试。更新。