程式開發後期通常會遇見 Building Apps with over 65k methods 的問題,底下是利用 BUCK 執行編譯時遇到此問題的解決方法 (啟用 multidex 功能之設定檔的筆記) 。
BUCK :
BUCK :
... # setup multidex jar prebuilt_jar( name = 'support_multidex', binary_jar = 'com.android.support/multidex/1.0.0/jars/classes.jar', visibility = ['PUBLIC'] ) ... # include multidex jar android_library( name = 'lib', srcs = glob(['src/**/*.java',...]), deps = [ ':support_multidex', ... ], visibility = ['PUBLIC'], ) ... # build apk with multidex android_binary( name = 'release', manifest = 'AndroidManifest.xml', use_split_dex = True, deps = [':lib'], package_type='release', ... ) ...AndroidManifest (在 application tag 設定 android:name 屬性) :
<?xml version="1.0" encoding="utf-8"?> <manifest ... > <application android:name="com.mypackage.name.App" ...> ... </application> </manifest>新增 App.java :
package com.mypackage.name; public class App extends android.support.multidex.MultiDexApplication{ }