[JAVA] Verwendung des Mali Graphics Debugger zum Debuggen von Apps für Android (auch von Apps, die mit + Unity erstellt wurden)

Mali Graphics Debugger Es gibt einen Debugger für Android-Geräte, der Mali für die GPU verwendet und "Mali Graphics Debugger" heißt.

Dieses Mal habe ich gelernt, wie man diesen Debugger benutzt, also habe ich es zusammengefasst. In der zweiten Hälfte werden auch Methoden für Apps behandelt, die mit Unity erstellt wurden.

Verfahren

Dieses Mal wurde es für die 32-Bit-Version (armeabi-v7a) auf einem Android-Terminal ausgeführt, das nicht gerootet ist. Ich habe übrigens das Galaxy S6 verwendet.

1. Herunterladen

Laden Sie zunächst den Mali Graphics Debugger von [ARM Site] herunter (http://malideveloper.arm.com/resources/tools/mali-graphics-debugger/). Führen Sie die heruntergeladene Datei aus und installieren Sie die erforderlichen Dateien. Sie können das Standardinstallationsziel beibehalten.

2. Verschieben Sie die Datei libMGD.so

Von dem Ordner, den Sie zuvor heruntergeladen haben 'C:\Program Files\ARM\Mali Developer Tools\Mali Graphics Debugger v4.1.0\target\android-non-root\arm\armeabi-v7a' Ich denke, es gibt eine Datei namens libMGD.so darin. Diese Datei 'C:\android\arm\armeabi-v7a' Wechseln Sie in den Ordner mit dem Namen.

3. Portweiterleitung

Starten Sie Android Studio und öffnen Sie die Datei für die App, die Sie debuggen möchten. Schließen Sie Ihr Android-Gerät an Ihren PC an und geben Sie den folgenden Befehl in der Android Studio-Befehlszeile ein.

adb forward tcp:5002 tcp:5002

4. Installieren Sie das Daemon-Programm auf dem Android-Gerät

Installieren Sie das Daemon-Programm auf der Android-Geräteseite. Geben Sie den folgenden Befehl in die Befehlszeile ein.

adb install -r C:\Program Files\ARM\Mali Developer Tools\Mali Graphics Debugger v4.1.0\target\android-non-root\MGDDaemon.apk

5. Bearbeiten Sie build.gradle

Fügen Sie der App build.gradle das folgende jniLibs-Verzeichnis hinzu

build.gradle


sourceSets.main.jniLibs.srcDir 'C:\\Android\\arm'

\ Muss möglicherweise in eine Kreismarkierung geändert werden

6. Bearbeiten Sie MainActivity

Fügen Sie der Hauptaktivität der App den folgenden Code hinzu.

MainActivity.java


static {
    	try {
        		System.loadLibrary("MGD");
    	}
    	catch( UnsatisfiedLinkError e ){
        		// Feel free to remove this log message.
        		Log.e("[ MGD ]", "libMGD.so not loaded.");
    	}
}

7. Führen Sie die App aus

Installieren Sie die App auf Ihrem Android-Gerät. Öffnen Sie dann die Ziel-App über die MGD Daemon-App.

8. Starten Sie den Debugger

Auf der PC-Seite 'C:\Program Files\ARM\Mali Developer Tools\Mali Graphics Debugger v4.1.0' Bitte starten Sie Launch.bat in. Wählen Sie nach dem Start im Menü oben links unter Debuggen die Option Mit Ziel verbinden, um die Ablaufverfolgung zu starten.

Für die Einheit

Bei einer mit Unity erstellten App hat es einwandfrei funktioniert, als ich sie gemäß der Website dieser Person ausgeführt habe.

Building a Unity Application with Mali Graphics Debugger Support

Wenn Sie Englisch lesen können, können Sie es meiner Meinung nach problemlos ausführen, wenn Sie diese Site lesen. Es ist in Ordnung, das zu tun, was hier geschrieben steht, anstatt Schritt 6 oben.

Ich werde nur die Teile zusammenfassen, die auf Japanisch notwendig waren.

1. Erstellen Sie eine StandardActivity-Klasse

Führen Sie Schritt 6 oben nicht aus. Erstellen Sie stattdessen eine neue StandardActivity.java-Klasse und schreiben Sie den folgenden Code.

StandardActivity.java


package test.application;  
import com.unity3d.player.UnityPlayerActivity;  
import android.os.Bundle;  
import android.util.Log;  
  
public class StandardActivity extends UnityPlayerActivity  
{  
    protected void onCreate(Bundle savedInstanceState)  
    {      
        try  
        {  
            System.loadLibrary("MGD");  
        }  
        catch( UnsatisfiedLinkError e)  
        {  
            Log.i("[ MGD ]", "libMGD.so not loaded.");  
        }  
        super.onCreate(savedInstanceState);  
    }  
}  

2. Bearbeiten des Android-Manifests

Android umschreiben: Name der Aktivität in AndroidManifest.xml.

AndroidManifest.xml


activity android:name=”StandardActivity” 

Danach können Sie das Debuggen wie oben beschrieben durchführen.

Recommended Posts

Verwendung des Mali Graphics Debugger zum Debuggen von Apps für Android (auch von Apps, die mit + Unity erstellt wurden)
[Für diejenigen, die Portfolios erstellen] Verwendung von binding.pry mit Docker
Verwendung von Truth (Assertion Library für Java / Android)
[Für diejenigen, die Portfolios erstellen] Verwendung von Font-Awesome-Rails
[Für diejenigen, die Portfolios erstellen] Verwendung von Chart Kick
So entfernen Sie Android-Apps, die mit dem RenderThread-Rätselfehler abstürzen
Wie man mssql-tools mit alpine benutzt
Verwendung von binding.pry für die Ansichtsdatei
[Android] Wie man mit dunklen Themen umgeht
[Ruby] Wie man Slice für Anfänger benutzt
[Für Anfänger] So debuggen Sie mit Eclipse
Verwendung von ExpandableListView in Android Studio
[Java] So testen Sie, ob es in JUnit null ist
Verwendung von MyBatis2 (iBatis) mit Spring Boot 1.4 (Spring 4)
So verwenden Sie ein Array für HashMap-Schlüssel
Verwendung des Java-Frameworks mit AWS Lambda! ??
Verwendung der Java-API mit Lambda-Ausdrücken
Wie erstelle ich Unity Native Plugin (Android-Version)
Verwendung des NFS-Protokolls Version 2 mit Ubuntu 18.04
[Für Super-Anfänger] Verwendung des Autofokus: true
Verwendung von UsageStatsManager in Android Studio (Überprüfen der Startzeit anderer Apps)