Closed Bug 1352855 Opened 7 years ago Closed 7 years ago

"aidl ... refusing to generate code from aidl file defining parcelable" building Fennec with newer Android SDKs

Categories

(Firefox Build System :: Android Studio and Gradle Integration, enhancement)

enhancement
Not set
normal

Tracking

(firefox55 fixed)

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: nalexander, Assigned: jchen)

References

Details

Attachments

(1 file)

I see messages like the following with the Android O preview SDK:

...
:app:compileAutomationDebugAidl
aidl E 04-01 20:41:45 83156 15474109 aidl.cpp:580] refusing to generate code from aidl file defining parcelable
...

Looks like the following changeset is relevant: https://android.googlesource.com/platform/system/tools/aidl/+/632801d891bd269badc780ab5f0f08e56e6df10a%5E%21/

We do have 3 AIDL files that are just "package Package; parcelable Class;" -- I don't know why that's necessary or how to achieve it with newer "aidl" compiler versions, but this ticket tracks getting to the bottom of it.
jchen: I think you're the AIDL expert these days.  It's not easy to test with Android O -- see my hacky work in Bug 1352015, most of which should make it to the tree in the next few weeks -- but can you at least explain what the existing AIDL does, and perhaps hazard a guess at what we should do moving forward?  Thanks!
Flags: needinfo?(nchen)
Looks like we should only compile AIDL interfaces with the aidl tool, but not
parcelables. The current build rules don't distinguish between the two, so the
aidl tool complains when it's fed an AIDL file containing a parcelable. This
patch explicitly lists the AIDL interfaces to be built, so that only those
files are sent to the aidl tool.
Attachment #8854070 - Flags: review?(nalexander)
Comment on attachment 8854070 [details] [diff] [review]
Only compile AIDL interfaces (v1)

Review of attachment 8854070 [details] [diff] [review]:
-----------------------------------------------------------------

If this works for you and is green on try, it works for me!

There are ways to avoid the Makefile.in duplication, but I don't think they're worth pursuing.

Thanks for jumping on this!
Attachment #8854070 - Flags: review?(nalexander) → review+
Flags: needinfo?(nchen)
Assignee: nobody → nchen
Status: NEW → ASSIGNED
Pushed by nchen@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/7ca9491181bd
Only compile AIDL interfaces; r=nalexander
https://hg.mozilla.org/mozilla-central/rev/7ca9491181bd
https://hg.mozilla.org/mozilla-central/rev/c536c2decd20
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 55
Product: Firefox for Android → Firefox Build System
Target Milestone: Firefox 55 → mozilla55
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: