G900F Kann App nicht fehlerfrei zu Systemapp machen

borisbecker01

borisbecker01

Fortgeschrittenes Mitglied
24
Hallo Leute. :)
Im Internet finde ich auch keine Lösung :-(
Ich habe inzwischen 2 Apps (mSwitch und Cerberus) die nur dann richtig 100% funktionieren wenn Sie als Systemapp installiert werden.
Das bedeutet ich muss die Apps portieren.
Ich habe es probiert mit "Link2SD" und auch mit der App "/system/app mover"
Bei beiden Apps das gleiche Problem :

Sobald die Apps portiert (verschoben) wurden und das Handy neu gebootet wurde, wird das AppIcon Grau und ich kann die App nicht starten.

Die apps werden ins Verzeichniss /system/priv_app verschoben.

Dort kann ich sie nicht starten.
Es klappt auch nicht wenn ich "per Hand" verschiebe.
How To Install Any App As A System App On Android [Guide]
How to install user apps as Android system apps

Ich habe ein Stockrom mit 6.0.1

Veileicht kennt Ihr das problem ja auch und könnt mir helfen ?
 
Zuletzt bearbeitet:
Probier es mal mit Titanium Backup. Damit kannst du auch Apps in Systemapps umwandeln. Wenn es damit auch nicht funktioniert, dann kannst du diese Apps nicht einfach so in Systemapps ändern.

Aber Cerberus müsste eigentlich eine Systemapp sein. Die installiert sich so tief ins System, wie kaum eine andere App. Bei dieser ist das Problem, dass du die nur löschen kannst, wenn du die in deinem Account (Internet) freigegeben hast. Also, dass diese nicht mehr mit deinem Account verbunden ist.

Also bei Cerberus kannst du ein Umwandeln schonmal vergessen...
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: borisbecker01
Danke für deine Hilfe.
Mit TitaniumBackup kann ich es nicht probieren, diese Funktion kostet Geld, ist nicht in der Freeware inbegriffen

Cerberus erklärt selbst unter seinen FAQ das man die App portieren soll, mit Link2Sd.

Auch Mswitch sagt man solle daraus eine Systemapp machen um verschiedene zusätzliche Funktionen, zb Flugmodus, nutzen zu können.

Ich weiß nicht mehr weiter....

Gruß
 
Wieso installieren sich diese Apps dann nicht gleich als Systemapps.... Ich hatte mal eine Zeit lang Cerberus. Diese App musste ich nach der installation nie portieren, die war von Anfang an hartnäckig tief im System drin. Wenn die App-Entwickler schreiben, dass man deren App nachträglich portieren soll, dann sollten die gefälligst auch dazu schreiben wie das funktioniert. Link2SD läuft mit Android 6 noch nicht ganz zuverlässig. Das sollte den Entwickler bekannt sein und dementsprechend darauf hinweisen.

Achso, gerootet sollte dein Smartphone schon sein. Sonst kann das ja gar nicht funktionieren...
 
  • Danke
Reaktionen: borisbecker01
@borisbecker01
Meinst du die App Cerberus von LSDroid? (siehe Anhänge)

Ich habe die App erst installiert ( PlayStore ) und mit ApkExtractor die Cerberus APK erstellt, dann die App wieder deinstalliert.

Ab jetzt Root erforderlich:
Öffne den RootBrowser und kopiere die Cerberus APK nach system/app und gebe der App die Berechtigung rw-r-r- ( lange auf die APK gedrückt halten - Permissions )
Jetzt Gerät neustarten.

Du kannzt auch bevor du z.B. eine ROM ZIP installierst, dir die ZIP etwas vorbereiten / abändern. Sprich, ein paar Apps die du als Systemapps haben möchtest, in die ZIP nach system/app einfügen (7-ZIP) und dann die ROM installieren.

Oder man erstellt sich eine flashable ZIP und installiert die gewünschten Apps übers TWRP ins system.

Wichtig ist, dass die Apps die man dem System hinzufügt auch mit der Androidversion kompatibel sind.
 

Anhänge

  • Screenshot_20160922-155305.png
    Screenshot_20160922-155305.png
    56,1 KB · Aufrufe: 429
Zuletzt bearbeitet:
  • Danke
Reaktionen: borisbecker01
hast du das schonmal gemacht....? Da fehlt nämlich ein ganz entscheidenter Punkt in deiner Anleitung... Es reicht nicht einfach nur die Files in das Zip-Archiv zu packen, man muss auch die Installationsscripte entsprechend ändern. Der Installer muss ja wissen, was mit den Dateien in dem Archiv passieren soll und mit welchen Rechten diese installiert werden.
Wenn man die Scripte unverändert lässt, aber die Dateien im Archiv ändert, kann es zu einem Brick führen...
 
  • Danke
Reaktionen: borisbecker01
Ja klar mach ich das schon ein paar Jahre. ;)

Es geht ja nicht um hunderte von Systemapps die man in der ZIP verändert, löscht oder hinzufügt. Wenn man einfach ein paar Apps dem System hinzufügen möchte, ist das ok so.

Der updater script sagt dem TWRP diesen Befehl: package_extract_dir("system", "/system"); Damit wird alles was sich in der ZIP im Ordner system befindet, auf die Systempartition des Gerätes installiert. Und ja einige Systemapps sind mit diversen lib Dateien verbunden und im updater script aufgelistet. Diese Dateien haben aber nichts mit den paar Apps zutuhen die wir hinzugefügt haben.

Was den Berechtigungen angeht sagt der updater script dem TWRP z.B. diese Befehle:
set_perm_recursive(0, 0, 0775, 0644, "/system/app");
set_perm_recursive(0, 0, 0775, 0644, "/system/priv-app");
set_perm_recursive(0, 0, 0775, 0644, "/system/framework");
das heißt soviel, dass alle Apps oder Dateien in diesen Ordnern ( app, priv-app, framework usw. )ein und die selben Berechtigungen bekommen.

Sorry einen Brick kenne ich nicht, was soll das sein? Man muss sich halt nur zu helfen wissen glaube ich.?

Gruss
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: borisbecker01
Mag ja sein, dass du das schon paarmal gemacht hast. Aber andere sicher noch nicht und da war dein erster Vorschlag, einfach die Apps/Dateien in ein ZIp-Paket zu packen und dann über TWRP zu installieren, nicht zielführend, weil so das gar nicht gegangen wäre. Und deine zweite Beschreibung ist auch wieder unvollständig. Da fehlt der Befehl für Busybox damit du erstmal das System mounten kannst:
run_program("/sbin/busybox", "mount", "/system")

Und einfach nur als Order "/System" zu nehmen, damit die Files alle in dieses Verzeichnung kopiert werden, funktioniert auch nur, wenn in dem Installationspaket die Dateien schon in den entsprechendenen Unterordner sind:
Zum Beispiel /system/priv-app; /system/lib; system/etc usw.

Diese müssen dann auch noch die richtige Bezeichnung haben. Damit später die App auch die Dateien finden kann, die auf der Systempartition liegen. Der Ordner kann ja nicht einfach nach der App auf gut Glück benannt werden.

Zur Kontrolle, was TWRP mit den Dateien macht, muss zusätzlich noch ui_print(****) eingetragen werden. Und natürlich auch wieder das System unmounten:
run_program("/sbin/busybox", "umount", "/system")

Also wenn man schon erklärt, was in dem Script stehen muss, dann sollte es schon komplett sein. Sonst steht der Nutzer am Ende genauso im Regen wie vorher... Wenn du so ungenau arbeitest, dann sollte man schon wissen was ein Brick ist, weil früher oder später kommt es dazu...
 
  • Danke
Reaktionen: borisbecker01
Mein Ziel war es nicht, dass sich hier irgendwer auf die Füße getreten fühlt. Mein erster Vorschlag war mit dem RootBrowser die Apk ins System zu kopieren. Warum? Weil das einer der einfachsten Wege ist, eine App in eine Systemapp umzuwandeln. (siehe Screenshot Beitrag #5) Wenn die App dann nicht funktioniert, wird sie wahrscheinlich nicht mit der Androidversion (Sicherheitspatch usw.) kompatibel sein.

In diesen Fall wäre es sinnlos eine flashable Zip zu erstellen und die App übers TWRP ins System zu hauen. Und genau aus diesen Grund bin ich erstmal nicht weiter auf das Thema eingegangen. Auch ein Grund ist, der Threadstarter hat bisher keine Rückmeldung gegeben und auch kein Interesse an einer Zip fürs TWRP gezeigt ! Warum sollte ich hier eine warlos lange Anleitung für nichts und wieder nichts schreiben ! Es war für mich nur ein erwähnenswertes Beispiel...

Ein weiteres Beispiel war es mit den Befehlen des updater scriptes auf den Satz "Es reicht nicht einfach nur die Files in das Zip-Archiv zu packen, man muss auch die Installationsscripte entsprechend ändern." bezogen. Für mich hatte es sich so angehört, dass jede einzelne App im script aufgelistet sein muss, dem aber nicht so ist... Aber da ging es auch noch um das hinzufügen von Apps in die ROM ZIP. Jetzt wird aufeinmal die flashable Zip kritisiert, die von meiner Seite aus nur als Nebenpunkt erwähnt wurde.

Sorry, auf so ein hin und her hab ich echt kein Bock ! Mir ging es hier um Hilfestellung geben was ja der Name des Forums schon aussagt. Fand dieses Forum bisher ganz interessant aber wenn man sich hier für ungenau und in meinen Augen dumm erklären lassen muss, gebe ich meine Hilfestellungen die bisher gut angekommen sind wohl in einen anderen Forum ab !

Gruss und ein angenehmes WE !
 
  • Danke
Reaktionen: borisbecker01
echt dünnhäutig manche User.,.. Erst sagen man weiß genau was man tut und dann rekapitulieren, wenn jemand die Anleitung ergänzt.+

Das war keine Kritik an deiner Person, sondern nur ein Hinweis und eine Ergänzung, falls es jemand genauso machen möchte, wie du vorgeschlagen hast. Wobei es bei sowas besser ist, ein Script von einem anderen Zip-Paket zu nehmen und dieses einfach umzuschreiben und anzupassen, als sich selber damit rumschlagen zu müssen, wenn man noch nicht mal was mit den Befehlen anfangen kann.

Mann kann auch im TWRP mit dem Dateibrowser die Systemdateien ins schreibgeschützte Systemverzeichnis kopieren´. Dafür muss man nur das System manuell mounten und alle relevanten Files auf einem Stick vorbereiten.

Aber meistens kann man das ja von einer App erledigen lassen, Benutzerapps in Systemapps umzuwandeln.. Der Nachteil daran ist halt, das evtl. nach einem Systemupdate die Daten überschrieben sind und man das ganze nochmal durchführen muss.
 
  • Danke
Reaktionen: borisbecker01
Das hat doch nix mit dünnhäutig zu tuhen, ich habe halt schon in meinen Elternhaus zu lernen bekommen, dass der Klügere immer nachgibt. :lol:
 
  • Danke
Reaktionen: borisbecker01
Hallo Ihr. :)
Sry daß ich mich jetzt erst melde. Ich hatte keine Gelegenheit Online zu gehen bzw mich mit dem Fall zu beschäftigen.
Wow, Ihr seit hier ja voll in die Tiefe gegangen. DANKE DAFÜR ! :)
@T33 Ja es ist die App von LSdroid. Ich werde das mit dem ApkExtractorals erstes testen.
Dann melde ich mich wieder und teste den Rest.
 
Hallo Ihr beiden :)
Jetzt habe ich grad ein kleines Zeitfenster um mir eure Texte im Detail durchzulesen.
Ich finde es schade, daß Ihr beide euch "an die Köppe" bekommen habt. :(
Mir scheint als ob Ihr beide viel von der Materie wisst.
Danke daß ihr euer Wissen mit uns teilt :)
Ihr seit echt wichtig in diesem Forum ^^

Also, ich weiss nicht wie ichs sagen soll.......
Aus irgendeinem zauberhaften Grund ist nun mein Cerberus als SystemApp installiert und ich habe ein Icon und kann es nutzen.
Aus heiterem Himmel von Jetzt auf Gleich.
Das hat mich selbst so überrascht daß ich euch nicht sagen kann, was ich gemacht habe.
Immerhin hatte ich ja vieles hinundher getestet und verschoben. ;-)
cerberus.apk ist nun in system\priv-app ABER nicht das Verzeichniss, nur die einzelne Datei
andere Cerberus* Datein sind nun in system\etc.

Ich schnall das alles nicht :)
Wie auch immer, cerberus läuft.
wäre schön wenn das nun auch so magisch mit Mswitch gehen würde ^^
 
  • Danke
Reaktionen: T33
Danke ;)

Versuche doch mal die App Mswitch wie im Beitrag #5 beschrieben, mit dem Root Browser ins System einzufügen. Hatte auf diesen Weg noch nie Probleme gehabt.
 
  • Danke
Reaktionen: borisbecker01
@T33 Also..... ES HAT GEKLAPPT ! :) Oh FREUDE ! Mswitch ist installiert :)
;-) ABER :
Ich habe es so gemacht wie du es gesagt hast.
Erst App ausm Playstore, dann App extrahiert, dann App deinstalliert.
mit ESFile die extrahierte App nach system/app kopiert , Schreibrechte geändert, und neu gestartet.
Android erkennt beim boot dann wohl die Datei und installiert sie ? (oder was auch immer es macht)
Das icon ist da, ich kann es starten ABER die Systemrechte blieben aus.

Also habe ich die App mit SDmaid wieder gelöscht und dann die extrahierte Datei diesmal in system/priv-app kopiert (aber dummerweise vergessen die Schreibrechte zu ändern / läuft aber trotzdem)((macht es sinn noch nachträglich die Schreibrechte zu ändern?)), Rebooten, Android erkennt die App und installiert sie? (oder was auch immer) , das Icon ist da, Ich kann die App starten,
und JUCHU die Systemrechte sind auch frei geschaltet ! :)
Anscheind müssen Systemapps in system/priv-app kopiert werden.
Ich DANKE EUCH BEIDEN für all die hilfreichen Tips !
Und wiedermal ist ein Fall erfolgreich gelöst worden ! ^^

Die Nachwelt mit ähnlichen Problemen wirds uns, EUCH danken ;-)

GRUSS
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: T33
Ok, danke für die Info.

Wundert mich zwar das es in system/app nicht ganz funktioniert hat, weil es ja bei mir auch ging. Aber egal, wenn es in system/priv-app geht, ist das ja auch ok. :thumbup:

Gruss
 
  • Danke
Reaktionen: borisbecker01
submain schrieb:
Wieso installieren sich diese Apps dann nicht gleich als Systemapps.... Ich hatte mal eine Zeit lang Cerberus. Diese App musste ich nach der Installation nie portieren, die war von Anfang an hartnäckig tief im System drin. Wenn die App-Entwickler schreiben, dass man deren App nachträglich portieren soll, dann sollten die gefälligst auch dazu schreiben wie das funktioniert. Link2SD läuft mit Android 6 noch nicht ganz zuverlässig. Das sollte den Entwickler bekannt sein und dementsprechend darauf hinweisen.

Achso, gerootet sollte dein Smartphone schon sein. Sonst kann das ja gar nicht funktionieren...

Nachtrag : Auf meinem S3 mit 4.4.4 musste ich auch nichts portieren. Da war die app direkt wo sie hingehört.
Ich meine aber ich musste einmalig in den Einstellungen einen Haken setzen für "Root Erlauben (oder ähnliches)" setzen.
Deine Meinung kann ich nur teilen : wenn die App sich schon selbst nicht vernünftig installiert, sollte man zumindest auf wohlmögliche Fehler hinweisen.
Mswitch ist da noch trauriger : Zum Thema RootRechte und Systemapp verweisen sie auf eine Comunity auf Nick.it. Diese Seite hält aber keinerlei Infos bereit! Kopfschüttel

:)
 
Grad erst noch gelesen, ja die Berechtigungen zum lesen und schreiben würde ich auf jeden Fall vergeben. Es könnte früher oder später Probleme geben wenn die App nicht die erforderlichen Rechte hat. Wenn die App in system/priv-app in einem Ordner ist, muss der Ordner die Berechtigung rwxr-xr-x und die apk darin oder nur die apk in system/priv-app rw-r-r- haben.

Siehe Beispiel Screenshots..
 

Anhänge

  • 20160928_125625.png
    20160928_125625.png
    41,2 KB · Aufrufe: 438
  • 20160928_125658.png
    20160928_125658.png
    117,7 KB · Aufrufe: 432
  • 20160928_125842.png
    20160928_125842.png
    119,6 KB · Aufrufe: 446
  • Danke
Reaktionen: borisbecker01
Ich danke Dir für deine bebilderte Anleitung ! :)

jetzt pass auf : ;-)
Mswitch hatte ich als apk in system\priv-app kopiert und hatte vergessen die Berechtigungen zu setzen.
Jetzt wo ich Deine Tips las habe ich nach dem Verzeichniss gesucht.
Installiert hat sich die App im Verzeichniss data\data\com.lennox.keycut\
(lennox Keycut heist die App Mswitch). Das musste ich erstmal suchen ;-)

Also alles wieder auf NULL // Mit SDMaid App deinstalliert / wie zu erwarten :Verzeichniss weg, App apk weg.

Dann jetzt die extrahierte Datei wieder in system/priv-app kopiert und diesmal an die Berechtigungen gedacht.
Dann Handy reboot. App wurde beim booten installiert. WIEDER in data\data\com.lennox.keycut
Das Verzeichniss hat die Berechtigung drwxr-x-x // die APK im Verzeichniss system/priv-app weiterhin rw-r-r

Man lernt auch nie aus....... ;-)

Meinste ich solle die VerzeichnissBerechtigung trotzdem ändern?
 
  • Danke
Reaktionen: T33
Ich denke jetzt sollte es passen, wenn die apk in system/priv-app die Berechtigung rw-r-r- hat ist alles gut.

Das Datenverzeichniss würde ich so belassen, da habe ich noch nie etwas verändert.
 
  • Danke
Reaktionen: borisbecker01

Ähnliche Themen

A
Antworten
19
Aufrufe
548
Arragorn
A
A
  • Antester
Antworten
1
Aufrufe
585
hagex
hagex
Daytripper
Antworten
1
Aufrufe
821
Dr.No
D
Zurück
Oben Unten