导航抽屉内的 ParseQuery 错误验证程序拒绝了类 com.parse.ParseQuery

Posted

技术标签:

【中文标题】导航抽屉内的 ParseQuery 错误验证程序拒绝了类 com.parse.ParseQuery【英文标题】:ParseQuery Error inside Navigation drawer Verifier rejected class com.parse.ParseQuery 【发布时间】:2018-03-06 15:24:09 【问题描述】:

我将 android Studio 更新到最新版本,将 Gradle 更新到 3.3 版本。 现在运行应用程序时一切正常,除了 Parse.com 查询中的这个错误:

日志: 09-25 10:33:53.846 6313-6640/com.xxxxxx.xxxxxxxxE/art: /data/app/com.dogelier.dogelier-2/base.apk:classes30.dex 中的 com.parse.ParseQuery 类验证失败因为:验证程序拒绝类 com.parse.ParseQuery 由于方法错误 void com.parse.ParseQuery.checkIfRunning(boolean) 09-25 10:33:53.846 6313-6640/com.dogelier.dogelier E/AndroidRuntime: 致命异常: AsyncTask #5 进程:com.xxxxx.xxxxx,PID:6313 java.lang.RuntimeException:执行 doInBackground() 时发生错误 在 android.os.AsyncTask$3.done(AsyncTask.java:300) 在 java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) 在 java.util.concurrent.FutureTask.setException(FutureTask.java:222) 在 java.util.concurrent.FutureTask.run(FutureTask.java:242) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:818) 原因:java.lang.VerifyError: Verifier denied class com.parse.ParseQuery due to bad method void com.parse.ParseQuery.checkIfRunning(boolean)('com.parse.ParseQuery' 的声明出现在 /data/app/com .dogelier.dogelier-2/base.apk:classes30.dex) 在 com.dogelier.dogelier.Navegacion$RemoteDataTask.doInBackground(Navegacion.java:486) 在 com.dogelier.dogelier.Navegacion$RemoteDataTask.doInBackground(Navegacion.java:462) 在 android.os.AsyncTask$2.call(AsyncTask.java:288) 在 java.util.concurrent.FutureTask.run(FutureTask.java:237) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:818)

Error LINE


private class RemoteDataTask extends AsyncTask<Void, Void, Void> 
    @Override
    protected void onPreExecute() 
        super.onPreExecute();

        progress = new GifLoadingView();
        progress.setImageResource(R.drawable.dogelier3);
        progress.setDimming(false);
        progress.show(getFragmentManager(), "");


    



    @Override
    protected Void doInBackground(Void... params) 
        // Create the array
        dogelieropulationlist = new ArrayList<DogelierPopulation>();

        try 
            // ERROR LINE HERE IN PARSEQUERY
            ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Doghoteliers");
            // Locate the column named "ranknum" in Parse.com and order list
            // by ascending
            //query.orderByAscending("");
            query.whereEqualTo("activado", true);
            query.setLimit(limit);


            ob = query.find();
            for (final ParseObject dogelier : ob) 
                // Locate images in flag column

             final DogelierPopulation map = new DogelierPopulation();

                ParseFile image = (ParseFile) dogelier.get("foto");
                image.getData();
                Bitmap bmp = BitmapFactory
                        .decodeByteArray(
                                image.getData(), 0, image.getData().length);

                map.setFoto(bmp);

                map.setDireccion((String) dogelier.get("ciudad"));
                map.setNombre((String) dogelier.get("Nombre"));
                map.setTitulo((String) dogelier.get("titulo"));
                map.setDescripcion((String) dogelier.get("presentacion"));
                map.setPrecio((String) dogelier.get("precio"));
                map.setEstrellas(dogelier.getInt("Estrellas"));

                dogelieropulationlist.add(0,map);




            
         catch (ParseException e) 
            Log.e("Error1", e.getMessage());
            e.printStackTrace();
            errorFragment = new ErrorFragment();
            manager = getSupportFragmentManager();
            manager.beginTransaction().replace(R.id.content_navegacion,
            errorFragment).commit();


        
        return null;
    

    @Override
    protected void onPostExecute(Void result) 
        // Locate the listview in listview_main.xml

        listview = (ListView) findViewById(R.id.listview);
        // Pass the results into ListViewAdapter.java
        adapter = new ListViewAdapter(Navegacion.this,
                dogelieropulationlist);
        // Binds the Adapter to the ListView
        listview.setAdapter(adapter);
        CloseProgress(progress);
        swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout);
        swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() 
            @Override
            public void onRefresh() 
                swipeRefreshLayout.post(new Runnable() 
                                            @Override
                                            public void run() 
                                                swipeRefreshLayout.setRefreshing(true);

                                                new LoadMoreDataTask().execute();
                                            
                                        
                );
            
        );



    



GRADDLE

apply plugin: 'com.android.application'

android 
    signingConfigs 
        config 
            keyAlias 'Xxxxxx'
            keyPassword 'xxxxxxxx'
            storeFile file('C:/KeyStores/xxxxxx.jks')
            storePassword 'xxxxxxxx'
        
    
    compileSdkVersion 26
    buildToolsVersion '25.0.1'
    defaultConfig 
        applicationId "com.xxxxxx.xxxxxxx"
        minSdkVersion 21
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    
    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        
        debug 
        
    
    dexOptions 
        javaMaxHeapSize "4g"
    

    packagingOptions 
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
     




repositories 
    mavenCentral()
    maven  url 'https://oss.sonatype.org/content/repositories/snapshots' 
    jcenter()
    maven  url "https://jitpack.io" 
    maven  url "https://maven.google.com" 



dependencies 
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile files('libs/httpclient-android-4.3.5.1.jar')
    compile files('libs/apache-commons-codec-1.4.jar')
    compile 'com.android.support:appcompat-v7:26.0.1'
    compile 'com.android.support:design:26.0.1'
    compile 'com.android.support:support-v4:26.0.1'
    compile 'com.android.support:recyclerview-v7:26.0.1'
    compile 'com.android.support:cardview-v7:26.0.1'
    compile 'com.parse:parse-android:1.15.2'
    compile 'pl.bclogic:pulsator4droid:1.0.3'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.pkmmte.view:circularimageview:1.1'
    compile 'com.parse:parsefacebookutils-v4-android:1.10.3@aar'
    compile 'com.facebook.android:facebook-android-sdk:4.7.0'
    compile 'com.parse:parseui-login-android:0.0.2'
    compile 'com.parse:parseui-widget-android:0.0.2'
    compile 'com.parse:parsetwitterutils-android:1.10.3'
    compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
    compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
    compile 'com.theartofdev.edmodo:android-image-cropper:2.3.1'
    compile 'com.google.android.gms:play-services-maps:11.0.4'
    compile 'com.google.android.gms:play-services-location:11.0.4'
    compile 'fr.tvbarthel.blurdialogfragment:lib:2.2.0'
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.4'
    compile 'com.roomorama:caldroid:3.0.1'
    compile 'com.seatgeek:placesautocomplete:0.2-SNAPSHOT'
    compile 'com.github.andremion:louvre:1.2.0'
    compile 'com.github.sharish:CreditCardView:v1.0.4'
    compile 'com.wdullaer:materialdatetimepicker:3.3.0'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.daimajia.easing:library:1.0.1@aar'
    compile 'com.daimajia.androidanimations:library:1.1.3@aar'
    compile 'hanks.xyz:smallbang-library:0.1.2'
    compile 'com.akhgupta:android-easylocation:1.0.1'
    compile 'com.google.code.gson:gson:2.7'
    compile 'com.stripe:stripe-android:4.1.5'
    compile 'com.parse:parse-livequery-android:1.0.4'
    compile 'com.github.githubwing:DragPhotoView:1.0.1'
    compile 'me.shaohui.advancedluban:library:1.3.5'
    compile 'com.google.android.gms:play-services-auth:11.0.4'
    compile 'com.google.android.gms:play-services-gcm:11.0.4'
    compile 'com.stepstone.apprating:app-rating:1.2.0'
    compile 'com.sandrios.android:sandriosCamera:1.0.8'
    compile 'com.android.support:percent:26.0.1'
    compile 'com.google.android.gms:play-services-places:11.0.4'
    compile 'com.android.support:multidex:1.0.0'


【问题讨论】:

您可能想了解parse is gone 我知道它已经消失了,但是我将这个库用于 Parse Server,特别是 Sashido。 在这种情况下我无法为您提供太多指导,但由于同样的原因because: Verifier rejected class com.parse.ParseQuery due to bad method void com.parse.ParseQuery.checkIfRunning(boolean) 可能由于某些配置问题而发生错误 谢谢无论如何,希望有人帮助,这个错误让我发疯......:) 请阅读 sahido,它是一个基于 parse.com 的服务器,我有几个应用程序。与服务器的配置无关,因为它与其他应用程序一起工作正常。 【参考方案1】:

我发现了错误,如果将来有人遇到它。 Parse sdk , ParseUI 和 Facebook sdk 如果它们不指向相同的版本,我的冲突,所以只要确保它们都兼容。

【讨论】:

以上是关于导航抽屉内的 ParseQuery 错误验证程序拒绝了类 com.parse.ParseQuery的主要内容,如果未能解决你的问题,请参考以下文章

退出抽屉内的子堆栈导航器时,如何使用 react-navigation 进入 initialRoute?

处理导航抽屉内的 ViewPager 滑动

单击抽屉的任何项目而不在android中关闭时更改导航抽屉内的视图和内容

导航抽屉中 kivy 中的类型错误

如何更改导航抽屉图标?

在 Android Studio 中实现导航抽屉的问题