当我在应用中调用此模块时,我正在使用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'
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在您的项目中实施multidex:
implementation 'com.android.support:multidex:1.0.3'
Gradle文件:
multiDexEnabled true
在清单文件中:
android:name=".MyApplication"
使用它的场景是当您的应用由于达到65K DEX方法参考限制而无法编译时。