We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I'm seeing the following when running an Android application that has been obfuscated using proguard:
----- class 'Lio/requery/android/database/sqlite/SQLiteConnection;' cl=0x14b003d8 ----- objectSize=396 (224 from super) access=0x8000.0011 super='java.lang.Class<java.lang.Object>' (cl=0x0) interfaces (1): 0: java.lang.Class<androidx.core.os.CancellationSignal$OnCancelListener> (cl=0x14b003d8) vtable (22 entries, 11 in super): 0: void io.requery.android.database.sqlite.SQLiteConnection.close() 1: void io.requery.android.database.sqlite.SQLiteConnection.collectDbStats(java.util.ArrayList) 2: void io.requery.android.database.sqlite.SQLiteConnection.collectDbStatsUnsafe(java.util.ArrayList) 3: java.lang.String io.requery.android.database.sqlite.SQLiteConnection.describeCurrentOperationUnsafe() 4: void io.requery.android.database.sqlite.SQLiteConnection.dump(android.util.Printer, boolean) 5: void io.requery.android.database.sqlite.SQLiteConnection.dumpUnsafe(android.util.Printer, boolean) 6: void io.requery.android.database.sqlite.SQLiteConnection.enableLocalizedCollators() 7: void io.requery.android.database.sqlite.SQLiteConnection.execute(java.lang.String, java.lang.Object[], androidx.core.os.CancellationSignal) 8: android.os.ParcelFileDescriptor io.requery.android.database.sqlite.SQLiteConnection.executeForBlobFileDescriptor(java.lang.String, java.lang.Object[], androidx.core.os.CancellationSignal) 9: int io.requery.android.database.sqlite.SQLiteConnection.executeForChangedRowCount(java.lang.String, java.lang.Object[], androidx.core.os.CancellationSignal) 10: int io.requery.android.database.sqlite.SQLiteConnection.executeForCursorWindow(java.lang.String, java.lang.Object[], io.requery.android.database.CursorWindow, int, int, boolean, androidx.core.os.CancellationSignal) 11: long io.requery.android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(java.lang.String, java.lang.Object[], androidx.core.os.CancellationSignal) 12: long io.requery.android.database.sqlite.SQLiteConnection.executeForLong(java.lang.String, java.lang.Object[], androidx.core.os.CancellationSignal) 13: java.lang.String io.requery.android.database.sqlite.SQLiteConnection.executeForString(java.lang.String, java.lang.Object[], androidx.core.os.CancellationSignal) 14: void io.requery.android.database.sqlite.SQLiteConnection.finalize() 15: boolean io.requery.android.database.sqlite.SQLiteConnection.isPreparedStatementInCache(java.lang.String) 16: boolean io.requery.android.database.sqlite.SQLiteConnection.isPrimaryConnection() 17: void io.requery.android.database.sqlite.SQLiteConnection.onCancel() 18: void io.requery.android.database.sqlite.SQLiteConnection.prepare(java.lang.String, io.requery.android.database.sqlite.SQLiteStatementInfo) 19: void io.requery.android.database.sqlite.SQLiteConnection.reconfigure(io.requery.android.database.sqlite.SQLiteDatabaseConfiguration) 20: void io.requery.android.database.sqlite.SQLiteConnection.setOnlyAllowReadOnlyOperations(boolean) 21: java.lang.String io.requery.android.database.sqlite.SQLiteConnection.toString() direct methods (60 entries): 0: void io.requery.android.database.sqlite.SQLiteConnection.<clinit>() 1: void io.requery.android.database.sqlite.SQLiteConnection.<init>(io.requery.android.database.sqlite.SQLiteConnectionPool, io.requery.android.database.sqlite.SQLiteDatabaseConfiguration, int, boolean) 2: void io.requery.android.database.sqlite.SQLiteConnection.access$200(io.requery.android.database.sqlite.SQLiteConnection, io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement) 3: java.lang.String io.requery.android.database.sqlite.SQLiteConnection.access$300(java.lang.String) 4: byte[] io.requery.android.database.sqlite.SQLiteConnection.access$500() 5: io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement io.requery.android.database.sqlite.SQLiteConnection.acquirePreparedStatement(java.lang.String) 6: void io.requery.android.database.sqlite.SQLiteConnection.applyBlockGuardPolicy(io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement) 7: void io.requery.android.database.sqlite.SQLiteConnection.attachCancellationSignal(androidx.core.os.CancellationSignal) 8: void io.requery.android.database.sqlite.SQLiteConnection.bindArguments(io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement, java.lang.Object[]) 9: java.lang.String io.requery.android.database.sqlite.SQLiteConnection.canonicalizeSyncMode(java.lang.String) 10: void io.requery.android.database.sqlite.SQLiteConnection.detachCancellationSignal(androidx.core.os.CancellationSignal) 11: void io.requery.android.database.sqlite.SQLiteConnection.dispose(boolean) 12: void io.requery.android.database.sqlite.SQLiteConnection.finalizePreparedStatement(io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement) 13: io.requery.android.database.sqlite.SQLiteDebug$DbStats io.requery.android.database.sqlite.SQLiteConnection.getMainDbStatsUnsafe(int, long, long) 14: int io.requery.android.database.sqlite.SQLiteConnection.getTypeOfObject(java.lang.Object) 15: boolean io.requery.android.database.sqlite.SQLiteConnection.hasCodec() 16: boolean io.requery.android.database.sqlite.SQLiteConnection.isCacheable(int) 17: void io.requery.android.database.sqlite.SQLiteConnection.nativeBindBlob(long, long, int, byte[]) 18: void io.requery.android.database.sqlite.SQLiteConnection.nativeBindDouble(long, long, int, double) 19: void io.requery.android.database.sqlite.SQLiteConnection.nativeBindLong(long, long, int, long) 20: void io.requery.android.database.sqlite.SQLiteConnection.nativeBindNull(long, long, int) 21: void io.requery.android.database.sqlite.SQLiteConnection.nativeBindString(long, long, int, java.lang.String) 22: void io.requery.android.database.sqlite.SQLiteConnection.nativeCancel(long) 23: void io.requery.android.database.sqlite.SQLiteConnection.nativeClose(long) 24: void io.requery.android.database.sqlite.SQLiteConnection.nativeExecute(long, long) 25: int io.requery.android.database.sqlite.SQLiteConnection.nativeExecuteForBlobFileDescriptor(long, long) 26: int io.requery.android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(long, long) 27: long io.requery.android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(long, long, long, int, int, boolean) 28: long io.requery.android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(long, long) 29: long io.requery.android.database.sqlite.SQLiteConnection.nativeExecuteForLong(long, long) 30: java.lang.String io.requery.android.database.sqlite.SQLiteConnection.nativeExecuteForString(long, long) 31: void io.requery.android.database.sqlite.SQLiteConnection.nativeFinalizeStatement(long, long) 32: int io.requery.android.database.sqlite.SQLiteConnection.nativeGetColumnCount(long, long) 33: java.lang.String io.requery.android.database.sqlite.SQLiteConnection.nativeGetColumnName(long, long, int) 34: int io.requery.android.database.sqlite.SQLiteConnection.nativeGetDbLookaside(long) 35: int io.requery.android.database.sqlite.SQLiteConnection.nativeGetParameterCount(long, long) 36: boolean io.requery.android.database.sqlite.SQLiteConnection.nativeHasCodec() 37: boolean io.requery.android.database.sqlite.SQLiteConnection.nativeIsReadOnly(long, long) 38: long io.requery.android.database.sqlite.SQLiteConnection.nativeOpen(java.lang.String, int, java.lang.String, boolean, boolean) 39: long io.requery.android.database.sqlite.SQLiteConnection.nativePrepareStatement(long, java.lang.String) 40: void io.requery.android.database.sqlite.SQLiteConnection.nativeRegisterCustomFunction(long, io.requery.android.database.sqlite.SQLiteCustomFunction) 41: void io.requery.android.database.sqlite.SQLiteConnection.nativeRegisterFunction(long, io.requery.android.database.sqlite.SQLiteFunction) 42: void io.requery.android.database.sqlite.SQLiteConnection.nativeRegisterLocalizedCollators(long, java.lang.String) 43: void io.requery.android.database.sqlite.SQLiteConnection.nativeResetCancel(long, boolean) 44: void io.requery.android.database.sqlite.SQLiteConnection.nativeResetStatementAndClearBindings(long, long) 45: io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement io.requery.android.database.sqlite.SQLiteConnection.obtainPreparedStatement(java.lang.String, long, int, int, boolean) 46: io.requery.android.database.sqlite.SQLiteConnection io.requery.android.database.sqlite.SQLiteConnection.open(io.requery.android.database.sqlite.SQLiteConnectionPool, io.requery.android.database.sqlite.SQLiteDatabaseConfiguration, int, boolean) 47: void io.requery.android.database.sqlite.SQLiteConnection.open() 48: void io.requery.android.database.sqlite.SQLiteConnection.recyclePreparedStatement(io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement) 49: void io.requery.android.database.sqlite.SQLiteConnection.releasePreparedStatement(io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement) 50: void io.requery.android.database.sqlite.SQLiteConnection.setAutoCheckpointInterval() 51: void io.requery.android.database.sqlite.SQLiteConnection.setForeignKeyModeFromConfiguration() 52: void io.requery.android.database.sqlite.SQLiteConnection.setJournalMode(java.lang.String) 53: void io.requery.android.database.sqlite.SQLiteConnection.setJournalSizeLimit() 54: void io.requery.android.database.sqlite.SQLiteConnection.setLocaleFromConfiguration() 55: void io.requery.android.database.sqlite.SQLiteConnection.setPageSize() 56: void io.requery.android.database.sqlite.SQLiteConnection.setSyncMode(java.lang.String) 57: void io.requery.android.database.sqlite.SQLiteConnection.setWalModeFromConfiguration() 58: void io.requery.android.database.sqlite.SQLiteConnection.throwIfStatementForbidden(io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement) 59: java.lang.String io.requery.android.database.sqlite.SQLiteConnection.trimSqlForDisplay(java.lang.String) static fields (3 entries): 0: byte[] io.requery.android.database.sqlite.SQLiteConnection.EMPTY_BYTE_ARRAY 1: java.lang.String[] io.requery.android.database.sqlite.SQLiteConnection.EMPTY_STRING_ARRAY 2: java.util.regex.Pattern io.requery.android.database.sqlite.SQLiteConnection.TRIM_SQL_PATTERN instance fields (12 entries): 0: int io.requery.android.database.sqlite.SQLiteConnection.mCancellationSignalAttachCount 1: io.requery.android.database.sqlite.CloseGuard io.requery.android.database.sqlite.SQLiteConnection.mCloseGuard 2: io.requery.android.database.sqlite.SQLiteDatabaseConfiguration io.requery.android.database.sqlite.SQLiteConnection.mConfiguration 3: int io.requery.android.database.sqlite.SQLiteConnection.mConnectionId 4: long io.requery.android.database.sqlite.SQLiteConnection.mConnectionPtr 5: boolean io.requery.android.database.sqlite.SQLiteConnection.mIsPrimaryConnection 6: boolean io.requery.android.database.sqlite.SQLiteConnection.mIsReadOnlyConnection 7: boolean io.requery.android.database.sqlite.SQLiteConnection.mOnlyAllowReadOnlyOperations 8: io.requery.android.database.sqlite.SQLiteConnectionPool io.requery.android.database.sqlite.SQLiteConnection.mPool 9: io.requery.android.database.sqlite.SQLiteConnection$PreparedStatementCache io.requery.android.database.sqlite.SQLiteConnection.mPreparedStatementCache 10: io.requery.android.database.sqlite.SQLiteConnection$PreparedStatement io.requery.android.database.sqlite.SQLiteConnection.mPreparedStatementPool 11: io.requery.android.database.sqlite.SQLiteConnection$OperationLog io.requery.android.database.sqlite.SQLiteConnection.mRecentOperations Failed to register native method io.requery.android.database.sqlite.SQLiteConnection.nativeLoadExtension(JLjava/lang/String;Ljava/lang/String;)V in base.apk!classes2.dex jni_internal.cc:825] JNI FatalError called: RegisterNatives failed for 'io/requery/android/database/sqlite/SQLiteConnection'; aborting...
Looks like there needs to be a proguard rule for SQLiteConnection. PR incoming
SQLiteConnection
The text was updated successfully, but these errors were encountered:
@npurushe This issue should be closed as completed in #173
Sorry, something went wrong.
⬆️ Bump Requery SQLite to 3.41.1
5ece337
Related: requery/sqlite-android#172 Related: requery/sqlite-android#178 Related: sqldelight/sqldelight#3589 Related: #266 Signed-off-by: Leonardo Colman Lopes <[email protected]>
No branches or pull requests
I'm seeing the following when running an Android application that has been obfuscated using proguard:
Looks like there needs to be a proguard rule for
SQLiteConnection
. PR incomingThe text was updated successfully, but these errors were encountered: