Bra*_*cke 7 xamarin.android android-multidex
关于这个问题散布着不少帖子,但我的问题是:
有没有人设法成功构建一个支持MultiDex的应用程序,该应用程序利用将在Lollipop前设备上运行的自定义应用程序类?
对于想要了解更多信息的人,请继续阅读.
问题在于,在创建使用自定义应用程序类的MultiDex应用程序时(我猜绝大多数65k以上的应用程序都属于此类别),该类最终不会出现在导致设备的第一个dex文件中没有内置的MultiDex支持来崩溃错误
[AndroidRuntime] java.lang.RuntimeException:无法实例化应用程序md5a3fc106bb082f0a6c07b5025b0a464e3.MyApplication:java.lang.ClassNotFoundException:路径上没有找到类"md5a3fc106bb082f0a6c07b5025b0a464e3.MyApplication"
我已经尝试了所有列出的解决方案,包括来自Xamarin的支持,以便实现这一目标.
关于它的文章很多:
https://bugzilla.xamarin.com/show_bug.cgi?id=35491 https://forums.xamarin.com/discussion/57485/multiple-issues-with-library-project-and-multidex
我做了什么:
我已经使用mainDexClasses.bat文件的修改版本创建了一个自定义MultiDexMainDexList文件(根据文章).
然后我修改了Xamarin抛出的命令以使用完整路径名,因为Xamarin只是尝试使用"obj\Debug"
mainDexClasses_fixed.bat --output C:\ Users\bradl_000\Documents\blocke79\App\App\obj\Debug\multidex.keep"'C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework\MonoAndroid\v6. 0\mono.android.jar ';' C:\ androidsdk \额外\机器人\支持\ multidex \库\库\机器人支撑-multidex.jar ';' C:\用户\ bradl_000 \文件\ blocke79 \应用\ App\obj\Debug__library_projects __\Aniways.AndroidBinding\library_project_imports\aniways-V2.3.08.jar'"(已修剪这个庞大的列表供阅读)
这将生成一个MultiDexMainDexList文件,其中包含项目中的所有类.然后我使用"MultiDexMainDexList"的新构建操作将其添加到我的项目中(仅在Alpha通道v6中可用).
这消除了有关应用程序类的错误,但抛出了一个关于无法找到PackageManager类的新错误.
java.lang.NoClassDefFoundError%3A + mono.MonoPackageManager_Resources
然后我开始考虑我应该减少MultiDexMainDexList文件中的整个类列表,并保留我认为我的自定义应用程序类需要加载的类.无论我对这个列表做了什么,我仍然得到有关PackageManager的错误.包含管理器类,我尝试使用类的顺序,以防有所作为.
单/ MonoPackageManager.class
有没有人走过同样的道路比我更成功?它甚至可能吗?
| 归档时间: |
|
| 查看次数: |
1356 次 |
| 最近记录: |