This is displayed when clicking the Start button in the AVD manager.
The dialog allows to easily scale the emulator to match an arbitrary screen size
and to wipe the user data if needed.
The required monitor dpi is computed using java.awt.Toolkit, but (at least
on MacOS) it doesn't return the correct value, so it can be user supplied.
It's stored at least while the app is running and if possible in the settings
of the ADV/SDK Manager/Updater.
The wipe-data and scale flags are stored and reused while the app keeps
running as well.
Change-Id: Ia2f3ff5f4de285a3d505c6914d6b89cc663be284
The icon in the templates of ADT was medium density only.
I added new densities (high and low), as well as updated to
the new Eclair style. Also added a version for Ant project.
Updated ADT and sdklib to deal with creating new projects
with all 3 icons.
In case of Ant project, this is done only if the icons
are present in the target platforms.
For ADT, this is done only if the project target donut
or later. Older project still have only one icon located
in drawable/
Change-Id: I77069a1e4902ef395d490526aabc40a26e33d4ca
This is only to be used to update the location of the main project.
To update other properties, 'update project' can be used.
Change-Id: I96ff44295460c7e331953263abccea17108d5a70
Add-ons are expected to provide a file called devices.xml in their root
folder. The XML schema for this file is
eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/sdk/layout-configs.xsd
I slightly fixed the schema so that normal screen size use the token
"normal" instead of "medium" to match the resource qualifier.
To round up the feature, the following changes are included:
- getEnum in the resource qualifier enum has been made public. There's no
sense in keeping it private and it'll help with people possibly using
valueOf which behaves differently (case sensitive so
ScreenSize.valueOf("normal") fails, while getEnum on the same string succeed.
- Updated the device configuration UI to deal with missing list of
devices while the SDK loads.
Change-Id: Ib1b01007d2ae7fd6398172c3549b2686c33d48be
- Make the distinction between the activity class name, manifest entry,
fully-qualified name, and tested activity for the template place-holders.
Test activity names now directly contain the full name (including the
"Test" prefix) instead of the template adding it.
This is required by the new 'create test-project'
- New action: create test-project
This requires a path to the main project. It reads the package, activity
name and target from the main project.
The activity is read from the manifest and can be in a more complex form
than previously expected (for instance .subpackage.MyClass, instead of
simply MyClass). This is what required the re-work the activity related
template place holders.
Options:
-m --main Location path of the project to test, relative to the new
project [required]
-n --name Project name
-p --path Location path of the new project [required]
Example: for 2 projects MyProject and MyTests located in the same folder,
calling from their parent folder.
android create test-project -p MyTests -m ../MyProject
- build.properties now only gets application.package for older targets
as the new one get it directly from XPath
- Remove AndroidXPathFactory from the anttasks project as it was already
in sdklib which is a dependency.
- Removed IntelliJ templates for the SDK. We haven't supported them for
a while, and now that IntelliJ has built-in support for Android, it's
not that useful anymore.
While there is the command line parameters for 'update test-project'
it's not yet implemented.
Change-Id: I663d4cb7f439bb2abfe866f893e58f4d13aff975
Adds tested.project.dir=".." to ProjectDir/tests/build.properties in order
to indicate automatically that this is a test project and point the
tested project directory.
Resource filters are used when generating additional APK containing only
specific resources.
The previous UI allowed for any type of filters, but we are moving to a
simpler way with fixed filters.
The first one is the density. Selecting the filter will generate 4 APKs per
application: default (all resources), hdpi (only hdpi/nodpi and default
resources), mdpi, ldpi.
application-package to application.package
sdk-location to sdk.dir
android-jar to android.jar
android-aidl to android.aidl
in order to make their names compliant with the ant standards and rest
of the property names.
Properties names in alias rules deliberately ommited in this CL.
Some minor style changes introduced.
Renamed the getenv and added one for user sources.
Added a (naive) check to prevent duplicate URLs.
Also fixed the repositoy.xml download error message, it was not displaying the reason of failure correctly.
java.util.Properties#setProperty() doesn't like it when the value is null
which was the case when a package had no license.
Made sure it won't happen on other properties than the license as well.
Also improved error display when an unexpected Throwable is thrown during
install (Stack Call is now display if the Throwable has no message).
BUG:2037085
When the SDK installer unarchives the zip files, it is important to keep
the permissions for executable (Linux/MacOS) or the tools required to
build applications (aapt, aidl, ...) won't work.
Since java.util.zip does not provide support for permissions, we now
use the Apache Commons Compress component that allows us to read the
permission from the archive.
Platform, add-on and doc packages used to use Api Level to figure out
upgrade logic. This is replaced by AndroidVersion to properly handle
codename versions.
ro.build.version.codename is a new property indicating whether a platform
is in its release form (value = REL) or in development (value = dev branch
name such as Donut). When the codename indicates a development/preview version
then the API level must be ignored and this codename is used as a unique
identifier of the platform.
IAndroidTarget has been changed to return an instance of a new class
AndroidVersion instead of the api level directly. This class helps deals with
the logic of comparing version from targets or devices.
This change impacts all of the sdk manager to deal with targets identified by
codename instead of api level. This in turn impacts everything that relies
on the sdkmanager: ADT (build, launch, project creation), the AVD manager,
the SDK updater.