[JAVA] Comment utiliser Mali Graphics Debugger pour déboguer des applications pour Android (même celles créées avec + Unity)

Mali Graphics Debugger Il existe un débogueur pour les appareils Android qui utilise Mali pour le GPU appelé "Mali Graphics Debugger".

Cette fois, j'ai appris à utiliser ce débogueur, donc je l'ai résumé. La seconde moitié aborde également les méthodes pour les applications créées avec Unity.

procédure

Cette fois, elle a été réalisée pour la version 32 bits (armeabi-v7a) sur un terminal Android non rooté. Au fait, celui que j'ai utilisé est le Galaxy S6.

1. Télécharger

Tout d'abord, téléchargez Mali Graphics Debugger à partir du site ARM. Exécutez le fichier téléchargé et installez les fichiers requis. Vous pouvez laisser la destination d'installation par défaut.

2. Déplacez le fichier libMGD.so

Du dossier que vous avez téléchargé précédemment 'C:\Program Files\ARM\Mali Developer Tools\Mali Graphics Debugger v4.1.0\target\android-non-root\arm\armeabi-v7a' Je pense qu'il y a un fichier appelé libMGD.so dedans. Ce fichier 'C:\android\arm\armeabi-v7a' Allez dans le dossier appelé.

3. Redirection de port

Lancez Android Studio et ouvrez le fichier de l'application que vous souhaitez déboguer. Connectez votre appareil Android à votre PC et entrez la commande suivante sur la ligne de commande Android Studio.

adb forward tcp:5002 tcp:5002

4. Installez le programme démon sur un appareil Android

Installez le programme démon du côté de l'appareil Android. Entrez la commande suivante sur la ligne de commande.

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

5. Modifiez build.gradle

Ajoutez le répertoire jniLibs suivant à l'application build.gradle

build.gradle


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

\ Peut devoir être remplacé par une marque circulaire

6. Modifier MainActivity

Ajoutez le code suivant à l'activité principale de l'application.

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. Exécutez l'application

Installez l'application sur votre appareil Android. Ensuite, ouvrez l'application cible à partir de l'application MGD Daemon.

8. Lancez le débogueur

Côté PC 'C:\Program Files\ARM\Mali Developer Tools\Mali Graphics Debugger v4.1.0' Veuillez lancer Launch.bat dans. Après le démarrage, sélectionnez Se connecter à la cible à partir du débogage dans le menu supérieur gauche pour démarrer le traçage.

Pour l'unité

Dans le cas d'une application créée avec Unity, cela a bien fonctionné lorsque je l'ai exécutée selon le site de cette personne.

Building a Unity Application with Mali Graphics Debugger Support

Si vous pouvez lire l'anglais, je pense que vous pouvez l'exécuter sans aucun problème si vous lisez ce site. Vous pouvez faire ce qui est écrit ici au lieu de l'étape 6 ci-dessus.

Je résumerai uniquement les parties qui étaient nécessaires en japonais.

1. Créez une classe StandardActivity

N'effectuez pas l'étape 6 ci-dessus. Au lieu de cela, créez une nouvelle classe StandardActivity.java et écrivez le code suivant.

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. Modification du manifeste Android

Rewrite android: nom de l'activité dans AndroidManifest.xml.

AndroidManifest.xml


activity android:name=”StandardActivity” 

Après cela, vous pouvez déboguer en suivant la procédure ci-dessus.

Recommended Posts

Comment utiliser Mali Graphics Debugger pour déboguer des applications pour Android (même celles créées avec + Unity)
[Pour ceux qui créent des portefeuilles] Comment utiliser binding.pry avec Docker
Comment utiliser Truth (bibliothèque d'assertions pour Java / Android)
[Pour ceux qui créent des portfolios] Comment utiliser font-awesome-rails
[Pour ceux qui créent des portefeuilles] Comment utiliser Chart kick
Comment se débarrasser des applications Android qui plantent avec l'erreur mystère RenderThread
Comment utiliser mssql-tools avec Alpine
Comment utiliser binding.pry pour afficher le fichier
[Android] Comment gérer les thèmes sombres
[Ruby] Comment utiliser slice pour les débutants
[Pour les débutants] Comment déboguer avec Eclipse
Comment utiliser ExpandableListView dans Android Studio
[Java] Comment tester s'il est nul dans JUnit
Comment utiliser MyBatis2 (iBatis) avec Spring Boot 1.4 (Spring 4)
Comment utiliser un tableau pour les clés HashMap
Comment utiliser le framework Java avec AWS Lambda! ??
Comment utiliser l'API Java avec des expressions lambda
Comment créer un plug-in natif Unity (version Android)
Comment utiliser le protocole NFS version 2 avec Ubuntu 18.04
[Pour les super débutants] Comment utiliser l'autofocus: vrai
Comment utiliser UsageStatsManager dans Android Studio (Comment vérifier l'heure de démarrage d'autres applications)