user30497: I make my own library for arduino.
The file structure is like below.
AAA - README.md
    - examples - A - A.ino
               - B - B.ino
    - AAA.h
    - BBB.h
    - CCC.h
    - BBB.cpp
    - CCC.cpp

It works well. But I want to grouping a library source files like below.
AAA - same as above
    - src - AAA.h
          - BBB.h
          - CCC.h
          - BBB.cpp
          - CCC.cpp

It doesn't work at all.
Arduino IDE shows the message 

Specified folder/zip file does not contain a valid library.

But, WiFi101 library was made by src folder. Why isn't it possible for mine?

user26916: I'm going to assume your library structure is like this because the structure you described above would not cause that error:
AAA
|_src
    |_AAA.h
    |_BBB.h
    |_CCC.h
    |_BBB.cpp
    |_CCC.cpp

To be considered valid by the Arduino IDE, a library must either have a .h file in the root folder or a library.properties file if you are using the 1.5 library format. Putting all the source files in the src subfolder means your library is in the 1.5 library format. So you need to add a library.properties file in the root of the library formatted as described here: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#libraryproperties-file-format. Then your library should look like this:
AAA
|_library.properties
|_src
    |_AAA.h
    |_BBB.h
    |_CCC.h
    |_BBB.cpp
    |_CCC.cpp


30497: <p>I make my own library for arduino.</p>

<p>The file structure is like below.</p>

<pre><code>AAA - README.md
    - examples - A - A.ino
               - B - B.ino
    - AAA.h
    - BBB.h
    - CCC.h
    - BBB.cpp
    - CCC.cpp
</code></pre>

<p>It works well. But I want to grouping a library source files like below.</p>

<pre><code>AAA - same as above
    - src - AAA.h
          - BBB.h
          - CCC.h
          - BBB.cpp
          - CCC.cpp
</code></pre>

<p>It doesn't work at all.</p>

<p>Arduino IDE shows the message </p>

<blockquote>
  <p>Specified folder/zip file does not contain a valid library.</p>
</blockquote>

<p>But, WiFi101 library was made by src folder. Why isn't it possible for mine?</p>
 26916: <p>I'm going to assume your library structure is like this because the structure you described above would not cause that error:</p>

<pre><code>AAA
|_src
    |_AAA.h
    |_BBB.h
    |_CCC.h
    |_BBB.cpp
    |_CCC.cpp
</code></pre>

<p>To be considered valid by the Arduino IDE, a library must either have a .h file in the root folder or a library.properties file if you are using the <a href="https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#15-library-format-rev-21" rel="nofollow noreferrer">1.5 library format</a>. Putting all the source files in the <code>src</code> subfolder means your library is in the 1.5 library format. So you need to add a library.properties file in the root of the library formatted as described here: <a href="https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#libraryproperties-file-format" rel="nofollow noreferrer">https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#libraryproperties-file-format</a>. Then your library should look like this:</p>

<pre><code>AAA
|_library.properties
|_src
    |_AAA.h
    |_BBB.h
    |_CCC.h
    |_BBB.cpp
    |_CCC.cpp
</code></pre>
