Warum erhalte ich die Fehlermeldung „java.lang.SecurityException: Unbekannter Aufruf des Paketnamens ‚com.google.androidJava

Java-Forum
Guest
 Warum erhalte ich die Fehlermeldung „java.lang.SecurityException: Unbekannter Aufruf des Paketnamens ‚com.google.android

Post by Guest »

Ps. Hören Sie auf, die Frage zu schließen und sie als Duplikat zu markieren, das auf eine zufällige Lösung verweist. ES FUNKTIONIERT NICHT.
Es ist fast einen Monat her, seit ich keine Antwort auf mein Problem gefunden habe.
Das Erstellen des APK wird zum Erfolg führen, wenn es um die Anmeldung geht Feuerbasis. Keine der Lösungen in den Foren hat mir geholfen. Ich habe ALLES versucht.
Die Probleme treten nur auf, wenn ich es unterschreibe und zu meinen privaten Testern hochlade.
Ich bekomme eine Ausnahme api:10, nachdem ich versucht habe, mich anzumelden.
Die Sorge ist, dass ich Es wird immer angezeigt, dass der Service vom Broker nicht abgerufen werden konnte. (Fragen Sie Gemini) java.lang.SecurityException: Unbekannter Aufrufpaketname „com.google.android.gms“.
Jedes Mal.
hier ist mein Build gradle:app mit einigen Änderungen zum Ausblenden sensibler Daten.
plugins {
id("com.android.application")
id("com.google.gms.google-services") // Correct Google Services plugin
id("com.google.firebase.appdistribution") version "5.0.0"

}

android {
namespace = "com.XX.XX"
compileSdk = 34

defaultConfig {
applicationId = "com.XX.XX"
minSdk = 33
targetSdk = 36
versionCode = 22
versionName = "2.4"
}

signingConfigs {
create("release") {
storeFile = file("C:/XX/release.keystore")
storePassword = "XX"
keyAlias = "XX"
keyPassword = "XX"
}
}

buildTypes {
getByName("release") {
signingConfig = signingConfigs.getByName("release")
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}

dependencies {
implementation(libs.play.services.location)
implementation(libs.appcompat.v160)
implementation(libs.material.v180)
implementation(libs.activity.v172)
implementation(libs.constraintlayout.v214)

// Firebase BOM to manage versions
implementation(platform(libs.firebase.bom))
implementation(libs.google.firebase.analytics)
implementation(libs.com.google.firebase.firebase.messaging)
implementation(libs.google.firebase.firestore)
implementation(libs.com.google.firebase.firebase.auth)
implementation(libs.play.services.auth)
implementation(libs.play.services.location)

// Testing dependencies
testImplementation(libs.junit)
androidTestImplementation(libs.junit.v115)
androidTestImplementation(libs.espresso.core.v351)
}


meine Einstellungen.gradle
pluginManagement {
repositories {
google {
content {
includeGroupByRegex("com\\.android.*")
includeGroupByRegex("com\\.google.*")
includeGroupByRegex("androidx.*")
}
}
mavenCentral()
gradlePluginPortal()
}
}

dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://jitpack.io") } // Include Jitpack if necessary
}
}

rootProject.name = "XX"
include(":app")

mein build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
//alias(libs.plugins.android.application) apply false
id("com.android.application") version "8.7.3" apply false
id("com.google.gms.google-services") version "4.4.2" apply false
id("com.google.firebase.appdistribution") version "5.0.0" apply false

}

und meine Haupttätigkeit.
package com.XX.XX;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import com.google.android.gms.auth.api.signin.GoogleSignIn;
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
import com.google.android.gms.auth.api.signin.GoogleSignInClient;
import com.google.android.gms.auth.api.signin.GoogleSignInOptions;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;
import com.google.android.gms.common.SignInButton;
import com.google.android.gms.common.api.ApiException;
import com.google.android.gms.tasks.Task;
import com.google.firebase.FirebaseApp;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.auth.GoogleAuthProvider;
import com.google.firebase.firestore.DocumentReference;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.messaging.FirebaseMessaging;

import java.util.HashMap;
import java.util.Map;

public class MainActivity extends AppCompatActivity {

private static final String TAG = "MainActivity";
private FirebaseAuth mAuth;
private FirebaseFirestore db;
private SignInButton googleSignInButton;
private TextView authStatusTextView;
private FirebaseAnalytics mFirebaseAnalytics;
int GOOGLE_SIGN_IN = 10210;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
Log.d(TAG, "MainActivity Created");

// Check for Google Play services
GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(this);
if (resultCode != ConnectionResult.SUCCESS) {
if (googleApiAvailability.isUserResolvableError(resultCode)) {
googleApiAvailability.getErrorDialog(this, resultCode, 9000).show();
} else {
Log.e(TAG, "Google Play Services not available.");
finish(); // Or handle the error appropriately
return;
}
}

FirebaseApp.initializeApp(this);
mAuth = FirebaseAuth.getInstance();
db = FirebaseFirestore.getInstance();

googleSignInButton = findViewById(R.id.googleSignInButton);
authStatusTextView = findViewById(R.id.authStatusTextView);
googleSignInButton.setOnClickListener(v -> signInWithGoogle());

checkNotificationPermission();
checkCurrentUser();
}

private void checkCurrentUser() {
FirebaseUser currentUser = mAuth.getCurrentUser();
if (currentUser != null) {
authStatusTextView.setText("Logged in as: " + currentUser.getDisplayName());
googleSignInButton.setVisibility(View.GONE);
checkFCMToken(currentUser.getUid());
} else {
authStatusTextView.setText("Not logged in");
googleSignInButton.setVisibility(View.VISIBLE);
}
}

private void checkNotificationPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.POST_NOTIFICATIONS}, 1001);
} else {
subscribeToGlobalTopic();
}
} else {
subscribeToGlobalTopic();
}
}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 1001 && grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
subscribeToGlobalTopic();
} else {
showToast("Notification permission required for updates.");
}
}

private void signInWithGoogle() {
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
GoogleSignInClient googleSignInClient = GoogleSignIn.getClient(this, gso);
googleSignInClient.signOut();
Intent signInIntent = googleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, GOOGLE_SIGN_IN);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GOOGLE_SIGN_IN) {
Task task = GoogleSignIn.getSignedInAccountFromIntent(data);
handleSignInResult(task);
}
}

private void handleSignInResult(Task task) {
try {
GoogleSignInAccount account = task.getResult(ApiException.class);
firebaseAuthWithGoogle(account.getIdToken());
} catch (ApiException e) {
Log.w(TAG, "Google sign-in failed", e);
showToast("Authentication Failed." + e);
} catch (Throwable throwable) {
throwable.printStackTrace();
}
}

private void firebaseAuthWithGoogle(String idToken) {
mAuth.signInWithCredential(GoogleAuthProvider.getCredential(idToken, null))
.addOnCompleteListener(this, task -> {
if (task.isSuccessful()) {
checkCurrentUser();
} else {
showToast("Authentication Failed.");
}
});
}

private void checkFCMToken(String userId) {
DocumentReference docRef = db.collection("users").document(userId);
docRef.get().addOnCompleteListener(task -> {
if (task.isSuccessful() && task.getResult() != null) {
if (task.getResult().exists()) {
if (!task.getResult().contains("fcm_token")) { // Check for *absence* of token
getFCMToken();
} else {
subscribeToGlobalTopic();
}
} else {
getFCMToken();
}
} else {
Log.w(TAG, "Error checking FCM token", task.getException());
}
});
}

private void subscribeToGlobalTopic() {
FirebaseMessaging.getInstance().subscribeToTopic("global")
.addOnCompleteListener(task -> {
if (!task.isSuccessful()) {
Log.w(TAG, "Subscribe to global topic failed", task.getException());
}
});
}

private void getFCMToken() {
FirebaseMessaging.getInstance().getToken().addOnCompleteListener(task -> {
if (task.isSuccessful() && task.getResult() != null) {
String token = task.getResult();
saveTokenToFirestore(token);
} else {
Log.w(TAG, "Fetching FCM token failed", task.getException());
}
});
}

private void saveTokenToFirestore(String token) {
FirebaseUser user = mAuth.getCurrentUser();
if (user != null) {
Map data = new HashMap();
data.put("fcm_token", token);
db.collection("users").document(user.getUid())
.set(data)
.addOnFailureListener(e -> Log.w(TAG, "Saving FCM token failed", e));
}
}

private void showToast(String message) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}`

Mein Google JSON ist korrekt und stimmt mit Firebase + Google Oath überein.
Ich werde verrückt. Ich würde mich über Hilfe freuen
Habe alles versucht, aber der Fehler ist nie verschwunden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post