-
Notifications
You must be signed in to change notification settings - Fork 168
Known caveats
Piasy edited this page May 18, 2016
·
30 revisions
- (BUCK) Non-final resource id/Incompatible with ButterKnife.
- (BUCK) Incompatible with AndroidAnnotations, the same reason as ButterKnife.
- (BUCK) AIDL work-around
- (BUCK) Incompatible with Fabric crash report.
- (OkBuck)
javax.annotation
dependency should becompile
scope, ratherprovided
. - (BUCK) Sub modules must locate inside root project dir
The resource variables (id, string, color, etc.) generated by BUCK is non final, so BUCK is incompatible with ButterKnife.
Workaround:
- Change
@Bind
/@InjectView
toButterKnife.findById
. - Change
@OnClick
tosetOnClickListener
, etc. - Change
switch-case
toif-else-if
.
If you used self implement parcelable in your aidl, you need create a separate library module contains those custom implementations, otherwise BUCK build will fail. See the example of common module and parcelable module.
Fabric crash report gradle plugin will generate an unique uuid during the process of gradle build, and will upload this uuid to its server, and this uuid will be used at runtime of your application (by adding this uuid to the string res of your app), while these jobs couldn't be done by BUCK, more detail could be found at #10.
Workaround:
- Define a BuildConfig in build.gradle, with default value to disable fabric (not call Fabric.with(...) method) but flavor value to enable it.
- Then use OkBuck and BUCK in daily develop build, but use gradle build to release.