Does anybody have any experience with these issues and/or know of the consent verifier library? I'm struggling to find literally any sort of documentation regarding it online and it's currently causing errors within my project.
Here's the exact warnings I'm pulling:
Unable to open '/data/user_de/0/com.google.android.gms/app_chimera/m/00000012/MapsDynamite.dm': No such file or directory
Unable to update local snapshot for com.google.android.libraries.consentverifier#com.example.maybefinalgeoguessr, may result in stale flags.
java.util.concurrent.ExecutionException: java.lang.SecurityException: GoogleCertificatesRslt: not allowed: pkg=com.example.maybefinalgeoguessr, sha256=[....], atk=false, ver=230714044.true (go/gsrlt)
at ajk.s(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):3)
at ajk.get(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):2)
at aku.g(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):2)
at yn.c(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):1)
at yp.run(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):0)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:463)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.SecurityException: GoogleCertificatesRslt: not allowed: pkg=com.example.maybefinalgeoguessr, sha256=[.....], atk=false, ver=230714044.true (go/gsrlt)
at android.os.Parcel.createExceptionOrNull(Parcel.java:3011)
at android.os.Parcel.createException(Parcel.java:2995)
at android.os.Parcel.readException(Parcel.java:2978)
at android.os.Parcel.readException(Parcel.java:2920)
at fd.c(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):2)
at rs.a(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):4)
at jj.e(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):2)
at ki.t(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):2)
at ki.u(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):3)
at ki.e(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):2)
at km.handleMessage(:com.google.android.gms.dynamite_mapsdynamite@230714044@23.07.14 (190400-0):69)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.os.HandlerThread.run(HandlerThread.java:67)
and here is my minimal reproducible sample:
MainActivity:
package com.example.maybefinalgeoguessr;
import android.os.Bundle;
import com.google.android.gms.maps.OnStreetViewPanoramaReadyCallback;
import com.google.android.gms.maps.StreetViewPanorama;
import com.google.android.gms.maps.SupportStreetViewPanoramaFragment;
import com.google.android.gms.maps.model.LatLng;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Random;
public class MainActivity extends AppCompatActivity implements OnStreetViewPanoramaReadyCallback {
private StreetViewPanorama streetViewPanorama;
private boolean secondlocation = false;
private static final double MIN_LATITUDE = -90;
private static final double MAX_LATITUDE = 90;
private static final double MIN_LONGITUDE = -180;
private static final double MAX_LONGITUDE = 180;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SupportStreetViewPanoramaFragment streetViewPanoramaFragment = (SupportStreetViewPanoramaFragment)getSupportFragmentManager().findFragmentById(R.id.googlemapstreetview);
streetViewPanoramaFragment.getStreetViewPanoramaAsync(this);
}
@Override
public void onStreetViewPanoramaReady(StreetViewPanorama streetViewPanorama) {
Random random = new Random();
double lat = MIN_LATITUDE + (MAX_LATITUDE - MIN_LATITUDE) * random.nextDouble();
double lng = MIN_LONGITUDE + (MAX_LONGITUDE - MIN_LONGITUDE) * random.nextDouble();
//LatLng randomLocation = new LatLng(lat,lng);
LatLng debug = new LatLng(40.3356, 75.9269);
this.streetViewPanorama = streetViewPanorama;
this.streetViewPanorama.setPosition(debug);
}
}
Manifest XML:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.Maybefinalgeoguessr"
tools:targetApi="33">
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/google_maps_api_key" />
<meta-data
android:name= "com.google.android.streetview.API_KEY"
android:value="@string/geocoding_api_key" />
<uses-library android:name="org.apache.http.legacy" android:required="false" />
<activity android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.Maybefinalgeoguessr">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
layout xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:id="@+id/googlemapstreetview"
android:name="com.google.android.gms.maps.SupportStreetViewPanoramaFragment" />
</RelativeLayout>
dependencies:
dependencies {
implementation 'com.google.android.gms:play-services-base:18.2.0'
implementation 'com.google.android.gms:play-services-location:21.0.1'
implementation 'com.google.maps:google-maps-services:2.1.2'
implementation 'com.google.android.gms:play-services-maps:18.1.0'
implementation 'com.google.android.gms:play-services-panorama:17.0.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.8.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.navigation:navigation-fragment:2.5.3'
implementation 'androidx.navigation:navigation-ui:2.5.3'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}
plug ins:
plugins {
id 'com.android.application' version '7.4.1' apply false
id 'com.android.library' version '7.4.1' apply false
}