给定代码的应用程序大小非常大,是因为SDK吗?

问题描述 投票:0回答:1

我在flutter中使用zego Cloud开发了一个简单的语音通话应用程序,用于一对一的语音通话。我想在我的应用程序中使用此功能,但问题是此功能的应用程序大小几乎为 80 mb。为什么会变得这么大?是由于zego cloud sdk还是其他原因?他们有什么方法可以减少应用程序的大小。如果没有,您可以建议我使用带有颤动通知的语音通话的另一种选择吗?下面给出的是我的代码-

import 'package:flutter/material.dart';
import'package:zego_uikit_prebuilt_call/zego_uikit_prebuilt_call.dart';
import 'dart:math' as math;
final String userID=math.Random().nextInt(1000).toString();
void main() {

  runApp(const MyApp());
}
class MyApp extends StatelessWidget{
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home:  Audiocalling(),
    );
  }
}
class Audiocalling extends StatefulWidget {
  @override
  State<Audiocalling> createState() => _AudiocallingState();
}
class _AudiocallingState extends State<Audiocalling> {
  final _controller=TextEditingController();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("ZEGOCLOUD Audio Calling"),
          centerTitle: true,
        ),
        body:Column(
          children: [
            TextFormField(
              controller: _controller,
              decoration: InputDecoration(
                  labelText: "Enter UId"
              ),

            ),
            ElevatedButton(onPressed: (){
              Navigator.push(context, MaterialPageRoute(builder: (builder)=>cllingId(CallingId: _controller.text.toString())));
            }, child: Text("Join")),
          ],
        )
    );
  }
}
class cllingId extends StatelessWidget {
  final String CallingId;
  const cllingId({required this.CallingId});
  @override
  Widget build(BuildContext context) {
    return SafeArea(child: ZegoUIKitPrebuiltCall(appID: 1205379035,
      appSign: 'fe1e7fcc992c93ef405d505e275a4b99f02a158eb6bb3fc313b0652ac59a19e3',
      callID: CallingId,
      userID: userID,
      userName:"user_$userID" ,
      config: ZegoUIKitPrebuiltCallConfig.oneOnOneVoiceCall()
    ));
  }
}

我尝试了解应用程序的大小并询问chatgpt,但我没有得到任何解决方案。我也期待任何其他选择。

android flutter sdk voice zegocloud
1个回答
0
投票

尝试将其添加到您的 app/build.gradle

minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

创建一个专业公会文件添加此

-keep class **.zego.** { *;}
-keep class **.**.zego_zpns.** { *;}
-keep class **.**.zpns.** { *;}
-keep class **.**.hms.** { *;}
-keep class **.heytap.** { *;}
-keep class **.vivo.** { *;}
-keep class **.**.mipuch.** { *;}
# Retrofit
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes *Annotation*

# Firebase
-keep class com.google.firebase.** { *; }
-dontwarn com.google.firebase.**

将其添加到您的 gredle.properties

android.enableR8.fullMode=true
android.enableR8=true
© www.soinside.com 2019 - 2024. All rights reserved.