trebleshot / android

An open-source app that allows you to transfer files one to one securely or using a browser, all without the internet
GNU General Public License v2.0
149 stars 42 forks source link

Sqlite expection on activating minifyEnabled true #147

Closed apcashish closed 4 years ago

apcashish commented 4 years ago

Sqlite expection on activating minifyEnabled true

When I activate minifyEnabled true then sqlite expection arrived.

velitasali commented 4 years ago

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

apcashish commented 4 years ago

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.

velitasali commented 4 years ago

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.