2017-07-06 9 views
1

Ich arbeite auf meine erste Android-App und habe Probleme. Ich versuche, die einfachste Android-App zu erstellen und zu archivieren und kann den Archivierungsschritt nicht ausführen. HierSehr einfache Xamarin.Forms App archiviert nicht

ist, was ich tue ...

  1. starten VS2017 Preview mit Xamarin Vorschau Erweiterung und Xamarin Updater (alles vollständig aktualisiert)
  2. Run Android SDK-Manager und installieren Sie den folgenden

    Android SDK Tools 25.2.5 
    Android SDK Platform-tools 26 
    Android SDK Build-tools 26 
    Android SDK Build-tools 25.0.3 
    Android SDK Build-tools 25.0.2 
    Android SDK Build-tools 25.0.1 
    Android SDK Build-tools 25 
    SDK Platform 25.3 
    Android Support Repository 47 
    Google Play Services 42 
    Instant Apps Development SDK 1 
    Google Play Licensing Library 1 
    Google Play Billing Library 5 
    Google USB Driver 11 
    Google Web Driver 2 
    Emulator 26 
    
  3. Erstellen Sie eine neue Cross Platform (App1) mit Standardeinstellungen (Xamarin.Forms - Leere App - Shared Project), ich mache keine Änderungen am Code.

  4. öffnen App1.Android Poperties

    Compile using Android version: Android 7.1 (Nougat) 
    Package Name: App1 
    Version number: 1 
    Version name: 1.0 
    Minimum Android version: Android 7.1 (API Level 25 - Nougat) 
    Target Android version: Android 7.1 (API Level 25 - Nougat) 
    Linking: Sdk Assemblies Only 
    Everything else are default values 
    
  5. Set für Release und Bauen: Erfolg

  6. Archiv: Die "LinkAssemblies" Aufgabe unerwartet fehlgeschlagen.

    Mono.Linker.MarkException: Error processing method: 'TNativeView Xamarin.Forms.Platform.Android.ViewRenderer'2::get_Control()' in assembly: 'Xamarin.Forms.Platform.Android.dll' ---> System.ArgumentNullException: Value cannot be null. 
    Parameter name: instruction 
        at Mono.Cecil.Cil.InstructionOffset..ctor(Instruction instruction) 
        at Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) 
        at Mono.Cecil.Cil.CodeReader.ReadScopes(Collection'1 scopes) 
        at Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) 
        at Mono.Cecil.Cil.CodeReader.ReadScopes(Collection'1 scopes) 
        at Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) 
        at Mono.Cecil.Cil.CodeReader.ReadDebugInfo() 
        at Mono.Cecil.Cil.CodeReader.ReadMethodBody() 
        at Mono.Cecil.Cil.CodeReader.ReadMethodBody(MethodDefinition method) 
        at Mono.Cecil.MethodDefinition.<>c.<get_Body>b__41_0(MethodDefinition method, MetadataReader reader) 
        at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TRet& variable, TItem item, Func'3 read) 
        at Mono.Cecil.MethodDefinition.get_Body() 
        at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method) 
        at Mono.Linker.Steps.MarkStep.ProcessQueue() 
        --- End of inner exception stack trace --- 
        at Mono.Linker.Steps.MarkStep.ProcessQueue() 
        at Mono.Linker.Steps.MarkStep.Process() 
        at Mono.Linker.Steps.MarkStep.Process(LinkContext context) 
        at Mono.Linker.Pipeline.Process(LinkContext context) 
        at MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context) 
        at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) 
        at Xamarin.Android.Tasks.LinkAssemblies.Execute() 
        at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
        at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() 
    

Wo falsch gehe ich? Wie kann ich eine so einfache leere Vorlagen-App vermasseln?

Antwort

0

Wenn Sie auf die Registerkarte "Eigenschaften" für Ihr Android-Projekt gehen und "Android-Optionen" auswählen, wird eine Dropdown-Liste unter dem Titel "Linking" angezeigt. Schalten Sie diese Option so, dass "None" angezeigt wird, und versuchen Sie es erneut.

Wenn dies funktioniert, versuchen Sie es erneut mit "SDK Assemblies Only". Normalerweise wird dieser Fehler angezeigt, wenn etwas gefunden wird, das nicht nativ verknüpft werden kann.

+0

Die Verwendung von 'Linking: None' führt zu einem erfolgreichen Build und Archiv. Der erneute Versuch mit 'Sdk Assemblies Only' führt zu einem erfolgreichen Build, der Verknüpfungsschritt schlägt mit dem gleichen genauen Fehler fehl. – davecove

Verwandte Themen