Ich entwickle ein Android-Subsystem mit mehreren Android-Anwendungen, mit Eclipse. Wenn ich Codeänderungen durchführe, muss ich die Anwendungen oft neu installieren, indem ich auf die einzelnen Laufkonfigurationen klicke. Dies ist zeitaufwendig. Gibt es eine Möglichkeit, die Laufkonfigurationen so zu gruppieren, dass sie automatisch mit einem einzigen Klick ausgeführt werden?Von Eclipse, wie kann ich mehrere Android-Laufbefehle gleichzeitig ausführen?
Antwort
Stellt sich heraus, es ist nicht furchtbar schwer, einen einfachen Befehl Plugin Eclipse SDK zu schreiben zu erhalten und eine Liste der Startkonfigurationen auszuführen. Ich konnte dies tun, beginnend mit der "Hallo Welt" plugin tutoria l, die eine Befehlsschaltfläche in der Symbolleiste erstellt, dann Abhängigkeiten zu ResourcesPlugin und DebugPlugin hinzugefügt, und den folgenden Code zu SimplerHandler.java. Wenn die Schaltfläche angeklickt wird, führt dieser Code alle Startkonfigurationen aus und öffnet ein kleines Fenster mit Informationen. Mit ein wenig Verfeinerung könnte das Plugin dazu gebracht werden, einen fest codierten Satz von Konfigurationen auszuführen. Ich schätze, es ist möglich, die Startfavoriten in den Griff zu bekommen und diese einfach auszuführen.
public Object execute(ExecutionEvent event) throws ExecutionException
{
StringBuffer sb = new StringBuffer();
// Get root of workspace
IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
// Get projects
IProject[] projects = wsRoot.getProjects();
sb.append("projects: " + projects.length);
// Get launch manager and launch configurations
ILaunchManager launchMgr = DebugPlugin.getDefault().getLaunchManager();
ILaunchConfiguration launchConfigs[] = null;
try
{
launchConfigs = launchMgr.getLaunchConfigurations();
}
catch (CoreException e)
{
e.printStackTrace();
}
sb.append(" launch configs:" + launchConfigs.length);
for (int i = 0; i < launchConfigs.length; i++)
{
ILaunchConfiguration config = launchConfigs[i];
String name = config.getName();
sb.append("\nlaunching " + name + "...");
try
{
config.launch("debug", null, false);
}
catch (CoreException e)
{
e.printStackTrace();
}
}
// Print out the info...
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
MessageDialog.openInformation(
window.getShell(),
"Ag-eclipse-runner",
sb.toString());
return null;
}
ja Sie ein Skript in sh in Unix oder Fledermaus in Windows schreiben können, aber ich ziehe es in einfachen Java schreiben mit Runtime.exec() würden Sie so etwas wie adb install -r path/bin/file.apk
ich dies verwenden, um auszuführen haben Art von Zeug zu automatisieren Code-Generierung & Android Build
monkeyrunner kann Ihnen die meisten Plattform-unabhängige Lösung geben. Um APKs zu installieren und starten Aktivitäten können Sie so etwas wie folgt verwenden:
#! /usr/bin/env monkeyrunner
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
# Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()
# Installs the Android package. Notice that this method returns a boolean, so you can test
# to see if the installation worked.
device.installPackage('myproject/bin/MyApplication.apk')
# sets a variable with the package's internal name
package = 'com.example.android.myapplication'
# sets a variable with the name of an Activity in the package
activity = 'com.example.android.myapplication.MainActivity'
# sets the name of the component to start
runComponent = package + '/' + activity
# Runs the component
device.startActivity(component=runComponent)
Wie beim vorherigen Vorschlag , das geht davon aus, dass die apk bereits gebaut ist. –
Wenn Sie Eclipse verwenden und Automatisch erstellen ist festgelegt, dass Ihr APK erstellt wird. Andernfalls können Sie 'ant' im Skript aufrufen. –
Nein, ich habe automatische Builds getestet und die APK wird nicht bei jeder Änderung des Quellcodes neu erstellt. Sie müssen die Run-Konfiguration treffen, bevor die Apk erstellt wird. Running ant ist eine Möglichkeit, aber es ist wesentlich langsamer als die Wiederherstellung der Apk mit Eclipse. –
- 1. eclipse: Mehrere Startkonfigurationen gleichzeitig ausführen
- 2. Kann Eclipse mehrere Dateien gleichzeitig neu formatieren?
- 3. Mehrere Tensorflow-Sitzungen gleichzeitig ausführen
- 4. Mehrere Unittest-Testdateien gleichzeitig ausführen
- 5. Mehrere R-Skripte gleichzeitig ausführen
- 6. Wie kann man mehrere Tests gleichzeitig mit jBehave ausführen?
- 7. Wie kann ich mehrere Szenarien gleichzeitig ausführen, ohne mehrere Thread-Gruppen zu verwenden?
- 8. Kann VMware PLayer Workstation (kostenlos) mehrere VMs gleichzeitig ausführen?
- 9. Mehrere SQL-Anweisungen gleichzeitig in PHP ausführen?
- 10. Kann ich mehrere AJAX-Anfragen gleichzeitig haben?
- 11. Mehrere Threads gleichzeitig in Java ausführen
- 12. Wie kann ich 2 Server gleichzeitig in Python ausführen?
- 13. Wie kann ich 2 Schleifen gleichzeitig in Python ausführen?
- 14. Wie kann ich mehrere simultane Jquery-Effekte ausführen?
- 15. Wie kann ich mehrere Jobs aus einer großen Warteschlange gleichzeitig in Perl ausführen?
- 16. Wie kann ich mehrere Dokumente gleichzeitig in Mongoose/Node.js speichern?
- 17. Wie kann ich mit ActionCable auf mehrere Kanäle gleichzeitig senden?
- 18. Kann ich Perl-iThreads in Windows gleichzeitig ausführen lassen?
- 19. Wie kann ich in Perl mehrere Listen gleichzeitig durchlaufen?
- 20. Wie deklariere ich mehrere veränderbare Variablen gleichzeitig?
- 21. Wie kann ich mehrere Projekte gleichzeitig mit Albacore erstellen?
- 22. Wie kann ich mehrere Hash-Werte gleichzeitig abrufen?
- 23. Wie kann ich mehrere Anfragen gleichzeitig in Retrofit 2
- 24. Wie lade ich mehrere Tasten gleichzeitig?
- 25. Wie installiere ich mehrere Ruby-Edelsteine gleichzeitig?
- 26. 2 Threads gleichzeitig ausführen
- 27. Wie kann ich dieses Android-Projekt mit Eclipse ausführen?
- 28. Python - Code gleichzeitig ausführen
- 29. Kann ich mehrere Catch-Blöcke ausführen?
- 30. Eclipse: Wie kann ich eine Startkonfiguration programmgesteuert ausführen?
Danke. Das Problem mit diesem Ansatz besteht darin, dass die Apk nach einer Code-Änderung erst dann von Eclipse neu erstellt wird, wenn sie die Run-Konfiguration erreicht hat. Auch hier würde ich gerne 3-4 Projekte ändern und dann auf eine Schaltfläche klicken, um die Apk neu zu erstellen und neu zu installieren. –
Habe gerade eine Android-Builder-Option gefunden, die "packen und dexieren bis zum Export oder Start" auslässt, was standardmäßig eingestellt ist. Deshalb wurde meine Apk nicht gebaut, obwohl die Auto-Builds eingeschaltet waren. Beim Einschalten werden die Auto-Builds leider erheblich verlangsamt. Daher suche ich immer noch nach einer Möglichkeit, Codeänderungen in mehreren Apps vorzunehmen und dann die Apk zu generieren und sie auf einen Schlag zu installieren. Wird in ant schauen, um zu sehen, ob es eine Möglichkeit gibt, einfach mit den Auto-Build-Klassen zu packen und zu dexieren. Irgendwelche Vorschläge willkommen. –
Okay, ich war nicht vollständig. Ich benutze diese Methode, um apks von Quelle neu zu erstellen und zu installieren. Ich habe ein Java-Programm, das android.bat, ant und adb, die 3 in einer Reihe ausführt und alles automatisiert. Natürlich habe ich 2 Tage damit verbracht es zu schreiben und es ist nicht trivial. Vielleicht kann ein bestehendes Tool das machen. Oder vielleicht müssen Sie es selbst schreiben, wie ich es tat. – Joel