Я получаю cra sh отчеты со следующей трассировкой стека (она всегда одинакова)
java.lang.IllegalStateException:
at android.os.Parcel.createException (Parcel.java:1974)
at android.os.Parcel.readException (Parcel.java:1934)
at android.os.Parcel.readException (Parcel.java:1884)
at android.app.IActivityManager$Stub$Proxy.registerReceiver (IActivityManager.java:3690)
at android.app.ContextImpl.registerReceiverInternal (ContextImpl.java:1567)
at android.app.ContextImpl.registerReceiver (ContextImpl.java:1528)
at android.app.ContextImpl.registerReceiver (ContextImpl.java:1516)
at android.content.ContextWrapper.registerReceiver (ContextWrapper.java:636)
at com.android.billingclient.api.BillingBroadcastManager$BillingBroadcastReceiver.a (BillingBroadcastManager.java:10)
at com.android.billingclient.api.BillingBroadcastManager.registerReceiver (BillingBroadcastManager.java:11)
at com.android.billingclient.api.BillingClientImpl.a (BillingClientImpl.java:53)
at snackfall.fva.com.snackfall.FullscreenActivity.setupBillingClient (FullscreenActivity.java:23)
at snackfall.fva.com.snackfall.FullscreenActivity.access$100 (FullscreenActivity.java)
at snackfall.fva.com.snackfall.FullscreenActivity.checkPurchases (FullscreenActivity.java)
at snackfall.fva.com.snackfall.FullscreenActivity$2.a (FullscreenActivity.java:2)
at com.android.billingclient.api.BillingClientImpl$BillingServiceConnection.onServiceDisconnected (BillingClientImpl.java:28)
at android.app.LoadedApk$ServiceDispatcher.doDeath (LoadedApk.java:1858)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run (LoadedApk.java:1873)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:214)
at android.app.ActivityThread.main (ActivityThread.java:7050)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:965)
Caused by: android.os.RemoteException:
at com.android.server.am.ActivityManagerService.registerReceiver (ActivityManagerService.java:25349)
at android.app.IActivityManager$Stub.onTransact$registerReceiver$ (IActivityManager.java:10884)
at android.app.IActivityManager$Stub.onTransact (IActivityManager.java:126)
at com.android.server.am.ActivityManagerService.onTransact (ActivityManagerService.java:4136)
at android.os.Binder.execTransact (Binder.java:739)
Проблема в этих четырех строках:
at snackfall.fva.com.snackfall.FullscreenActivity.setupBillingClient (FullscreenActivity.java:23)
at snackfall.fva.com.snackfall.FullscreenActivity.access$100 (FullscreenActivity.java)
at snackfall.fva.com.snackfall.FullscreenActivity.checkPurchases (FullscreenActivity.java)
at snackfall.fva.com.snackfall.FullscreenActivity$2.a (FullscreenActivity.java:2)
I не понимаю, что такое доступ $ 100 или $ 2.a. Может быть проблема во время деобфускации. Но это должно происходить, когда setupBillingClient
private void setupBillingClient()
{
billingClient = BillingClient.newBuilder(this).setListener(this).enablePendingPurchases().build();
billingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(BillingResult billingResult) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
// The billing client is ready. You can query purchases here.
List<String> skuList = new ArrayList<>();
skuList.add(adsSKU);
skuDetailsParams = SkuDetailsParams.newBuilder()
.setSkusList(skuList).setType(BillingClient.SkuType.INAPP).build();
}
try {
checkPurchases();
}
catch(Exception e)
{
Units.showAds=true;
}
setupAds();
}
@Override
public void onBillingServiceDisconnected() {
setupBillingClient();
//System.out.println("RESTARTING CONNECTION");
// Try to restart the connection on the next request to
// Google Play by calling the startConnection() method.
}
});
}
вызывает checkPurchases
public void checkPurchases()
{
Purchase.PurchasesResult purchasesResult = billingClient.queryPurchases(BillingClient.SkuType.INAPP);
List<Purchase> purchases = purchasesResult.getPurchasesList();
handlePurchases(purchases);
}
Что может быть причиной взлома sh здесь? Также checkPurchases находится внутри try-catch. Это не должно взломать sh.