Демонстрации PixiJS в эмуляторе Android выглядят пустыми

Демонстрации PixiJS, такие как http://pixijs.io/examples/?v=v4.7.0, не загружаются при визуализации в WebView.

Действия по воспроизведению

  • Android Studio: 3.0.1
  • Эмулятор Android: 27.1.12-4623001
  • Эмулятор: Nexus 5, работающий API 25

Действия по воспроизведению

  • Создайте новое приложение в Android Studio с основными действиями
    • Файл> Новый> Новый проект
    • На экране "Создание проекта Android" нажмите "Далее".
    • На экране "Целевые устройства Android" нажмите "Далее".
    • На экране "Добавить действие на мобильный" нажмите "Очистить действие" и затем нажмите "Далее".
    • На экране "Настройка активности" нажмите Готово
  • Добавьте WebView в activity_main.xml, он должен выглядеть следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.locuslabs.myapplication.MainActivity">

    <WebView
        android:id="@+id/llWebView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

  • Добавьте разрешение в AndroidManifest.xml, оно должно выглядеть так:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.locuslabs.myapplication">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

  • Добавьте следующий код в MainActivity.java:

    package com.locuslabs.myapplication;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            WebView webView = findViewById(R.id.llWebView);
            webView.setWebViewClient(new WebViewClient());
            WebSettings webSettings = webView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            String urlString = "http://pixijs.io/examples/?v=v4.7.0#/basics/basic.js";
            webView.loadUrl(urlString);
        }
    }
    
  • Когда вы запускаете его в эмуляторе Android 27.1.12-4623001, он выглядит пустым (см. Первый скриншот ниже), но в эмуляторе Android 26.1.4-4266726 он отображается хорошо (см. Второй скриншот ниже).

pixijs-не-рендеринг-на-андроид-эмулятор-27.1.12-4623001

pixijs-оказывает мелкодисперсной-на-андроид-эмулятор-26.1.4-4266726

Как мне запустить демонстрацию PixiJS на эмуляторе Android?

1 ответ

Решение

Я смог запустить демо PixiJS на эмуляторе Android, опустив его до эмулятора Android 26.1.4-4266726. Смотрите Как понизить эмулятор Android

Другие вопросы по тегам