根据this thread的说法,巴克目前还没有完全支持多重dexing-至少在多重dexing是如何通过“官方”解决方案来解决的意义上。
我困惑的是:如果我只使用Exopackage的方式,这个问题就能解决吗?我仍然可以使用Gradle (slow)进行发布构建,并使用Buck的Exopackage解决方案进行日常开发。
我得到Exopackge将导致一个单一的主外壳.dex,其中包含用于辅助.dex的加载代码。但是,Exopackage构建是生成多个辅助.dex文件,还是只生成一个(这将再次达到65k方法计数限制)?
发布于 2015-11-26 04:18:58
Buck确实支持使用Exopackage设置的multi-dex (我猜你可以调用Exopackage和extension来调用buck)。这使您可以超过65k的限制。我的项目有超过65k,它在Buck + Exopackage上工作得很好。
下面是我使用Exopackage时的二进制参数
ANDROID_BINARY_PARAMS = {
'name' : 'pumpup',
'linear_alloc_hard_limit' : 16 * 1024 * 1024,
'use_linear_alloc_split_dex' : True,
'manifest' : 'AndroidManifest.xml',
'keystore' : ':debug_keystore',
'use_split_dex' : True,
'exopackage_modes' : ['secondary_dex'],
'primary_dex_patterns' : [
'^co/pumpup/app/AppShell^',
'^co/pumpup/app/BuildConfig^',
'^com/facebook/buck/android/support/exopackage/',
],
'deps': [
':main-lib',
':application-lib',
],
}请注意use_split_dex = True
所以你会好起来的!
我在这里有一个设置Buck的教程:
Buck Tutorial
附言:请确保以最佳速度安装watchman
https://stackoverflow.com/questions/33910859
复制相似问题