Modul/Addon

  • 10 Antworten
  • Neuester Beitrag
Diskutiere Modul/Addon im Android App Entwicklung im Bereich Betriebssysteme & Apps.
B

Braesident

Ambitioniertes Mitglied
Hallo zusammen,

wie werden Addons für eine bestimmte App erstellt.

Mein Ziel ist eine App mit vielleicht ein oder zwei Activitys (z.B. Menü und Settings). Zusätzlich möchte ich Addons erstellen die der App weitere Funktionen und Daten zur Verfügung stellen. Diese Addons haben dann auf dem Homescreen oder der App-Galerie kein Icon (nur noch über Einstellungen->Apps).

Ich glaube das Schlagwort ist Gradle. Wissen tue ich es aber nicht. Und wie weiter...
Ich hoffe jemand von euch kann mir da die entsprechenden Tipps geben.

Als Beispiel hab ich da QuickSupport von TeamViewer. Diese App benötigt ein eigenes Addon welches Gerätespezifisch entwickelt wurde.
 
D

deek

Stammgast
Ganz ehrlich, fang erstmal mit einer App an. Es gibt verschiedene Varianten "Addons" oder Plugins zu realisieren, aber keiner davon ist trivial meiner Meinung nach. Es kommt auch ganz drauf an was du genau möchtest. Grafiken aus einem Addon ist deutlich einfacher als Code einer anderen Apk in deinem Context auszuführen.

Und nein, Gradle ist hier nicht das Schlagwort. Gradle ist das Build Tool, dass du für jede App brauchst, egal wie einfach.

Stichworte: sharedUserId (afaik nicht mehr lange unterstützt), Context.createPackageContext, Service/aidl, startActivityForResult
Es kommt halt ganz drauf an was du genau erreichen willst.
 
B

Braesident

Ambitioniertes Mitglied
Vielen Dank für deine Antwort.

Es soll nicht meine erste App werden. Etwas Vorwissen ist schon da. Auch hier im Forum hab ich schon die ein oder andere Frage gestellt. Mein Schwerpunkt lag allerdings in den letzten 2 Jahren woanders.

Ich hatte vorher etwas in meiner Suchmaschine rumgewühlt und irgendwo etwas in diesem Zusammenhang gelesen. In diesem Artikel wurde unter anderem von Gradle geschrieben... daher meine Vermutung.

Einige deiner Stichworte sind mir auch bekannt... was ich zB nicht weiß, wie ein Addon nicht als allein auszuführende App auf dem Gerät angezeigt wird.

Was ich erreichen will, ist im Moment
1. das mein Addon ein Formular bereitstellt/anzeigt und dessen Daten wieder zurück gibt
2. Einstellungen/Flags an die Hauptapp übergeben
 
D

deek

Stammgast
Wenn du keine Activity im Manifest hast, die CATEGORY_LAUNCHER definiert, dann wird die App nicht im normalen App-Drawer angezeigt.

Ich würde erstmal versuchen mit Intents zu arbeiten. Du kannst über den PackageManager checken ob eine andere App installiert ist, dann schickst du ein entsprechendes Intent mit startActivityForResult und wartest darauf, dass die Activity dein Result zurück gibt.
 
B

Braesident

Ambitioniertes Mitglied
Leider will das so nicht funktionieren. Sobald ich im Manifest kein CATEGORY_LAUNCHER und/oder ...action.MAIN definiert habe lässt sich die App nicht mehr erstellen. Android Studio meldet über dem Run-Reiter "Error running 'App': Default Activity not found".

Android Studio 3.4.2

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

    <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="mypackage.myplugin.action.ADDON" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>
 
swa00

swa00

Moderator
Teammitglied
Hallo Braesident.

ich denke, das ist genau der Punkt , weshalb dich deek gebeten hat , erst ein wenig mehr in die Grundlagen einzusteigen.

Du wunderst dich über die Fehlermeldung ?
Nun , du hast jetzt keine Haupt Activity mehr als Launcher deklariert ...
 
B

Braesident

Ambitioniertes Mitglied
Hallo swa00,

ich bin mir dessen ja bewusst das keine Activity mehr als Haupteinstiegspunkt deklariert ist. Mir ist auch klar das es nicht unbedingt immer von Vorteil ist wenn es diesen nicht mehr gibt.

Bei meiner Suche nach einer Problemlösung finde ich leider nur die Information die deek mir schon gab und genau gegensätzliches... das CATEGORY_LAUNCHER definiert sein muss.

Mich wundert die Fehlermeldung weil es laut Autoren anderer Foren genau so möglich ist wie deek oben schon schrieb.
 
swa00

swa00

Moderator
Teammitglied
Du hast deek nicht ganz verstanden.
Du sollst zusätzlich deine Addon Activity ohne launcher flag deklarieren
 
D

deek

Stammgast
Du versuchst die App über android Studio zu STARTEN. Das geht natürlich nicht ohne Launcher. BAUEN geht aber schon.
z.b. auf der Kommandozeile gradlew assembleDebug
Oder direkt installieren gradlew installDebug
Es geht auch in Android Studio, musst du aber selbst schauen wie.
 
B

Braesident

Ambitioniertes Mitglied
Hey Leute, danke für eure Unterstützung.

Das hatte ich nicht bedacht, dass Android Studio die App ja gleich startet... jetzt geht es.

Vielen Dank