1
votes

There are those strange warns of my Flex library project on my Flex builder 4.6 with FlexSDK 4.6:

  • Classes must not be nested.
  • abc bytecode decoding failed.

let me describe how those strange comes to my Flex Builder 4.6.

  1. first,those warnings don't appear everytime,they just come out after I made some changes in a class (though the change is just add some blank lines). If I project-->clean , those warnings go away.
  2. second,if another project does not use this libray ,the warnings disappear.
  3. third, i am 95% sure there is nothing wrong in my code because is simple. There are no classes nested in my code!
  4. forth, here is a sample. There are two Classes in a Flex Library project, named Aclass And Bclass ,and an ActionScript Project that uses this Flex Library. If Aclass uses Bclass in the AS project,the warnings will be appear!

So, I have no idea what is wrong!! Maybe it is caused by my poor knowledge about Flash Builder, Flex Library, or the AS projects.

Thanks for your reading,as you infer, English is a foreign languages to me,there must be some mistakes,forgive me please

4
"Questions concerning problems with code you've written must describe the specific problem — and include valid code to reproduce it — in the question itself. See SSCCE.org for guidance." - Charles
Make sure all of your projects are being compiled with the same version of the Flex SDK. If the SWC project settings are using a different SDK version than your application project you might see funny stuff like this (based on some google searches). What version of Flash player are you targeting? You might look to replace/update the playerGlobal.swc (also based on searching). Finally, another person reported having problems b/c they were using the Vector class in a SWC (though that was 3 years ago). - Sunil D.
@SunilD. thanks for your reply.I think the "Vector" is the point which caused "abc bytecode decoding failed" problem,could you please give me more advance? - nic119
I encountered the very same problems as the OP when working with a library project and could resolve this issue by changing a variable of type Vector to Array as stated by @Sunil D.. There were always two classes affected by this "abc bytecode decoding failed" both having a Vector variable. Vector type variables seem to be the definite reason for this error message! - Jan

4 Answers

1
votes

after 3 days,I finger those problem out.

the solution is:

  1. first,create a new flex library
  2. second,move those class which are used in other projects,('used' means 'new' in other project)

that's work for me,i just know it is a solution,but about why it works,I have no idea!

thanks you all!!

1
votes

The problem was Vector.<*> for me and from what I researched online. Apparently this screws up things quite a lot even though it should work. Replace with Vector.

0
votes

I have the same problem using Flex 4.10 and Flash Builder 4.7. If I clean the library project the "Class must not be nested" error disappear, but when I modify the code it appears again

0
votes
  • Right Click on the "Project Name' in the "Flex Navigator" Tab on the left.
  • Click "Refresh"
  • Now go to the "Project" menu on top, select "Clean" [Make sure the same "Project Name" is selected in the "Flex Navigator" Tab]

That should probably fix it.

It worked for me.

Hope it helps !!

Regards, Anish