我的颤振应用程序没有从 release.apk 中的 api 获取数据,但在调试模式下工作
Posted
技术标签:
【中文标题】我的颤振应用程序没有从 release.apk 中的 api 获取数据,但在调试模式下工作【英文标题】:My flutter app not fetching data from api in release.apk but works in debug mode 【发布时间】:2020-12-22 15:13:04 【问题描述】:我的 android 应用程序在颤振中没有从 release.apk 中的 api 获取数据,但在调试模式或模拟器中工作正常,我尝试了一切我还在我的 AndroidManifest.xml 代码中添加了互联网权限,但对我没有任何作用。请解决我对flutter和android开发不熟悉的问题。
app/src/main 文件代码中的AndroidManifest
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="xyz">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:networkSecurityConfig="@xml/network_security_config"
android:name="io.flutter.app.FlutterApplication"
android:requestLegacyExternalStorage="true"
android:usesCleartextTraffic="true"
tools:ignore="UnusedAttribute"
android:label="xyz"
android:icon="@mipmap/ic_launcher"
tools:targetApi="q">
<provider
android:name="vn.hunghd.flutterdownloader.DownloadedFileProvider"
android:authorities="$applicationId.flutter_downloader.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
<activity
android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<!-- Displays an Android View that continues showing the launch screen
Drawable until Flutter paints its first frame, then this splash
screen fades out. A splash screen is useful to avoid any visual
gap between the end of Android's launch screen and the painting of
Flutter's first frame. -->
<meta-data
android:name="io.flutter.embedding.android.SplashScreenDrawable"
android:resource="@drawable/launch_background"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
【问题讨论】:
谢谢..请回答我的问题 你有没有找到解决办法。我也陷入了同样的境地? 【参考方案1】:请先隐藏您的 api 密钥。 api不工作一定是因为api键。你需要不同的。关注这个
Android: automatically choose debug/release Maps v2 api key?
【讨论】:
【参考方案2】:我通过在 buildTypes 下的 android/app/build.gradle 文件中添加 shrinkResources false 和 minifyEnabled false 解决了这个问题
buildTypes
release
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
shrinkResources false
minifyEnabled false
signingConfig signingConfigs.debug
【讨论】:
以上是关于我的颤振应用程序没有从 release.apk 中的 api 获取数据,但在调试模式下工作的主要内容,如果未能解决你的问题,请参考以下文章
反编译flutter release apk。在哪里可以找到源代码?
flutter app release apk 打不开摄像头
为啥flutter release apk会崩溃? [关闭]
在构建发布 apk 后,我的颤振应用程序没有从 http 获取数据 [重复]