Monodroid не будет развертываться при использовании ImageView - PullRequest
1 голос
/ 07 июня 2011

У меня есть это в моем Main.axml;

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent"
                android:layout_width="fill_parent"
    >

    <Button  
        android:id="@+id/MyButton"
        android:layout_width="200dp" 
        android:layout_height="wrap_content" 
        android:text="@string/Hello"/>

    <ImageView 
        android:src="@drawable/samplebackground"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/MyButton"/>

</RelativeLayout>

Он прекрасно собирается, а sampleBackground - это jpg, который был включен в мой проект.

Однако, когда я пытаюсь развернуться, я получаю сообщение об ошибке;

Object reference not set to an instance of an object

И есть несколько строк, в которых говорится <filename unknown>

Если я удалю ImageView из разметки, приложение развернется нормально.

Есть мысли?

полный стек

------ Началась сборка: Проект: MonoAndroidApplication1, Конфигурация: Отладка любого процессора ------ MonoAndroidApplication1 -> C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ bin \ Debug \ MonoAndroidApplication1.dll Microsoft (R) Build Engine Версия 4.0.30319.1 [Microsoft .NET Framework, версия 4.0.30319.225] Copyright (C) Microsoft Corporation 2007. Все права защищены.

Сборка началась 8/06/2011 8:37:40. Проект "C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ MonoAndroidApplication1.csproj" на узле 1 (цель (и) SignAndroidPackage). _GenerateAndroidAssetsDir: Пропуск цели "_GenerateAndroidAssetsDir", поскольку она не имеет выходных данных. _ResolveMonoAndroidSdks: Ищу Android SDK .. Ключ HKCU \ SOFTWARE \ Android SDK Tools \ Путь не найден. Ключ HKLM \ SOFTWARE \ Android SDK Tools \ Путь найден: Путь содержит adb.exe в \ platform-tools (C: \ Program Files \ Android \ android-sdk). Ищете Java SDK .. Ключ HKLM \ SOFTWARE \ JavaSoft \ Java Development Kit \ CurrentVersion найдено: 1.6. Ключ HKLM \ SOFTWARE \ JavaSoft \ Java Development Kit \ 1.6 \ JavaHome найден: Путь содержит файл jarsigner.exe в \ bin (C: \ Program Files \ Java \ jdk1.6.0_25). Инструменты MonoAndroid: C: \ Program Files \ MSBuild \ Novell \ MonoAndroid Framework: C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v2.2 \; C: \ Program Files \ Ссылочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ Android SDK: C: \ Program Files \ Android \ android-sdk \ Java SDK: C: \ Program Files \ Java \ jdk1.6.0_25 \ _ValidateAndroidPackageProperties: Задача GetAndroidPackageName ManifestFile: AssemblyName: MonoAndroidApplication1 PackageName: MonoAndroidApplication1.MonoAndroidApplication1 _UpdateAndroidResgen: Пропуск цели "_UpdateAndroidResgen", потому что все выходные файлы обновлены относительно входных файлов. GenerateTargetFrameworkMonikerAttribute: Пропуск цели «GenerateTargetFrameworkMonikerAttribute», поскольку все выходные файлы обновлены по отношению к входным файлам. CoreCompile: Пропуск цели "CoreCompile", потому что все выходные файлы обновлены по отношению к входным файлам. _CopyOutOfDateSourceItemsToOutputDirectoryAlways: Копирование файла из «C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ Resources \ Drawable-land \ Icon.png» в «bin \ Debug \ Resources \ Drawable-land \ Icon.png». CopyFilesToOutputDirectory: MonoAndroidApplication1 -> C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ bin \ Debug \ MonoAndroidApplication1.dll ContractDeclarativeAssemblyCS: Пропуск цели "ContractDeclarativeAssemblyCS", потому что все выходные файлы обновлены по отношению к входным файлам. _ConvertDebuggingFiles: Пропуск цели "_ConvertDebuggingFiles", потому что все выходные файлы обновлены относительно входных файлов. _CompileAndroidPackage: Mandroid Task Сборки: C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ bin \ Debug \ MonoAndroidApplication1.dll; C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v2.2 \ Mono.Android.dll; C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ mscorlib.dll; C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ System.Core.dll; C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ System.dll; C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ System.Xml.dll; C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ System.Xml.Linq.dll I18nAssemblies:BuildDirectory: C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ obj \ Debug \ ReferenceAssembliesDirectory: C: \ Program Files \ Ссылочные сборки \ Microsoft \ Framework \ MonoAndroid \ v2.2 \; C: \ Program Files \ Ссылочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ ;; AndroidSdkDirectory: C: \ Program Files \ Android \ android-sdk \ JavaSdkDirectory: C: \ Program Files \ Java \ jdk1.6.0_25 \ AssetDirectory: C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ obj \ Debug \ assets \ AndroidSdkPlatform: 8 MonoAndroidToolsDirectory: C: \ Program Files \ MSBuild \ Novell \ ResourceDirectory: C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ obj \ Debug \ res \ ManifestTemplate: Пакет: MonoAndroidApplication1.MonoAndroidApplication1 NativeLibrary: JavaSource: Отладка: правда UseSharedRuntime: True Поддерживаемые Abis: armeabi LinkMode: нет ExtraArgs:
C: \ Program Files \ MSBuild \ Novell \ mandroid.exe -v --nosign --sdk-dir = "C: \ Program Files \ Android \ android-sdk" --builddir = "C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ \ obj \ Debug \ android "--framework-dir =" C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v2.2 "--framework-dir =" C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 "-S =" C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ obj \ Debug \ res "--package =" MonoAndroidApplication1.MonoAndroidApplication1 "--nolink --abi =" armeabi "--java -sdk-dir = "C: \ Program Files \ Java \ jdk1.6.0_25" --debug --sdk-platform = "8" -A = "C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ obj \ Debug \ assets" " "C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ bin \ Debug \ MonoAndroidApplication1.dll" "C: \ Программные файлы \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v2.2 \ Mono.Android.dll" "C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ mscorlib. dll "" C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ System.Core.dll "" C: \ Программные файлы \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ System. dll "" C: \ Program Files \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ System.Xml.dll "" C: \ Программные файлы \ Справочные сборки \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ System. Xml.Linq.dll» monodroid: ошибка 1: System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта [C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ MonoAndroidApplication1.csproj] в MonoDroid.Utils.ProcessRocks + c__Iterator5.MoveNext () [0x00000] в: 0 в Monodroid.Toolbox.InvokeCommand (IEnumerable 1 commandLine) [0x00000] in <filename unknown>:0 at Monodroid.Toolbox.InvokeAapt (System.String packageName) [0x00000] in <filename unknown>:0 at Monodroid.Droidinator.CreatePackagedResources (System.Collections.Generic.List 1 javaTypes) [0x00000] в: 0 в Monodroid.Droidinator.CreateApk () [0x00000] в: 0 в Monodroid.MainClass.Main (System.String [] argv) [0x00000] в: 0 Завершено Создание проекта "C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ MonoAndroidApplication1.csproj" (цель (и) SignAndroidPackage) - СБОЙ.

Сборка НЕ ​​удалась.

"C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ MonoAndroidApplication1.csproj" (цель SignAndroidPackage) (1) -> (Цель _CompileAndroidPackage) -> monodroid: ошибка 1: System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта [C: \ Development \ MonoAndroidApplication1 \ MonoAndroidApplication1 \ MonoAndroidApplication1.csproj]

Ответы [ 2 ]

2 голосов
/ 23 октября 2011

РЕДАКТИРОВАТЬ: я нашел решение; просто убедитесь, что имя файла изображения в нижнем регистре. Мое изображение было названо Image.png, переименовав его в image.png, оно работало.


Его достаточно легко воспроизвести - просто создайтеновое решение с макетом с помощью ImageView.Установите android:src="@drawable/Image".Если я набираю Изображение строчными буквами, изображение, оно выдает ошибку компилятора, но когда я исправляю его как Изображение, нет ошибок времени компиляции, но происходит сбой упаковки ... Изображение находится в правильной папке и установлено в AnddroidResource.

Так что мне бы очень хотелось помочь с этим тоже.

Спасибо, Никлас

0 голосов
/ 08 июня 2011

Убедитесь, что для параметра «Действие сборки» для этого файла изображения задано значение AndroidResource. Вы можете установить действие «Сборка», щелкнув правой кнопкой мыши файл в Visual Studio и выбрав «Свойства».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...