This is done as part of the new build system -- here's the talk from Google
I/O last week:
http://www.youtube.com/watch?v=LCJAgPkpmR0


On Tue, May 21, 2013 at 11:56 AM, Sanjay Mishra <[email protected]> wrote:

> I was baffled  to find that a new Android Project created via  Android
> Studio creates a  project tree (on the file system) which  shows
> significant divergence from the standard android project tree defined in
> the Android sdk documentation.
>
> One of the greatest attributes of  the Android project is that well
> defined project structure linked below :
> http://developer.android.com/tools/projects/index.html
>
> And both the  "android" command that comes from Android  sdk/tools/ and
> the  Eclipse based ADT tool create a consistent well defined directory
> tree... such that  they are  compatible
>
> That common standard Android Project tree is the common ground that
>  supported diverse IDEs(  Eclipse ADT, Netbeans, IDEA ) and  ant based
> builds.
>
> Using android, ADT and the ant based build that comes off the shelf with
> the Android SDK, one had both the IDE and the command line build working
> off the same standard tree seamlessly.
>
> http://developer.android.com/tools/projects/projects-cmdline.html
>
> ie.
> $ android create project  --target 26 --name XyzApp --path
> ./MyAndroidAppProject --activity XyzAppActivity --package com.example.xyz
> and the  Eclipse/ADT  based IDE created  the standard  tree
>
> ( cut and pasted from 
> http://developer.android.com/tools/projects/<http://developer.android.com/tools/projects/index.html>)
> :-
>
> src/
> Contains your stub Activity file, which is stored at src*
> /your/package/namespace/ActivityName*.java. All other source code files
> (such as .java or .aidl files) go here as well.bin/Output directory of
> the build. This is where you can find the final .apk file and other
> compiled resources.jni/Contains native code sources developed using the
> Android NDK. For more information, see the Android NDK 
> documentation<http://developer.android.com/tools/sdk/ndk/index.html>
> .gen/Contains the Java files generated by ADT, such as your R.java file
> and interfaces created from AIDL files.assets/This is empty. You can use
> it to store raw asset files. Files that you save here are compiled into an
> .apk file as-is, and the original filename is preserved. You can navigate
> this directory in the same way as a typical file system using URIs and read
> files as a stream of bytes using the 
> AssetManager<http://developer.android.com/reference/android/content/res/AssetManager.html>.
> For example, this is a good location for textures and game data.res/Contains
> application resources, such as drawable files, layout files, and string
> values. See Application 
> Resources<http://developer.android.com/guide/topics/resources/index.html> for
> more information.anim/For XML files that are compiled into animation
> objects. See the 
> Animation<http://developer.android.com/guide/topics/resources/animation-resource.html>
>  resource
> type.color/For XML files that describe colors. See the Color 
> Values<http://developer.android.com/guide/topics/resources/color-list-resource.html>
>  resource
> type.drawable/For bitmap files (PNG, JPEG, or GIF), 9-Patch image files,
> and XML files that describe Drawable shapes or Drawable objects that
> contain multiple states (normal, pressed, or focused). See the 
> Drawable<http://developer.android.com/guide/topics/resources/drawable-resource.html>
>  resource
> type.layout/XML files that are compiled into screen layouts (or part of a
> screen). See the 
> Layout<http://developer.android.com/guide/topics/resources/layout-resource.html>
>  resource
> type.menu/For XML files that define application menus. See the 
> Menus<http://developer.android.com/guide/topics/resources/menu-resource.html> 
> resource
> type.raw/For arbitrary raw asset files. Saving asset files here instead
> of in the assets/ directory only differs in the way that you access them.
> These files are processed by aapt and must be referenced from the
> application using a resource identifier in the R class. For example, this
> is a good place for media, such as MP3 or Ogg files.values/For XML files
> that are compiled into many kinds of resource. Unlike other resources in
> the res/ directory, resources written to XML files in this folder are not
> referenced by the file name. Instead, the XML element type controls how the
> resources is defined within them are placed into the R class.xml/For
> miscellaneous XML files that configure application components. For example,
> an XML file that defines 
> aPreferenceScreen<http://developer.android.com/reference/android/preference/PreferenceScreen.html>
> , 
> AppWidgetProviderInfo<http://developer.android.com/reference/android/appwidget/AppWidgetProviderInfo.html>,
> or Searchability 
> Metadata<http://developer.android.com/reference/android/app/SearchManager.html#SearchabilityMetadata>.
> See Application 
> Resources<http://developer.android.com/guide/topics/resources/index.html> for
> more information about configuring these application components.libs/Contains
> private libraries.AndroidManifest.xmlThe control file that describes the
> nature of the application and each of its components. For instance, it
> describes: certain qualities about the activities, services, intent
> receivers, and content providers; what permissions are requested; what
> external libraries are needed; what device features are required, what API
> Levels are supported or required; and others. See the 
> AndroidManifest.xml<http://developer.android.com/guide/topics/manifest/manifest-intro.html>
>  documentation
> for more informationproject.propertiesThis file contains project
> settings, such as the build target. This file is integral to the project,
> so maintain it in a source revision control system. To edit project
> properties in Eclipse, right-click the project folder and select*
> Properties*.
> On the other hand,  a new project I created via Android Studio  came  up
> with a whole different project tree.
> .
> ./libs
> ./libs/android-support-v4.jar
> ./src
> ./src/main
> ./src/main/java
> ./src/main/java/com
> ./src/main/java/com/example
> ./src/main/java/com/example/firsttest
> ./src/main/java/com/example/firsttest/SettingsActivity.java
> ./src/main/res
> ./src/main/res/xml
> ./src/main/res/xml/pref_data_sync.xml
> ./src/main/res/xml/pref_general.xml
> ./src/main/res/xml/pref_headers.xml
> ./src/main/res/xml/pref_notification.xml
> ./src/main/res/drawable-mdpi
> ./src/main/res/drawable-mdpi/ic_launcher.png
> ./src/main/res/values
> ./src/main/res/values/strings_activity_settings.xml
> ./src/main/res/values/strings.xml
> ./src/main/res/values/styles.xml
> ./src/main/res/drawable-xhdpi
> ./src/main/res/drawable-xhdpi/ic_launcher.png
> ./src/main/res/values-v11
> ./src/main/res/values-v11/styles.xml
> ./src/main/res/drawable-hdpi
> ./src/main/res/drawable-hdpi/ic_launcher.png
> ./src/main/AndroidManifest.xml
>
>  src/main has res etc, but libs is  at a different level (../..) but
> stepping back for moment ...
>
>
> Not sure if the  claim in Google I/O about how Android Studio was a step
> in the direction of a consistent build & consistency with the sdk  tools,
> command line builds etc, is valid, if indeed Android Studio imposes a new
> project directory structure inconsistent with the standard project tree
> documented at developer.android.com/
>
> Much as I am not a big fan of eclipse, at least the eclipse ADT created a
> project directory tree consistent with the command line core sdk tools such
> as the  "android" command and could co-exist with the command line tools
> and the ant based  builds/ automated builds and such.
>
> So why start a whole new structure ... that's inconsistent with the
> already defined android sdk documentation on what makes a standard  android
> project tree ?
>
> I respect the IntelliJ/ IDEA from JetBrains and am not a fan of eclipse(
> too many fundamental flaws). And gradle is a great tool. And  while
> particular  features  in Android Studio are quite impressive, I am not sure
> how the  issue of the project tree divergence is to be resolved in the long
> run?
>
> Perhaps I am missing something here ? IMO It  certainly does not make
> sense if Android Studio and the  gradle based build are to be interoperable
> together while being incompatible with the already well defined and
> valuable standard android project tree defined in the Android SDK
> documentation from the start.
> http://developer.android.com/tools/projects/index.html
>
> Thanks
> Sanjay
>
>
>
>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Android Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to