1.compileDebugKotlin FAILEDåaidl
compileDebugKotlin FAILEDåaidl
èªä»å ¥èCSï¼é¡¹ç®ç¼è¯ä¸ç´æ个ç¥åæ¥éï¼æ¯æ¬¡é½éè¦clean rebuildè¥å¹²æ¬¡,源码源码和反汇编 é常è½è¯¯æ¶é´ç®åçè¯´ï¼ å¦æå¨ä½¿ç¨AIDLæ¶éè¦ä¸ä¸ªèªå®ä¹çæ°æ®ç±»åï¼ æ们ä¸è¬ä¼è¿ä¹åï¼
å½æ们åä¸ä¸ªåç±»SubClass继æ¿è¯¥ç±».ç¶åå¨Kotlinæ件ä¸ç´æ¥æè é´æ¥å¼ç¨å°SubClassæ¶, å°±ä¼åºç°ä¸ä¸ªä»¥ä¸çæ¥é
æ¥éåçå¨ app:compileDebugKotlin , ä¹å°±æ¯kotlinc. ä½æ¯æ们ææå·²ç»å®ä¹äºè¯¥ç±». å ¨å±æç´¢åç°æ两个 CustomParcel.java, æ¨æµæ¯ä¸¤ä¸ªååçæ件å¼èµ·.
é¤äºæ们èªå·±åçJavaæ件, å¦å¤ä¸ä¸ªè¯å®æ¯aidlçæç. å¼ç¨ä¸å¼ å¾:
å¨ç¼è¯å¼å§æ¶ä¼æaidl转å为Javaæ件, æ¥ä¸æ¥æä¼ç»è¿javac, kotlincæJVMè¯è¨æ件转å为åèç .class æ件.
æ¥çaidlçæçæ件, åç°æ¯ç©ºç, 并ä¸æä¸è¡æ³¨é: 说æè¿æ¯ä¸ä¸ª PlaceHolder, ä¹å°±æ¯å ä½æ件.
ç½ä¸æå°æ人éå°äº ç¸åçé®é¢ ï¼é®é¢ç¡®å®åçå¨kotlinCç¼è¯å¨ä»¥aidlçæç空javaæ件为ç¼è¯ç®æ ï¼ èä¸æ¯çæ£çjavaç±»æ件. 并ä¸ä¹ç»åºäºè§£å³åæ³ï¼å级buildToolsçæ¬.
æ¥ç buildToolsæ交记å½
æ交记å½: No java output for parcelable declaration. ä¹å°±æ¯ç§»é¤äºä»¥ä¸ç为èªå®ä¹çaidl Parcelableç±»çæJavaæ件ç设å®(.0.2ä¹åçå®ç°)
å级.0.3, å次ç¼è¯, åç°build/aidlç®å½ä¸ä¸åçæååç PlaceHolderæ件äº, åªå©ä¸å¯ä¸çæ们èªå·±çæ件, kotlinCè¿æ¬¡åªè½ç¨å¯ä¸çæ件æ¥ç¼è¯ï¼æ¥é解å³.
è³äºä¸ºä»ä¹ææ¶åclean rebuildè½ç¼è¯æåï¼éè¦æ¢ç©¶ä¸kotlinCçæºç .
æåçæ¯ï¼ .0.2å°±æ¯ gradle plugin4.1é»è®¤æ¯æççæ¬ ï¼ æä»¥ä½ ä¸æå¨æå®buildToolsçæ¬ä¸º.0.3以ä¸å°±ä¼æè¿åé.