Почему происходит сбой приложения Android-Things на новой фабрике подключений - PullRequest
0 голосов
/ 29 апреля 2019

Попытка использовать RabbitMQ в проекте AndroidThings, но приложение зависает на фабрике ConnectionFactory = new ConnectionFactory ();Ошибка консоли A / libc: фатальный сигнал 11 (SIGSEGV), код 1, адрес ошибки 0x68 в tid 3083 (an.rabbitmqtest), pid 3083 (an.rabbitmqtest)

Я включил разрешение на использование android: имя= "android.permission.INTERNET" в манифесте

Мой тестовый проект только для соединения.

Gradle включает реализацию 'com.rabbitmq: amqp-client: +'

import android.app.Activity;
import android.os.Bundle;

import java.net.URISyntaxException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;

import com.rabbitmq.client.ConnectionFactory;


public class MainActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setupConnectionFactory();

  }

  // next line is the problem!
  ConnectionFactory factory = new ConnectionFactory();

  private void setupConnectionFactory() {
    String uri = "CLOUDAMQP_URL";
    try {
        factory.setAutomaticRecoveryEnabled(false);
        factory.setUri(uri);
    } catch (KeyManagementException | NoSuchAlgorithmException | 
             URISyntaxException e1) {
        e1.printStackTrace();
    }
  }
}

1 Ответ

0 голосов
/ 03 мая 2019

Мне удалось решить проблему на данный момент, принудительно установив старую клиентскую библиотеку AMQP в Gradle.com.rabbitmq: amqp-client: 4.11. + Возможно, ошибка в последней версии 5.7 AMQP lib, я использую JRE 1.8 .... так что я бы подумал, что это должно работать.

...