Visual Studio Android Compiler .apk

A

Andy12345678

Ambitioniertes Mitglied
1
Hallo,
ich habe mal eine frage. Wenn ich auf den Button bei Visual Studio klicke, dann soll er
von einem bestimmten Code (der Code ist auch genau für Android gedacht) eine apk erzeugen. Am besten mit einem
Compiler. Es gibt ja auch exe Compiler, da müsste es auch unter
Android geben.

Könntet ihr mir da helfen?

Gruß
Andreas
 
Exe Compiler gibt es nicht. Es gibt Compiler die Quellcode in C++, Fortran, usw. in ausführbare Programme wandeln. Das diese Programme unter Windows die extension .exe für execute tragen ist einfach eine Vereinbarung. Du brauchst sicherlich noch das APK Development um mit VisualStudio APK Dateien zu erzeugen.
 
Zuletzt bearbeitet:
@melnik
ah okay
welchen Code muss ich bei dem Button dann rein schreiben von dem Programm APK Development unter Visual Studio?
Mein zu erzeugener apk Code ist in einer Textbox1.text drin.
 
Vieleicht solltest du dich erstmal mit den Grundlagen der Programmierung beschäftigen, mir scheint, als wolltest du ohne Ahnung Applikationen erstellen. Vielleicht ware aber auch Eclipse mit dem Adt plugin günstiger. Wie dem auch sei. Erzeugter Quellcode muss dem Compiler / dem Interpreter zugefuehrt werden, wie du das in deiner Entwicklungsumgebung realisierst solltest du eigentlich wissen
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: swa00 und jogimuc
@melnik

Ich habe ein Programm geschrieben, das wenn man auf dem Button klickt eine exe Datei abspeichern kann, wenn man dann auf diese exe drauf klickt einen Screenshot automatisch erstellt und abspeichert:

If Not IO.Directory.Exists("TB_Speicherpfad.Text" & "\" & "AdF") Then
IO.Directory.CreateDirectory("TB_Speicherpfad.Text" & "\" & "AdF")
End If
TB2_ScreenUhr.Text = System.DateTime.Now
Dim sText As String = TB2_ScreenUhr.Text
sText = sText.Replace(":", "")
sText = sText.Replace(".", "")
sText = sText.Replace(" ", "")
TB2_ScreenUhr.Text = sText
Dim bounds As Rectangle
Dim screenshot As System.Drawing.Bitmap
Dim graph As Graphics
bounds = Screen.PrimaryScreen.Bounds
screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb)
graph = Graphics.FromImage(screenshot)
graph.CopyFromScreen(bounds.X, bounds.Y, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy)
If Not IO.Directory.Exists("TB_Speicherpfad.Text" & "\" & "AdF") Then
IO.Directory.CreateDirectory("TB_Speicherpfad.Text" & "\" & "AdF")
End If
Dim Pfad As String = "TB_Speicherpfad.Text" & "\" & "AdF" & "\"
screenshot.Save(Pfad & TB2_ScreenUhr.Text & ".jpg")
End Sub

Hier ist der Code vom Button:

SaveFileDialog1.Title = "exe erstellen..."
SaveFileDialog1.Filter = ".exe|exe"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim nl As String = Microsoft.VisualBasic.vbCrLf
Dim c34 As String = Microsoft.VisualBasic.Chr(34)

Using VB_CP As CodeDom.Compiler.CodeDomProvider = _
New Microsoft.VisualBasic.VBCodeProvider()

'Angaben für das Compilieren des Win-Forms-Projekts zusammenstellen
Dim ComParams As New CodeDom.Compiler.CompilerParameters()

With ComParams
.GenerateExecutable = True
'benötigte Projekt-Verweise
.ReferencedAssemblies.Add("System.Windows.Forms.DLL")
.ReferencedAssemblies.Add("System.Drawing.DLL")
'Erstellte Datei
.OutputAssembly = SaveFileDialog1.FileName

.GenerateInMemory = False
.CompilerOptions = "/target:exe"
.MainClass = "xxxform"
End With

'Code-String zum Erstellen eines Projekts, das eine Form öffnet
'(Man könnte den Code auch aus einer VB-Datei laden ... incl. Designer)
Dim code As String = RichTextBox1.Text

'Code-Zeichenfolge Compilieren und EXE erstellen
Dim ComResults As CodeDom.Compiler.CompilerResults = _
VB_CP.CompileAssemblyFromSource(ComParams, code)

'ggf. Compiler-Fehlermeldungen anzeigen

With ComResults
If .Errors.Count > 0 Then
MsgBox("Exe Datei konnte nicht erstellt werden!", MsgBoxStyle.Critical)
Else
MsgBox("Exe Datei ist erfolgreich erstellt worden!", MsgBoxStyle.Information)
End If
End With


Nun möchte ich gerne, das mein Programm anstatt eine exe eine APK Datei erstellt für mein Smartphone
(also das dieses Programm dann Screenshot auf mein Smartphone macht und speichert).
Dazu muss ich glaube ich erstmal den Code ins Java übersetzen oder?
Ich weiß nicht wie ich das hin bekommen könnte...
 
Ich vermute das ist ein proprietäres visual basic programm/script, welches in einer NET laufzeitumgebung ausgefuehrt wird. Ich kenn mich mit visual basic nicht aus. Ich glaube nicht das es möglich ist dieses so einfach in eine Android App umzuwandeln. Ich beschaeftige mich auch nicht mit Androidapps , kann dir also nicht sagen ob die Portierung nach Jave eine geeignete Maßnahme ist.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: swa00
@melnik

Ja, dieser Script ist von Visual Basic. Kannst du mir dann vielleicht eine Seite empfehlen wenn du eine Seite weißt, wie man eine App entwickelt in der man Screenshot erstellt?
 
Ich empfehle dir Literatur in Papierform, schau z. b. Springer Verlag oder beim Rheinwerk Verlag.
 
  • Danke
Reaktionen: AndrejT und swa00
Zuletzt bearbeitet:
  • Danke
Reaktionen: AndrejT und melnik
@Andy12345678

Hallo Andy

Das was du geschrieben hast, läuft unter .NET. Wenn du das gleiche für Android machen willst, hast du andere Prinzipien und andere Regelungen. Du kannst den Code nicht einfach übersetzten und ihn 1 zu 1 in Android einfügen. Wenn du eine Android-App schreiben möchtest, zieh dir das Android Studios. Dann schaue dir kurze Tutorials wie mann das hinkriegen soll.

Google danach. Habs kurz für dich gemacht und somit ein Beispiel gefunden:
Taking a screenshot programmatically in Android Apps

Da hast du ein sehr gutes Beispiel dafür.
Schon als Tipp: Das Filesystem unter Windows und Android ist nicht mal gleich, also kann deinstatischer Pfad wo diese abgelegt sind, schonmal nicht funktionieren (IO.Directory.CreateDirectory("TB_Speicherpfad.Text" & "\" & "AdF")). Vergiss nicht, wenn du im Android eine App schreiben möchtest und du auf gewisse Sachen Zugriff brauchst (Kamera, Mikro, Screenshot-Funktion, Zugriff auf das File-System), musst du diese Berechtigungen setzen im AndroidManifest.xml (eine Datei, die jedes Android-Projekt besitzt).Um diese Berechtigungen darin zu setzten, ebenfalls googlen z.B. "android manifest screenshot permissions"
Als Suchergebnis solltes du so etwas finden wo man die Berechtigung braucht um die Storage zu lesen und zu schreiben:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

Hoffe habe dich nicht verwirrt.

Beste Grüsse
 
  • Danke
Reaktionen: jogimuc und melnik
AndrejT schrieb:
@Andy12345678

Hallo Andy

Das was du geschrieben hast, läuft unter .NET. Wenn du das gleiche für Android machen willst, hast du andere Prinzipien und andere Regelungen. Du kannst den Code nicht einfach übersetzten und ihn 1 zu 1 in Android einfügen. Wenn du eine Android-App schreiben möchtest, zieh dir das Android Studios. Dann schaue dir kurze Tutorials wie mann das hinkriegen soll.

Google danach. Habs kurz für dich gemacht und somit ein Beispiel gefunden:
Taking a screenshot programmatically in Android Apps

Da hast du ein sehr gutes Beispiel dafür.
Schon als Tipp: Das Filesystem unter Windows und Android ist nicht mal gleich, also kann deinstatischer Pfad wo diese abgelegt sind, schonmal nicht funktionieren (IO.Directory.CreateDirectory("TB_Speicherpfad.Text" & "\" & "AdF")). Vergiss nicht, wenn du im Android eine App schreiben möchtest und du auf gewisse Sachen Zugriff brauchst (Kamera, Mikro, Screenshot-Funktion, Zugriff auf das File-System), musst du diese Berechtigungen setzen im AndroidManifest.xml (eine Datei, die jedes Android-Projekt besitzt).Um diese Berechtigungen darin zu setzten, ebenfalls googlen z.B. "android manifest screenshot permissions"
Als Suchergebnis solltes du so etwas finden wo man die Berechtigung braucht um die Storage zu lesen und zu schreiben:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

Hoffe habe dich nicht verwirrt.

Beste Grüsse

Ja ich weiß das der Code unter Windows nicht mit Android funktioniert. Mein Programmiercode für das Compielen befindet sich ja in einer Textbox. Wenn ich jetzt die Programmiersprache für Android in die Textbox rein schreibe und mit dem Compiler diese Textbox Compiele, dann müsste es funktionieren oder? Ich habe Android SDK, Android NDK und Java installiert sowie Visual Studio und Core 2019 für mobile Apps
 
Es gibt in Android keine Textbox. Wie wir hier alle schonsagten. Geht es nicht den code einfach zu android zu übersetzen.

Höre auf damit und fange an Java und android zu lernen.

Als IDE würde ich android studio benutzen.
Beiträge automatisch zusammengeführt:

Ich habe dir ja scho zwei links für java unter Android gegeben. Auch einen link in dem dein gewünschter Screenshot erstellt wird.
Beiträge automatisch zusammengeführt:

Ich glaube du hast das Prinzip der Textbox nicht verstanden. Das ist nicht dazu da eine apk zu erstellen.
das Ist eine GUI für VB änlich der GUI die Android benutzt.

Willst du eine echte apk erstellen musst du auch ein echtes android Projekt erstellen. Entweder in java oder Kotlin.
Ja du kannst auch andere IDEs besutzen als android studio nur bieden die oft nicht den gleichen Funktionsumfang wie das Studio.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: AndrejT und melnik
jogimuc schrieb:
Es gibt in Android keine Textbox. Wie wir hier alle schonsagten. Geht es nicht den code einfach zu android zu übersetzen.

Höre auf damit und fange an Java und android zu lernen.

Als IDE würde ich android studio benutzen.
Beiträge automatisch zusammengeführt:

Ich habe dir ja scho zwei links für java unter Android gegeben. Auch einen link in dem dein gewünschter Screenshot erstellt wird.
Beiträge automatisch zusammengeführt:

Ich glaube du hast das Prinzip der Textbox nicht verstanden. Das ist nicht dazu da eine apk zu erstellen. Eher um in einem .Net Windows Programm anderen Code auszuführen.
Deine Ide estellt dir einen Windows code daraus nicht umgekehrt.

Willst du eine echte apk erstellen musst du auch ein echtes android Projekt erstellen. Entweder in java oder Kotlin.
Ja du kannst auch andere IDEs besutzen als android studio nur bieden die oft nicht den gleichen Funktionsumfang wie das Studio.

Das Programm was ich erstelle soll ja unter Windows laufen. Der Compieler soll ja nur den Inhalt was in der Textbox drin steht Compielen, nicht die Textbox selber. Und was in der Textbox dann drin steht, muss ja natürlich in der Android Sprache sein.
 
Irgendwie reden wir hier aneinander vorbei.

Du Willst also eine Windows Programm schreiben warum bist du dann in einem Android Forum?
Und was in der Textbox dann drin steht, muss ja natürlich in der Android Sprache sein.
Eine Android Sprache gibt es nicht. Das ist Java oder neu Kotlin.
Warum willst du sogenannten Android code in dein Windows Programm einbauen?

Dann schreibe doch gleich alles für win.
 
Zuletzt bearbeitet:
@jogimuc

Ich habe ein Windows Programm, mit dem ich gerne einbauen möchte, das man mit dem Compiler eine apk App speichern kann und diese auf Smartphone nutzen kann. Mit Visual Studio kann man in verschiedene Sprachen schreiben. Ich bin schon seit Wochen verzweifelt nach meinem Problem. Bei Google habe ich bis jetzt noch nix richtiges gefunden
 
Die .Net TextBox ist eine GUI die es dir rechteeinfach macht grafische Elemente zu verwenden .
Das sieht zwar vielleicht ähnlich aus zu Android ist aber mit Sicherheit eine andere GUI als die von Android.

Für mich ist die VB Textbox , das etwas was Swing in Java ist.
Mehr nicht. ist mit Sicherheit nicht für dein vorhaben zu gebrauchen.


Du kannst nicht aus einen Windows Programm eine APK erstellen.

Schreibe eine echte App und biete diese APK an Gib in deinen win Programm vielleicht einen Link zum Download an.

Ja mit der IDE kann man in verschiedenen Sprachen schreiben. Aber du musst dich trotzdem an den Aufbau der Plattformen Halten. Und die ist unter Android komplett anders als in WIN.
 
  • Danke
Reaktionen: AndrejT
Ich arbeite schon eit jahren nicht mehr mit visual studio, aber wenn ich damals ein Problem hatte hat mir der MS support immer sehr schnell eine Lösung präsentiert.
 
Du kannst dein Windows-Code mit dem Code welcher in einer APK ist nicht vergleichen. Schon nur wird die APK in einer JVM ausgeführt. (Java Virtual Maschine). Die der Name schon sagt, bezieht sich das auf Java (oder auch einige anderen Sprachen wie Scala, Groovy, Kotlin,...). Also hat ein Windows-Programm gar nichts zu tun mit Java.

Das einzige was du machen kannst ist:
1. Eine Plattform zu installieren mit der man Android Entwicklen kann (da kommt das ganze Java zeugs gleich mit, damit meine ich JDK - Java Development Kit).
2. Setzte ein komplett neues Android Projekt auf.
3. Schau was man in einer Activity alles machen kann und wann welche Methode beim Start ausgeführt wird.
4. Geh DEINEN Windows-Code durch und überleg dir/google für dich, wie man diese Schritte in Java/Android schreiben kann.
5. Schreib sie in die Activity.
6. Lass das APK von Android Studio compilen.
7. Verbinde dein Gerät oder setze ein Emulator auf und installiere diese APK auf dem Gerät/Emulator
8. Fertig

Andere Möglichkeit hast du nicht. Vergiss die Textbox im zusammenhang mit Android. Da klappt nix
 
  • Danke
Reaktionen: melnik und jogimuc

Ähnliche Themen

5
Antworten
0
Aufrufe
1.150
586920
5
SaniMatthias
Antworten
19
Aufrufe
958
swa00
swa00
D
Antworten
23
Aufrufe
2.542
Data2006
D
Zurück
Oben Unten