android–java.lang.NoClassDefFoundError retrofit2.Utils

android–java.lang.NoClassDefFoundError retrofit2.Utils,第1张

概述我正在使用Retrofit来处理来自Mobile的Serverside数据.实施改造后,我得到以下例外.我究竟做错了什么?com.name.App_ideaW/System.err:java.lang.NoClassDefFoundError:retrofit2.Utilsatretrofit2.Retrofit$Builder.baseUrl(Retrofit.java:434)atcom.name

我正在使用Retrofit来处理来自Mobile的ServersIDe数据.实施改造后,我得到以下例外.

我究竟做错了什么?

com.name.App_IDea W/System.err: java.lang.NoClassDefFoundError:
retrofit2.Utils
at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:434)
at com.name.App_IDea.utils.IDea.onCreate(IDea.java:103)
at androID.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
at androID.app.ActivityThread.handleBindApplication(ActivityThread.java:4541)
at androID.app.ActivityThread.access$1500(ActivityThread.java:151)
at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)
at androID.os.Handler.dispatchMessage(Handler.java:110)
at androID.os.Looper.loop(Looper.java:193)
at androID.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(Native Method)

改造初始

mRetrofit = new Retrofit.Builder()                    .baseUrl(AppConstance.APP_URL)                    .addConverterFactory(ScalarsConverterFactory.create())                    .addConverterFactory(GsonConverterFactory.create())                    .clIEnt(getokhttpClIEnt())                    .build();

Gradle文件

apply plugin: 'com.androID.application'androID {    compileSdkVersion 23    buildToolsversion '23.0.3'    defaultConfig {        applicationID "com.name.App_IDea"        minSdkVersion 14        targetSdkVersion 23        versionCode 1        versionname "9"        multIDexEnabled true    }    buildTypes {        release {            MinifyEnabled false            proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard-rules.pro'        }    }}dependencIEs {    compile filetree(dir: 'libs', include: ['*.jar'])    testCompile 'junit:junit:4.12'    compile 'com.androID.support:appcompat-v7:23.3.0'    compile 'com.squareup.retrofit2:retrofit:2.0.2'    compile 'com.squareup.retrofit2:converter-scalars:2.0.0'    compile 'com.Google.code.gson:gson:2.2.4'    compile 'com.squareup.retrofit2:converter-gson:2.0.0'    compile 'com.jakewharton:butterknife:7.0.1'    compile 'com.androID.support:design:23.3.0'    compile 'com.androID.support:cardvIEw-v7:23.3.0'    compile 'com.Google.androID.gms:play-services:8.4.0'    compile 'com.squareup.okhttp3:okhttp:3.2.0'    compile 'com.squareup.okhttp3:okhttp-urlconnection:3.2.0'    compile 'com.androID.support:support-v4:23.3.0'}

应用类

import androID.app.Application;import androID.content.Context;import androID.content.Intent;import androID.database.sqlite.sqliteDatabase;import androID.database.sqlite.sqliteOpenHelper;import androID.os.Environment;import androID.support.multIDex.MultIDex;import androID.util.Log;import java.io.file;import java.security.cert.CertificateException;import javax.net.ssl.HostnameVerifIEr;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSession;import javax.net.ssl.SSLSocketFactory;import javax.net.ssl.TrustManager;import javax.net.ssl.x509trustmanager;import okhttp3.OkhttpClIEnt;import retrofit2.Retrofit;import retrofit2.converter.scalars.ScalarsConverterFactory;import retrofit2.converter.gson.GsonConverterFactory;public class IDea extends Application {    public static Retrofit mRetrofit;    public static IDeaService Iservice;    public static LoginResponceModel loinResponce;    public static SettingsModel settingModel;    public static LocationModel location = new LocationModel();    private static sqliteDatabase dbase;    private static String file_PATH;    public static sqliteDatabase getDataBase() {        return dbase;    }    public static String getfilePath() {        return file_PATH;    }    private static class DatabaseHelper extends sqliteOpenHelper {        DatabaseHelper(Context context) {            super(context, "App", null, 1);        }        @OverrIDe        public voID onCreate(sqliteDatabase db) {            db.execsql(AppConstance.DbConstans.tblLogin);            Log.i("DB", "Created");        }        @OverrIDe        public voID onUpgrade(sqliteDatabase db, int oldVersion, int newVersion) {            onCreate(db);        }    }    public static voID deletealltables() {        getDataBase().execsql("DELETE FROM login");    }    @OverrIDe    public voID onCreate() {        super.onCreate();        try {            mRetrofit = new Retrofit.Builder()                    .baseUrl(AppConstance.APP_URL)                    .addConverterFactory(ScalarsConverterFactory.create())                    .addConverterFactory(GsonConverterFactory.create())                    .clIEnt(getokhttpClIEnt())                    .build();            Iservice = mRetrofit.create(IDeaService.class);            MultIDex.install(this);            DatabaseHelper dbHelper = new DatabaseHelper(this);            dbase = dbHelper.getWritableDatabase();            AppDataService appDataService = new AppDataService();            loinResponce = appDataService.getLoginDetails();            settingModel = appDataService.getSettings();            file_PATH = getAppfilePath();            startService(new Intent(IDea.this, LocationTracker.class));        } catch (Exception e) {            e.printstacktrace();        }    }    public String combinefilePath(String path1, String path2) {        file file1 = new file(path1);        file file2 = new file(file1, path2);        return file2.getPath();    }    public String getAppfilePath() {        String dsPath;        if (Environment.getExternalStorageState().equals(                Environment.MEDIA_MOUNTED))            dsPath = combinefilePath(Environment                            .getExternalStorageDirectory().getabsolutePath(),                    "androID/data/IDea/");        else            dsPath = this.getDir(                    this.getPackagename(), 0).getabsolutePath();        new file(dsPath).mkdirs();        return dsPath;    }    private OkhttpClIEnt getokhttpClIEnt() {        try {            // Create a trust manager that does not valIDate certificate chains            final TrustManager[] trustAllCerts = new TrustManager[]{                    new x509trustmanager() {                        @OverrIDe                        public voID checkClIEntTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {                        }                        @OverrIDe                        public voID checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {                        }                        @OverrIDe                        public java.security.cert.X509Certificate[] getAcceptedissuers() {                            return new java.security.cert.X509Certificate[]{};                        }                    }            };            // Install the all-trusting trust manager            final SSLContext sslContext = SSLContext.getInstance("SSL");            sslContext.init(null, trustAllCerts, new java.security.SecureRandom());            // Create an ssl socket factory with our all-trusting manager            final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();            OkhttpClIEnt.Builder builder = new OkhttpClIEnt.Builder();            builder.sslSocketFactory(sslSocketFactory);            builder.hostnameVerifIEr(new HostnameVerifIEr() {                @OverrIDe                public boolean verify(String hostname, SSLSession session) {                    return true;                }            });            OkhttpClIEnt okhttpClIEnt = builder.build();            return okhttpClIEnt;        } catch (Exception e) {            throw new RuntimeException(e);        }    }}

解决方法:

这是Gradle bulID配置问题我也有同样的问题

在Gradle你的使用

compile 'com.Google.androID.gms:play-services:8.4.0'

Enire Google Playservice lib可以更改您的项目中使用的lib

com.Google.androID.gms:play-services-gcm:8.4.0 com.Google.androID.gms:play-services-maps:8.4.0com.Google.androID.gms:play-services-auth:8.4.0

请参阅此URl https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project

总结

以上是内存溢出为你收集整理的android – java.lang.NoClassDefFoundError retrofit2.Utils全部内容,希望文章能够帮你解决android – java.lang.NoClassDefFoundError retrofit2.Utils所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1098413.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存