降压多包支持?

时间:2015-11-25 07:37:17

标签: java android multidex buck

根据this thread,巴克此刻并没有完全的多重支持 - 至少在某种意义上并不是因为“官方”和“官方”的解决方式。的解决方案。

我感到困惑的是:如果我只走Exopackage方式,问题就解决了吗?我仍然可以使用Gradle(慢速)生成发布版本,并使用Buck的Exopackage解决方案进行日常开发。

我得到Exopackge会产生一个包含二级dexes加载代码的主shell .dex。但Exopackage构建是否会生成多个辅助.dex文件,或者只生成一个(将再次达到65k方法计数限制)?

1 个答案:

答案 0 :(得分:2)

Buck确实支持使用Exopackage设置的多语言(我猜你可以调用Exopackage和扩展来降压)。这可以让你超过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

P.S。确保以最佳速度安装watchman