Удаленная отладка была прервана по причине: соединение потеряно - PullRequest
0 голосов
/ 02 мая 2019

Я получаю сообщение об ошибке соединения при попытке просмотреть базу данных области. вот как я начинаю стето и царство. я все еще получаю эту ошибку. Я даже поставил withDeleteIfMigrationNeeded (true). все еще не работал.

public class ApplicationClass extends Application {

    //  Database Name...
    private static final String DB_NAME = "Cheruvu.realm";

    @Override
    public void onCreate() {
        super.onCreate();
        configureRealm();
    }

    private void configureRealm() {

        Realm.init( this );

        RealmInspectorModulesProvider realmInspectorModulesProvider = RealmInspectorModulesProvider.builder(this)
                  .withDeleteIfMigrationNeeded(true)
                  .build();

        Stetho.initialize(
                Stetho.newInitializerBuilder( this )
                        .enableDumpapp( Stetho.defaultDumperPluginsProvider( this ) )
                        .enableWebKitInspector( realmInspectorModulesProvider )
                        .build() );

        RealmConfiguration config = new RealmConfiguration.Builder()
                .name( DB_NAME )
                .deleteRealmIfMigrationNeeded()
                .encryptionKey( generateSecurityKey() )
                .build();

        Realm.deleteRealm( config );

        Realm.setDefaultConfiguration( config );
    }

   private byte[] generateSecurityKey() {
        ByteBuffer bb = ByteBuffer.wrap( new byte[64] );
        bb.putInt( UUID.randomUUID().hashCode() );
        return bb.array();
    }

    @Override
    public void onTerminate() {
        super.onTerminate();
        Realm realm = Realm.getDefaultInstance();
        if (!realm.isClosed()) {
            Realm.getDefaultInstance().close();
        }
    }
}

это мои зависимости:

//  stetho for database lookup
implementation "com.uphyca:stetho_realm:2.3.0"
implementation "com.facebook.stetho:stetho:1.5.0"

1 Ответ

1 голос
/ 02 мая 2019

Вам не хватает ключа шифрования для Королевства.

String securityKey = generateSecurityKey();

    RealmInspectorModulesProvider realmInspectorModulesProvider = RealmInspectorModulesProvider.builder(this)
              .withDeleteIfMigrationNeeded(true)
              .withEncryptionKey(DB_NAME, securityKey)
              .build();

    Stetho.initialize(
            Stetho.newInitializerBuilder( this )
                    .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                    .enableWebKitInspector( realmInspectorModulesProvider )
                    .build());

    RealmConfiguration config = new RealmConfiguration.Builder()
            .name( DB_NAME )
            .deleteRealmIfMigrationNeeded()
            .encryptionKey(securityKey)
            .build();
...