trebleshot/android

Sqlite expection on activating minifyEnabled true

apcashish opened this issue · 3 comments

Sqlite expection on activating minifyEnabled true

When I activate minifyEnabled true then sqlite expection arrived.

What is the error you are seeing and why do you need to use the minifyEnabled option?

When minifyEnabled is true.

2020-10-05 16:16:35.872 27480-27480/com.rashi.ShareIt E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.rashi.ShareIt, PID: 27480
java.lang.RuntimeException: Unable to start service com.rashi.ShareIt.service.DeviceScannerService@b741a17 with Intent { act=genonbeta.intent.action.SCAN_DEVICES cmp=com.rashi.ShareIt/.service.DeviceScannerService }: java.lang.IllegalArgumentException: the bind value at index 1 is null
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4434)
at android.app.ActivityThread.access$2000(ActivityThread.java:272)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2087)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8016)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1087)
Caused by: java.lang.IllegalArgumentException: the bind value at index 1 is null
at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:183)
at android.database.sqlite.SQLiteProgram.bindAllArgsAsStrings(SQLiteProgram.java:219)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:49)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1959)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1806)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1677)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1883)
at c.b.b.a.f.getTable(:128)
at c.b.b.a.f.getFirstFromTable(:115)
at c.b.b.a.f.publish(:280)
at c.b.b.a.f.publish(:275)
at com.rashi.ShareIt.service.DeviceScannerService.onStartCommand(:53)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4416)
at android.app.ActivityThread.access$2000(ActivityThread.java:272) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2087) 
at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:237) 
at android.app.ActivityThread.main(ActivityThread.java:8016) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1087) 
2020-10-05 16:16:44.551 27480-29181/com.rashi.ShareIt E/Ads: Fail to get isAdIdFakeForDebugLogging
java.io.IOException: java.util.concurrent.TimeoutException: Timed out waiting for the service connection
at com.google.android.gms.ads.identifier.d.a(:com.google.android.gms.policy_ads_fdr_dynamite@22060057@22060057.318333930.318333930:32)
at com.google.android.gms.ads.internal.util.c.a(:com.google.android.gms.policy_ads_fdr_dynamite@22060057@22060057.318333930.318333930:3)
at com.google.android.gms.ads.internal.util.a.run(:com.google.android.gms.policy_ads_fdr_dynamite@22060057@22060057.318333930.318333930:0)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
at abo.a(:com.google.android.gms.policy_ads_fdr_dynamite@22060057@22060057.318333930.318333930:1)
at aaz.run(:com.google.android.gms.policy_ads_fdr_dynamite@22060057@22060057.318333930.318333930:3)
at abp.run(:com.google.android.gms.policy_ads_fdr_dynamite@22060057@22060057.318333930.318333930:0)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)

When minifyEnabled is false then its works perfectly but minifyEnabled is not secure for deobfuscation.

It looks like you have enabled ProGuard to size down the resulting APK.

It is probably rendering a key useless thus causing this error.

This is not related to the original TrebleShot source code and not in the scope of the future development. I will this close this issue for that reason.