Я закончил свое приложение и теперь пытаюсь собрать .apk и протестировать его на своем телефоне (без отладки, в режиме выпуска).
Установив ссылку на «Нет», все работает нормально. Проблема здесь в том, что приложение слишком большое - его 20 МБ и это мусор.
Я прочитал эту статью о связывании: Нажмите здесь
Поэтому я попробовал «Только сборки Sdk» и «Сборки Sdk и пользовательские сборки». Второй вариант (обе сборки) не удался напрямую, я даже не смог увидеть первый экран (логин) моего приложения.
Когда для параметра «Связывание» установлено значение «Только сборки Sdk», я смог перейти на первый экран (экран входа в систему). Приложение также 6,73 МБ, что намного лучше и более приемлемо.
Проблема, с которой я сталкиваюсь сейчас, заключается в том, что когда я нажимаю кнопку «Войти» на первом экране, ничего не происходит (обычно это перенаправляет меня к следующему действию).
Кнопка привязана к команде:
public IMvxCommand LoginCommand
{
get
{
return new MvxRelayCommand(DoLogin);
}
}
private void DoLogin()
{
//Do Stuff
}
Установка точки останова в DoLogin() - показывает, что она никогда не входит.
Ну, как я мог решить проблему? Похоже, функциональность mvvmcross по какой-то причине отключена?
Моя главная цель — уменьшить размер приложения.
Вот если важно нужный раздел из .csproj
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
<AndroidLinkMode>SdkOnly</AndroidLinkMode>
<AndroidLinkSkip />
<EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk>