The main idea is that libgcc.a should appear after object files and
static libraries but before depending shared libraries. This willl
force the linker to copy the libgcc.a functions required by the
generated library into the target binary, instead of relying on
what's available in libc.so and others.
This ensures maximum portability, and prevent problems in the future
when we change the toolchain, which translates to different libgcc.a
functions embedded in libc.so and other exposed native libraries.
However, this will make also generated shared libraries bigger, because
the compiler insists on generating code that depends on a bunch of C++
support functions (even when building from C sources). An increase of
about 8KB per shared library is expected.
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
The only changes to the original XML sample:
- the root element is called "layout-configs" (plural for container).
- the <default> and <config> elements must be defined in that order:
- 0..1 of <default>
folowed by
- 1..n of <config>
It's invalid for the <device> node to be empty.
default/config are defined by a <xsd:sequence>, which imposes the
strict ordering. At first I used an <xsd:choice> which does not
impose any ordering but then it becomes possible to define an
empty <device> element. I'd rather live with the strict ordering
(which also makes sense anyway) and enforce non-empty <device>
elements in the schema.
BUG 2138329
Change-Id: I581afb1d72825ae79df00d81c74c80a2a18680ad
All apps now read source.properties located in SDK/tools
to know which version they. This is used in about box display
and in ping usage.
Change-Id: I6620c3eb703c32bfcdfd96e6a27bffc7a123b974
Now buildfile recognizes whether targets 'debug' or 'install' are being run for
an ordinary or test project and for the test projects classpath is extended
to enclose the tested project. Tested project is being compiled if necessary.
archquery is used to figure out whether the VM is 32 or 64 bit, but on
MacOS X, it used the normal "java" command while the application was
forced to use java 1.5
This could lead to cases where archquery ran in 1.6 64bit but the app
in 1.5 32 bit, creating a mismatch and make the app using the wrong
SWT version.
This is only supported in Eclair+, so the toggle button
is disable if the edited file is donut or before.
Change-Id: I8bf1f8a8aa3604f269cb226d788c5e1438a5ae0b
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
* changes:
Fix the simulator. libhardware now needs a property named "default" to be set to the value "default", otherwise it won't fall back to the default implementation for a module.
This will let the layoutlib know when to scale bitmaps
that are not in the native density of the rendering.
Change-Id: I08c99666460b5b5a3ed8d0aac7fa1b7c0136fd6b