e/androidruntime:致命异常:main process:com.eldercare.fajri.eldercare,pid:30948 java.lang.noClassDefFounderror:解析失败:lcom/google/android/gms/common/internal/zzbp;在com.google.firebase.firestore.firebase.firestore.zze(未知来源)在com.google.firebase.firestore.firebase.firebaseFirestore.getinstance(未知来源)在com.eldercare.fajri.eldercare.boundary.homeactivity.oncreate(未知来源)在android.app.activity.performcreate(homeactivity.java:71)在android.app.activity.performcreate itythread.java:2842),android.app.activitythread.-wrap12(activitythread.java),android.app.activitythread.h.h.handlemessage(activitythread.java:1560),android.os.handler.dispatchmessage(handler.java:110),android.os.handler.lapper.looper.main(activitythread.java:203),android.app.activitythread.main(activitythread.jav76)在com.android.internal.os.zygoteinit.main(Zygoteinit.java:937)原因:java.lang.ClassNotFoundException:在路径:dexpathList[[zip文件“/data/app/com.eldercare.fajri.eldercare-1/base.apk”],nativelibraryDirectories=[/data/app/com.eldercare.fajri.eldercare-1/lib/arm64,/system/lib64,/vendor/lib64,/system/vendor/lib64]]处.java:380)在java.lang.classloader.loadclass(classloader.java:312)在com.google.firebase.firestore.firebase.firebase.firebaseFirestore.zze(来源未知) 在com.google.firebase.firebase.firebase.firebase.firebase.firebase.firebase.firebaseFirestore.getinstance(来源未知) 在ITYThread.java:2730) 在Android.app.activitythread.handlelaunchactivity(activitythread.java:2842) 在Android.app.activitythread.-Wrap12(activitythread.java) 在Android.app.activitythread.-Wrap12(activitythread.java) 在Android.app.activitythread.$H.HandleMessage(activitythread.java:1560) 在Android.os.handler.dispatchMessage(.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1076) 在com.android.internal.os.zygoteinit.main(zygoteinit.java:937)
这是我的建筑。格雷德尔:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.eldercare.fajri.eldercare"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.RDescActivity.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:support-vector-drawable:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-firestore:11.4.2'
implementation 'com.google.firebase:firebase-auth:16.0.1'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:recyclerview-v7:26.1.0'
implementation 'com.github.d-max:spots-dialog:0.7@aar'
implementation 'com.rengwuxian.materialedittext:library:2.1.4'
implementation "com.google.android.gms:play-services-base:15.0.1"
implementation "com.google.android.gms:play-services-gcm:15.0.1"
implementation 'com.github.wdullaer:MaterialDateTimePicker:v3.0.0'
implementation 'com.github.ganfra:material-spinner:1.1.1'
implementation 'gr.pantrif:easy-android-splash-screen:0.0.1'
androidTestImplementation 'org.testng:testng:6.9.6'
}
apply plugin: 'com.google.gms.google-services'
这是我的项目。格雷德尔:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven{
url "http://maven.google.com"
}
maven{
url "https://jitpack.io"
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
家庭活动:
package com.eldercare.fajri.eldercare.boundary;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.AppCompatButton;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;
import com.eldercare.fajri.eldercare.control.ListItemReminderAdapter;
import com.eldercare.fajri.eldercare.control.Reminder;
import com.eldercare.fajri.eldercare.R;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.firestore.CollectionReference;
import com.google.firebase.firestore.DocumentSnapshot;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.QuerySnapshot;
import com.rengwuxian.materialedittext.MaterialEditText;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import dmax.dialog.SpotsDialog;
public class HomeActivity extends AppCompatActivity {
List<Reminder> reminderList = new ArrayList<>();
FirebaseFirestore db;
RecyclerView listItem;
Reminder reminder;
RecyclerView.LayoutManager layoutManager;
public static Activity ha;
FloatingActionButton fab;
AppCompatButton next,prev;
public String date;
public TextView thedate;
public MaterialEditText title,description,time;
public boolean isUpdate = false;
public boolean menu=false;
public String idUpdate;
ListItemReminderAdapter adapter;
SpotsDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
ha = this;
db = FirebaseFirestore.getInstance();
thedate = (TextView)findViewById(R.id.thedate);
dialog = new SpotsDialog(this);
title = (MaterialEditText)findViewById(R.id.title);
description = (MaterialEditText)findViewById(R.id.description);
time = (MaterialEditText)findViewById(R.id.time);
final Calendar now;
now = Calendar.getInstance();
int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH);
int day = now.get(Calendar.DAY_OF_MONTH);
final String today = (day +"-"+(month+1)+"-"+ year);
date = today;
thedate.setText(today);
if(thedate.getText().equals(today)){
thedate.setText("Today");
}
prev = (AppCompatButton)findViewById(R.id.prev);
prev.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
now.add(Calendar.DAY_OF_MONTH,-1);
int day = now.get(Calendar.DAY_OF_MONTH);
int month=now.get(Calendar.MONTH);
if(day<1) {
now.add(Calendar.MONTH,-1);
}
int year = now.get(Calendar.YEAR);
if ((month+1)<1){
now.add(Calendar.YEAR,-1);
}
date = (day +"-"+(month+1)+"-"+ year);
thedate.setText(day +"-"+(month+1)+"-"+ year);
if(thedate.getText().equals(today)){
thedate.setText("Today");
}
loadData();
}
});
next = (AppCompatButton)findViewById(R.id.next);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int dlong,mlong;
dlong = now.getActualMaximum(Calendar.DAY_OF_MONTH);
mlong = now.getActualMaximum(Calendar.MONTH);
now.add(Calendar.DAY_OF_MONTH,+1);
int day = now.get(Calendar.DAY_OF_MONTH);
int month=now.get(Calendar.MONTH);
if(day>dlong) {
now.add(Calendar.MONTH,+1);
}
int year = now.get(Calendar.YEAR);
if (month>mlong){
now.add(Calendar.YEAR,+1);
}
date = (day +"-"+(month+1)+"-"+ year);
thedate.setText(day +"-"+(month+1)+"-"+ year);
if(thedate.getText().equals(today)){
thedate.setText("Today");
}
loadData();
}
});
thedate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH);
int day = now.get(Calendar.DAY_OF_MONTH);
DatePickerDialog mDatePicker = new DatePickerDialog(HomeActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
date = (dayOfMonth +"-"+(month+1)+"-"+ year);
thedate.setText(dayOfMonth+"-"+(month+1)+"-"+year);
if(thedate.getText().equals(today)){
thedate.setText("Today");
}
now.set(year,month,dayOfMonth);
loadData();
}
},year, month, day);
mDatePicker.show();
}
});
fab = (FloatingActionButton)findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(HomeActivity.this,ReminderActivity.class);
intent.putExtra("isUpdate","false");
startActivity(intent);
}
});
listItem = (RecyclerView)findViewById(R.id.Reminder);
listItem.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
listItem.setLayoutManager(layoutManager);
loadData();
}
public void loadData() {
dialog.show();
CollectionReference cr = db.collection("Reminder").document(date).collection("remind");
if(reminderList.size() > 0)
reminderList.clear();
cr.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
for (DocumentSnapshot doc:task.getResult())
{
reminder = new Reminder(doc.getString("id"),
doc.getString("Title"),
doc.getString("description"),
doc.getString("date"),
doc.getString("time"),
doc.getString("done"));
reminderList.add(reminder);
}
adapter = new ListItemReminderAdapter(HomeActivity.this, reminderList);
listItem.setAdapter(adapter);
dialog.dismiss();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(HomeActivity.this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}
为了解决这个问题,请更改以下实现:
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-firestore:11.4.2'
implementation 'com.google.firebase:firebase-auth:16.0.1'
implementation "com.google.android.gms:play-services-base:15.0.1"
implementation "com.google.android.gms:play-services-gcm:15.0.1"
到
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.google.firebase:firebase-firestore:18.0.0'
implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation "com.google.android.gms:play-services-base:16.1.0"
implementation "com.google.android.gms:play-services-gcm:16.0.0"
在您的顶层build.gradle
文件中,请确保有最新版本的Google服务插件:
classpath 'com.google.gms:google-services:4.2.0'
classpath 'com.android.tools.build:gradle:3.3.0'
问题内容: 我正在按照教程(链接)将图像上传到Firebase数据库,但遇到以下错误。我重新检查了gradle依赖项并启用了multidex支持,但仍然存在错误 Gradle.app 请在这里告诉我我做错了! 问题答案: 现在这是问题所在,您在gradle的依赖项中使用了不同的版本,请更改此 对此 还有一件事是现在不建议使用,因此您需要替换为 ,这是该https://firebase.google
gradle.app 请告诉我这里做错了什么!
我试着用android studio安装一个react-native应用程序,安装apk后应用程序就会停止。 以下是带有错误的logcat: 我尝试了很多事情:清洁,重建,...库的版本似乎在任何需要的地方都是一样的,multidex似乎是正确设置的。 你能帮帮我吗? 谢谢!
AndroidManifest.xml: 我知道NoClassDefFoundError是做什么的,但我没有发现问题。询问你是否需要更多的解决问题的文件。
自从我更新到Android Studio3.1后,我的项目就不再运行了。我在互联网上到处寻找解决办法,但没有任何积极的结果。下面是我在logcat中得到的错误: 这是我的build.gradle(module:app)文件: 下面是我的build.gradle(项目:appname): 编辑:它不再成功构建了,它在构建消息控制台中抛出了一个非常奇怪的错误: .
错误:将字节码转换为dex时出错:原因:com.android.dex。DexException:多个dex文件定义Lcom/google/android/gms/internal/zzbqy; 这个错误出现在我的android聊天应用程序中,我在这里找到了几个答案,但它无法解决我的问题。我正在为我的项目使用Firebase,我已经成功地对我的用户进行了身份验证,并想在实时数据库中应用他们的照片和