开发者社区 问答 正文

无法将请求的类放入单个dex文件中(#方法:69356> 65536)

当我在应用中调用此模块时,我正在使用fire base构建一个聊天模块,它显示如下:

无法将请求的类放入单个dex文件中(#方法:69356> 65536)

我已经添加了multidex依赖项,但是我认为这不是一个完美的解决方案

主要活动


public class MainActivity extends AppCompatActivity {

    Button button;
    Digichat digichat;
    String[] mem ={"q16525","3225","156125","27272"};
    String[] adm ={"1055"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button= findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                digichat.CreateGroup("Chat","Group","KBFC","ASFFDSFSDS","1055",mem,adm);


            }
        });
    }
}

这是我的模块功能

 public String CreateGroup(String node_name,String node_2 ,String group_name,String group_image,String userid,String[] Membeid,String[] admins ){

        Map<String, String> values = new HashMap<>();
        values.put("Groupname", group_name);
        values.put("img", group_image);
        DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child(node_name).child(node_2).child(group_name).child("Group properties");
        reference.setValue(values);
        DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child(node_name).child(node_2).child(group_name).child("Groupmembers");
        List member = new ArrayList<String>(Arrays.asList(Membeid));
        ref.setValue(member);

        DatabaseReference ref2 = FirebaseDatabase.getInstance().getReference().child(node_name).child(node_2).child(group_name).child("Admin");
        List adminlist = new ArrayList<String>(Arrays.asList(admins));
        ref2.setValue(adminlist);
        return group_name;
    }

我的模块依赖性:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"


    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles 'consumer-rules.pro'
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.google.firebase:firebase-storage:11.4.2'
    implementation 'com.google.firebase:firebase-auth:11.4.2'
    implementation 'com.google.firebase:firebase-database:11.4.2'
    implementation 'com.google.firebase:firebase-core:11.4.2'
    implementation 'com.google.firebase:firebase-messaging:11.4.2'
    implementation 'com.google.android.gms:play-services:11.4.2'
    implementation 'com.google.android.gms:play-services-base:11.4.2'
}

展开
收起
Puppet 2020-01-14 22:34:40 667 分享 版权
1 条回答
写回答
取消 提交回答
  • 在您的项目中实施multidex:

    
    implementation 'com.android.support:multidex:1.0.3'
    

    Gradle文件:

    multiDexEnabled true
    

    在清单文件中:

    android:name=".MyApplication"
    

    使用它的场景是当您的应用由于达到65K DEX方法参考限制而无法编译时。

    2020-01-14 22:35:12
    赞同 展开评论
问答分类:
问答地址: