Home / Android-Entwicklung / Das Android Arsenal – Gradle Plugins

Das Android Arsenal – Gradle Plugins

Gradle-Plugin, das das Abrufen des Android OpenCV SDK und das Verknüpfen mit dem Projekt automatisiert und das Einbinden von OpenCV in Android-Anwendungen vereinfacht.

Verwendung

Das Plugin ist derzeit noch nicht in öffentlichen Repositories veröffentlicht. Um das Plugin zu verwenden, muss es lokal auf dem Computer kompiliert und veröffentlicht werden, damit Projekte es auflösen und verwenden können:

 git clone https://github.com/ahasbini/AndroidOpenCVGradlePlugin.git
 cd 

 AndroidOpenCVGradlePlugin

 #  Entweder (unter Windows): 


gradlew.bat: plugin: publishToMavenLocal
 #  oder (on * nix): 

./gradlew: plugin: publishToMavenLocal 

Sobald die obigen Befehle vollständig ausgeführt wurden, befindet sich das Plugin jetzt im lokalen Maven-Repository der Maschine ( .m2 ) unter com ahasbini tools android-opencv-gradle-plugin .

Für die Verwendung in einem Android-Projekt sind die folgenden Änderungen erforderlich:

  1. Im Projekt build.gradle (im Stammverzeichnis des Projekts Ordner), ändern Sie die Repositorys und der Abhängigkeiten wie folgt:
 buildscript 

 {
    Aufbewahrungsorte {
        mavenLocal ()  //  Zu Beginn des Blocks 

         //  ... google () oder jcenter () andere 

        maven { //  Am Ende des Blocks und nach google () 

           URL  ' https://repo.gradle.org/gradle/libs-releases ' 




        }
    }
    Abhängigkeiten {
         //  ... das Android-Plugin und andere Klassenpfaddefinitionen 

        Klassenpfad  ' com.ahasbini.tools:android-opencv-gradle-plugin:0.0. + ' 


    }
} 
  1. Fügen Sie in der Datei App Modul (oder Anwendungs- / Bibliotheksmodul, das Sie entwickeln) build.gradle das android-opencv-gradle-plugin Plugin und das androidOpenCV wie folgt:
 //  Plugin anwenden: 'com.android.application' oder anderes Android-Plugin 

anwenden  Plugin :  ' com.ahasbini.android-opencv-gradle-plugin '  //  Nach dem Android-Plugin 

 //  ... 

 android 
 {
     //  ... 



}

 androidOpenCV  { //  Nach dem Android-Block 



     //  Erforderlich: Version von OpenCV für das Projekt 

    version  ' 3.3.0 ' 



     //  Optional: Benutzerdefinierte URL zum Herunterladen der 

     //  opencv-xxx-android-sdk.zip-Datei unter 

     //  https://sourceforge.net/projects/opencvlibrary/files/opencv-android

    URL  ' https://sourceforge.net/projects/opencvlibrary/files/opencv-android/3.3.0/opencv-3.3.0-android-sdk.zip/download ' 



 }

 //  ... 
  1. Optional : Wenn das Projekt keinen C ++ - Code enthielt (normalerweise in den Ordnern jni oder cpp unter {project_app_module} / src / main / ), führen Sie die folgenden Änderungen durch:

    • Fügen Sie die folgenden Änderungen im App-Modul (oder im Anwendungs- / Bibliotheksmodul, das Sie entwickeln) hinzu. build.gradle Datei:
     android 
     {
         //  ... 
    
    
    
        externalNativeBuild {
            cmake {
                Pfad  " CMakeLists.txt " 
    
    
    
            }
        }
    } 
    • Erstellen Sie die Datei CMakeLists.txt im Verzeichnis des Moduls (oder des von Ihnen entwickelten Anwendungs- / Bibliotheksmoduls) und suchen Sie in den Android-Handbüchern nach NDK oder im Beispiel nach weiteren Informationen
  2. Führen Sie eine Gradle-Synchronisierung durch aktualisieren Sie verknüpfte C ++ – Projekte ( Erstellen> Verknüpfte C ++ – Projekte aktualisieren ) und kompilieren Sie, um sicherzustellen, dass die Integration erfolgreich war.

Grundlegende Logik und Implementierung

TL; DR Das Plugin lädt das opencv-xxx-android-sdk.zip herunter, extrahiert die Dateien, kompiliert die Java-Quellen in AARs und verknüpft sie zusammen mit JNI-Binärdateien mit Hilfe von Abhängigkeiten und externalNativeBuild -Konfigurationen.

Im Einzelnen sind die Schritte aufgeführt, die (hauptsächlich in dieser Reihenfolge) ausgeführt werden. Diese finden Sie hauptsächlich in AndroidOpenCVGradlePlugin.java :[19659036[SettheOpenCVJNIdirectoryandArgumenteder externalNativeBuild in der [19459] 013] android -Block.

  • Extrahieren Sie die angeforderte Version von OpenCV aus dem androidOpenCV -Block.
  • Überprüfen Sie, ob es den opencv-xxx-android-sdk.zip in das Verzeichnis {user_home} /. Androidopencv / {version} unter Verwendung der URL-Vorlage "https://sourceforge.net/projects/opencvlibrary/files/" + version + "/ opencv - "+ version +" -android-sdk.zip " oder der Wert von url in androidOpenCV blockieren.
  • Überprüfen Sie, ob die heruntergeladene ZIP-Datei vorhanden ist, oder extrahieren Sie sie.
  • Überprüfen Sie, ob die JNI-Verzeichnisse (im ersten Schritt verwendeter Pfad) vorhanden sind, oder kopieren Sie sie nach {project_module_directory} / build / androidopencv builds) in {user_home} /. androidopencv / {version} / build-cache unter Verwendung der Gradle Tooling API.
  • Add flatDir repository wi th {user_home} /. androidopencv / {version} / build-cache / output pfad und abhängigkeiten hinzufügen debugImplementation und releaseImplementation mit den AARs zu projektieren Abhängigkeiten .
  • Contributing & Future Plans

    Da dies noch in der Entwicklung und in der Erprobung ist und noch nicht veröffentlicht wurde, können Sie Ihre Beiträge zum Projekt teilen, um Probleme, Code-Verbesserungen und / oder Funktionserweiterungen und -anforderungen zu ermitteln . Im Folgenden finden Sie eine kurze Liste der Dinge (TODOs), die für das Projekt geplant sind:

    About AndroidWeltEditor

    Check Also

    Wie Android-Entwickler Benutzer auf jedem Gerät erreichen können

    Gepostet von Allan Livingston, Produktmanagementdirektor, Chrome OS App Ecosystem Android unterstützt mobile Apps auf Geräten, …

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.