nit*_*k72 3 android dart flutter
我已经运行它 flutter build apk来发布我的应用程序.现在我构建了verison 2.
现在我又要发布我的版本2 App.To得到发布apk我再次运行这个flutter build apk.我被释放apk但它是我的版本1发布apk.我去了我发布的目录并删除了我删除的已发布的apk并再次尝试然后我也得到verion 1发布的apk.

在构建版本2时,我正在调试模式下进行测试.在粪便模式下,正常工作正常.
这是应用程序的Github链接:https://github.com/nitishk72/Flutter-Github-API
Jua*_*dez 55
如果您的问题是flutter build (APK, bundle) 没有在真实设备中进行 API 调用,这是因为您需要在创建发布/构建之前将 Internet 权限添加到 Android Manifest。
默认情况下,“互联网使用”在模拟器上可以正常工作,但不能在真实设备上正常工作。
要解决这个问题,只需:
打开文件“android/app/src/main/AndroidManifest.xml”并添加适当的用户权限:
<manifest>
...
<uses-permission android:name="android.permission.INTERNET"/>
...
</manifest>
Run Code Online (Sandbox Code Playgroud)
然后再次创建您的构建。
Gün*_*uer 16
我想你需要
flutter clean
Run Code Online (Sandbox Code Playgroud)
(我认为这是一个必要的错误,但我也遇到过它)
和
flutter build apk --release
Run Code Online (Sandbox Code Playgroud)
sus*_*ngh 14
我遇到了同样的问题“应用程序在调试模式下正常工作,但在发布模式下不能正常工作”。我不知道为什么......但最后,我通过shrinkResources false minifyEnabled false在 android/app/build.gradle 文件中添加这些行来解决。
buildTypes {
release {
signingConfig signingConfigs.config
shrinkResources false
minifyEnabled false
}
}
Run Code Online (Sandbox Code Playgroud)
Bok*_*ken 10
当您创建新的 Flutter 项目时(从 Android Studio 菜单),在文件中:
/android/app/build.gradle
Run Code Online (Sandbox Code Playgroud)
你有:
buildTypes {
release {
signingConfig signingConfigs.debug // <--- HERE YOU ARE USING DEBUG KEY
}
}
Run Code Online (Sandbox Code Playgroud)
这意味着release构建(例如从菜单触发Build -> Flutter -> Build APK)将使用debug密钥进行签名。
完整build.gradle文件(由 Android Studio 创建):

更改自:
signingConfig signingConfigs.debug
Run Code Online (Sandbox Code Playgroud)
到:
signingConfig signingConfigs.release
Run Code Online (Sandbox Code Playgroud)
所以(在build.gradle)你应该有:
buildTypes {
release {
signingConfig signingConfigs.release
}
}
Run Code Online (Sandbox Code Playgroud)
当您遇到错误时- 只需在 中Could not get unknown property 'release' for SigningConfig添加部分,因此:releasebuild.gradle
确保您的 android Manifest具有Internet 权限
<manifest>
...
<uses-permission android:name="android.permission.INTERNET"/>
...
</manifest>
Run Code Online (Sandbox Code Playgroud)
在android\build.gradle设置您的依赖项以使用classpath 'com.android.tools.build:gradle:3.5.1'
不是 classpath 'com.android.tools.build:gradle:4.1.0
像这样:
dependencies {
classpath 'com.android.tools.build:gradle:3.5.1'
...
}
Run Code Online (Sandbox Code Playgroud)
添加以下行android\app\src\mainAndroid manifest
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)
然后添加这些行android\app\build.gradle
buildTypes {
release {
shrinkResources false
minifyEnabled false
}}
Run Code Online (Sandbox Code Playgroud)
apk使用以下命令进行构建。
flutter build apk --no-shrink
或者
flutter build apk --split-per-abi --no-shrink
两种解决方案都适合我,但我个人推荐第二种
您可以在 local.properties android 项目中更改
sdk.dir=D:/SDK //your android SDK location
flutter.sdk=D:\\Flutter\\flutter //your flutter SDK location
flutter.versionName=1.0.0
flutter.versionCode=2
flutter.buildMode=release
Run Code Online (Sandbox Code Playgroud)android/app/build.gradle 文件中的更改
buildTypes {
release {
// if everything ok then not add
//minifyEnabled true
//another you can remove minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-
android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
Run Code Online (Sandbox Code Playgroud)您还可以在 android/app/build.gradle defaultConfig 方法主体中进行更改。
multiDexEnabled true
Run Code Online (Sandbox Code Playgroud)如果您想迁移到 androidx,请进行设置。
依赖关系 { testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' 实现 'androidx.multidex:multidex:2.0.1'
}
并在按照此 cmd 创建构建文件夹之前进行清理。
- flutter clean
- flutter build apk --release
- flutter install
Run Code Online (Sandbox Code Playgroud)6.发布Apk位置。
in `android studio termial` or inside `project-root` you can navigate to this.
cd build\app\outputs\apk\release
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8310 次 |
| 最近记录: |