I certainly agree with the concepts in this video IO/session, and 
appreciate the feature of the new build system

However, my question is about :

1) the standard android project tree (and changes or abandonment thereof) , 
which this presentation does not mention...

2) the project tree  incompatibility I found today between the 
*../sdk/tools/android 
create project   *and the *Android Studio* based new project creation. The *
android* command is a deep and fundamental command from the android sdk, so 
for  *Android Studio* to create a android project tree that contradicts 
whats created by the *android* command  is misplaced ( stupid)

3) The lack of documentation regarding  changes to the standard android 
project tree -- if indeed that has changed in the new build system --  
http://developer.android.com/tools/projects/index.html  "The following 
directories and files comprise an Android 
project: src/ bin/ jni/ gen/ assets/ res/ raw/  libs/ AndroidManifest.xml "



Sanjay


On Tuesday, May 21, 2013 12:01:39 PM UTC-7, Tor Norbye wrote:
>
> 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]<javascript:>
> > 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.xml The 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 information project.properties This 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]<javascript:>
>> To unsubscribe from this group, send email to
>> [email protected] <javascript:>
>> 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] <javascript:>.
>> 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