2014-05-21 63 views
0

我有一个依赖本机dll的xamarin项目。Xamarin原生DLL不包括在.APK中

当我使用“使用共享运行时”时,我的本机(C)dll包含在APK中,一切按预期工作。

但现在我准备打包我的几个朋友的项目来测试它,因此我禁用了“使用共享运行时”。现在,如果我检查.APK文件,则不包含本地dll。

当不使用共享运行时,我需要做些什么?

回答

0

的方法来禁用共享的运行时的用法是

<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime> 

我想你正在做这种方式,正确的。

建设过程中很好地说明如下 http://docs.xamarin.com/guides/android/under_the_hood/build_process/

,并准备发布一个应用程序是在这里: http://docs.xamarin.com/guides/android/deployment,_testing,_and_metrics/publishing_an_application/part_1_-_preparing_an_application_for_release/

希望工程出正确。欢呼声

+0

AndroidUseSharedRuntime设置太错误,但问题是,为什么本机库停止使用此设置打包。 – lalle

1

问题是有点老,但我只是有同样的问题,所以我希望它会帮助别人。

当勾选“使用共享运行时”时,每个目标都包含在打包中(例如在调试模式下),但在发布模式下,或者如果不勾选“使用共享运行时”,则只打包默认目标。

你就必须去
项目属性 - > Android的选项 - >高级,并选择你的目标。

另一种方法是修改你的csproj并添加或修改配置要修改这一行:

<AndroidSupportedAbis>armeabi,armeabi-v7a</AndroidSupportedAbis> 

@Gaurav:感谢您的有用的链接。