- 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
This is for both Ant and ADT.
For Ant, also added a check for non-integer values when the platform
is not a preview.
BUG:2118374
Change-Id: Ic8ec533d66a31d9e4b51c9c38b5eaab97bca7414
This task is designed to run XPath expression targetting Android XML files.
It will handle the Android namespace with the 'android' prefix, and store
the result of the XPath into a property.
Change-Id: I9094f5661d5e1ef86553ee1c54bdeca62366e0cd
classname: XPathTask
classpath: anttasks.jar, sdklib.jar
Usage:
<xpathtask input="path/of/file/to/read" output="name.of.property.to.write"
expression="/xpath/expression/to/evaluate" />
ApkBuilder ant task accepts now the new tag - <jarfile>, used for passing
emma_device.jar to ApkBuilder.
Change-Id: I1757d265609406bc06da370ab0204018a4c8fc4d
Target 'run-tests' launches all the unit tests against the tested project.
Target 'coverage' emma-instruments the tested project's classes,
runs the tests against instrumented classes, collects code coverage data
and extracts it to human-readable form as report.html.
android_test_rules.xml contain additional rules for test projects.
Test projects are auto-recognized by presence of the tested.project.dir
property, which will be auto-generated for tests projects. Temporarily,
please add this property manually to the build.properties file.
Current version is mainly tested with default, android generated test projects.
This version includes also fixing relative to absolute paths for
properties which are most likely to be changed by user in external
property file.
'ant install' must know the debug apk filename so newer naming scheme breaks
on older rule files (1.5 and earlier).
The fix is to check for the presence of the property naming the debug,
signed, unaligned package. If the property is present, then we use
the new naming scheme ({base}[-{config}]-debug-unaligned.apk), else we use
the old one ({base}-[-{config}]-debug.apk).
Also merge the install/reinstall targets, since 'adb install -r <file>'
works even if the apk was not yet installed.
Change-Id: Id0670610a6539a3f48c955756955f950039c3cd0
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.
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.