island
island copied to clipboard
Crash On Android 13(Island.v6.1.2.apk)
09-12 04:19:53.879 4092 4092 E AndroidRuntime: FATAL EXCEPTION: main
09-12 04:19:53.879 4092 4092 E AndroidRuntime: Process: com.oasisfeng.island, PID: 4092
09-12 04:19:53.879 4092 4092 E AndroidRuntime: java.lang.ExceptionInInitializerError
09-12 04:19:53.879 4092 4092 E AndroidRuntime: at com.oasisfeng.island.analytics.AnalyticsImpl.
I am getting a similar/same error. I tried normal setup, root setup and manual setup with adb. With adb all commands execute successfully, but I get an error when I open the app:
Exception on crash
234567891011121314151617181920212223242526272829
time: 1694593686454
msg: java.lang.IllegalArgumentException: Remote stack trace:
at com.android.server.job.JobSchedulerService$JobSchedulerStub.enforceValidJobRequest(JobSchedulerService.java:3022)
at com.android.server.job.JobSchedulerService$JobSchedulerStub.schedule(JobSchedulerService.java:3077)
at android.app.job.IJobScheduler$Stub.onTransact(IJobScheduler.java:153)
at android.os.Binder.execTransactInternal(Binder.java:1283)
at android.os.Binder.execTransact(Binder.java:1227)
stacktrace: java.lang.IllegalArgumentException: Tried to schedule job for non-existent component: ComponentInfo{org.polymorphicshade.newpipe/org.acra.sender.JobSenderService}
at android.os.Parcel.createExceptionOrNull(Parcel.java:3032)
at android.os.Parcel.createException(Parcel.java:3012)
at android.os.Parcel.readException(Parcel.java:2995)
at android.os.Parcel.readException(Parcel.java:2937)
at android.app.job.IJobScheduler$Stub$Proxy.schedule(IJobScheduler.java:263)
at android.app.JobSchedulerImpl.schedule(JobSchedulerImpl.java:50)
at org.acra.scheduler.DefaultSenderScheduler.scheduleReportSending(DefaultSenderScheduler.kt:52)
at org.acra.scheduler.SchedulerStarter.scheduleReports(SchedulerStarter.kt:49)
at org.acra.startup.StartupProcessorExecutor.processReports$lambda$6$lambda$5(StartupProcessorExecutor.kt:60)
at org.acra.startup.StartupProcessorExecutor.$r8$lambda$LK61ILz0qM6dPNH2J6guur40K2U(StartupProcessorExecutor.kt:0)
at org.acra.startup.StartupProcessorExecutor$$ExternalSyntheticLambda1.run(R8$$SyntheticClass:0)
at java.lang.Thread.run(Thread.java:1012)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.job.JobSchedulerService$JobSchedulerStub.enforceValidJobRequest(JobSchedulerService.java:3022)
at com.android.server.job.JobSchedulerService$JobSchedulerStub.schedule(JobSchedulerService.java:3077)
at android.app.job.IJobScheduler$Stub.onTransact(IJobScheduler.java:153)
at android.os.Binder.execTransactInternal(Binder.java:1283)
at android.os.Binder.execTransact(Binder.java:1227)
This crash is in com.oasisfeng.condom.PackageManagerWrapper#getApplicationInfo(String,ApplicationInfoFlags) It should override this, but not. see https://github.com/oasisfeng/condom/issues/34
dirty fix: island/shared/src/main/java/com/oasisfeng/island/firebase/FirebaseWrapper.java
final CondomContext condom = CondomContext.wrap(context, "Firebase", new CondomOptions()
.setOutboundJudge((t, i, pkg) -> ! "com.google.android.gms".equals(pkg)).addKit(new NotificationKit()).addKit(new PowerManagerKit()).setPackageManagerFactory(new PackageManagerFactory() {
@Override
public PackageManagerWrapper getPackageManager(Context base, PackageManager downstream) {
return new PackageManagerWrapper(downstream) {
final private PackageManager mBase = base.getPackageManager();
@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
@NonNull
@Override
public ApplicationInfo getApplicationInfo(@NonNull String packageName, @NonNull ApplicationInfoFlags flags) throws NameNotFoundException {
Log.w("debug", "getApplicationInfo");
return mBase.getApplicationInfo(packageName, flags);
}
};
}
}));
I don't know if this helps, but I found an app called "Insular" which is a fork of this app, does work for me.
Insular doesn't seem to have followed up on Island's updates resulting from policy changes related to Google and/or Firebase, thus not introducing condom and the compatibility issues associated with it.
final CondomContext condom = CondomContext.wrap(context, "Firebase", new CondomOptions()
.setOutboundJudge((t, i, pkg) -> ! "com.google.android.gms".equals(pkg)).addKit(new NotificationKit()).addKit(new PowerManagerKit()).setPackageManagerFactory(new PackageManagerFactory() {
@Override
public PackageManagerWrapper getPackageManager(Context base, PackageManager downstream) {
return new PackageManagerWrapper(downstream) {
final private PackageManager mBase = base.getPackageManager();
@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
@NonNull
@Override
public ApplicationInfo getApplicationInfo(@NonNull String packageName, @NonNull ApplicationInfoFlags flags) throws NameNotFoundException {
Log.w("debug", "getApplicationInfo");
return mBase.getApplicationInfo(packageName, flags);
}
};
}
}));
final CondomContext condom = CondomContext.wrap(context, "Firebase", new CondomOptions()
.setOutboundJudge((t, i, pkg) -> ! "com.google.android.gms".equals(pkg)).addKit(new NotificationKit()).addKit(new PowerManagerKit()).setPackageManagerFactory(new PackageManagerFactory() {
@Override
public PackageManagerWrapper getPackageManager(Context base, PackageManager downstream) {
return new PackageManagerWrapper(downstream) {
final private PackageManager mBase = base.getPackageManager();
@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
@NonNull
@Override
public ApplicationInfo getApplicationInfo(@NonNull String packageName, @NonNull ApplicationInfoFlags flags) throws NameNotFoundException {
Log.w("debug", "getApplicationInfo");
return mBase.getApplicationInfo(packageName, flags);
}
};
}
}));