相关疑难解决方法(0)

Android App太大,Linking禁用功能

我已经完成了我的应用程序,现在我正在尝试构建.apk并在我的手机上进行测试(无需调试,在发布模式下).

将链接设置为" "一切正常.这里的问题是,应用程序太大了 - 它的20MB,那就是垃圾.


我读了一篇关于链接的文章: 点击这里

所以我尝试了" Sdk Assemblies Only "和" Sdk and User Assemblies ".第二个选项(两个程序集)直接失败,我甚至无法看到我的应用程序的第一个屏幕(登录).

将链接设置为" 仅限Sdk Assemblies "后,我可以进入第一个屏幕(Loginscreen).该应用程序也是6.73MB什么更好,更有资格.

我现在面临的问题是,当我点击第一个屏幕上的"登录"按钮时,没有任何反应(通常它会将我重定向到下一个活动).

Button被绑定到命令:

public IMvxCommand LoginCommand
{
    get
    {
         return new MvxRelayCommand(DoLogin);
    }
}

private void DoLogin()
{
     //Do Stuff
}
Run Code Online (Sandbox Code Playgroud)

在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>
Run Code Online (Sandbox Code Playgroud)

c# release xamarin.android mvvmcross

7
推荐指数
1
解决办法
2107
查看次数

MvvmCross Monotouch - 无法在真正的iPad上绑定属性,但它可以在模拟器上运行

我正在使用MvvmCross Monotouch.

以下是在iOS模拟器上实际运行良好的绑定代码.

{ this, "{'Title':{'Path':'NavigationBarTitle'}}
Run Code Online (Sandbox Code Playgroud)

但是,当我在真正的iPad(iPad 2)上部署它时,它不起作用.

Application Output:
===================
MvxBind: Warning:   0.69 Failed to create target binding for from NavigationBarTitle to Title
Run Code Online (Sandbox Code Playgroud)

我很高兴看到它可以在iOS模拟器上运行但是,有什么理由说它不能在真正的iPad上运行吗?

帕特里克

c# xamarin.ios mvvmcross

2
推荐指数
1
解决办法
1877
查看次数

标签 统计

c# ×2

mvvmcross ×2

release ×1

xamarin.android ×1

xamarin.ios ×1