diff options
Diffstat (limited to 'testapps')
502 files changed, 10220 insertions, 0 deletions
diff --git a/testapps/.gitignore b/testapps/.gitignore new file mode 100644 index 000000000..3d8282161 --- /dev/null +++ b/testapps/.gitignore @@ -0,0 +1,5 @@ +bin +coverage +local.properties +gen +proguard diff --git a/testapps/README.txt b/testapps/README.txt new file mode 100644 index 000000000..e76bc4de2 --- /dev/null +++ b/testapps/README.txt @@ -0,0 +1,6 @@ +This repository contains test applications used by the SDK automated tests. + +These are not meant to be packaged with the SDK. + +Each project represents a different test case. For more information, read +the readme file located in the project directory.
\ No newline at end of file diff --git a/testapps/aidlTest/libWithAidl/.classpath b/testapps/aidlTest/libWithAidl/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/aidlTest/libWithAidl/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/aidlTest/libWithAidl/.project b/testapps/aidlTest/libWithAidl/.project new file mode 100644 index 000000000..49d565f0d --- /dev/null +++ b/testapps/aidlTest/libWithAidl/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>aidlTest-libWithAidl</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/aidlTest/libWithAidl/AndroidManifest.xml b/testapps/aidlTest/libWithAidl/AndroidManifest.xml new file mode 100644 index 000000000..d1d75dde0 --- /dev/null +++ b/testapps/aidlTest/libWithAidl/AndroidManifest.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.aidl.lib" + android:versionCode="1" + android:versionName="1.0" > + + <permission + android:name="com.foo.mypermission" + android:description="@string/app_name" + android:label="@string/app_name" > + </permission> + <permission + android:name="com.foo.mypermission2" + android:description="@string/app_name" + android:label="@string/app_name" > + </permission> + +</manifest>
\ No newline at end of file diff --git a/testapps/aidlTest/libWithAidl/ant.properties b/testapps/aidlTest/libWithAidl/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/aidlTest/libWithAidl/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/aidlTest/libWithAidl/build.xml b/testapps/aidlTest/libWithAidl/build.xml new file mode 100644 index 000000000..07c2a49a0 --- /dev/null +++ b/testapps/aidlTest/libWithAidl/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="libWithAidl" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/aidlTest/libWithAidl/proguard-project.txt b/testapps/aidlTest/libWithAidl/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/aidlTest/libWithAidl/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/aidlTest/libWithAidl/project.properties b/testapps/aidlTest/libWithAidl/project.properties new file mode 100644 index 000000000..23d80c4e4 --- /dev/null +++ b/testapps/aidlTest/libWithAidl/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library=true + diff --git a/testapps/aidlTest/libWithAidl/res/layout/main.xml b/testapps/aidlTest/libWithAidl/res/layout/main.xml new file mode 100644 index 000000000..d11d11a5e --- /dev/null +++ b/testapps/aidlTest/libWithAidl/res/layout/main.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2007 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Demonstrates defining custom views in a layout file. --> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" > +</LinearLayout>
\ No newline at end of file diff --git a/testapps/aidlTest/libWithAidl/res/values/strings.xml b/testapps/aidlTest/libWithAidl/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/aidlTest/libWithAidl/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/aidlTest/libWithAidl/src/com/android/tests/aidl/lib/MyParcelable.aidl b/testapps/aidlTest/libWithAidl/src/com/android/tests/aidl/lib/MyParcelable.aidl new file mode 100644 index 000000000..b47faeca0 --- /dev/null +++ b/testapps/aidlTest/libWithAidl/src/com/android/tests/aidl/lib/MyParcelable.aidl @@ -0,0 +1,3 @@ +package com.android.tests.aidl.lib; + +parcelable MyParcelable;
\ No newline at end of file diff --git a/testapps/aidlTest/libWithAidl/src/com/android/tests/aidl/lib/MyParcelable.java b/testapps/aidlTest/libWithAidl/src/com/android/tests/aidl/lib/MyParcelable.java new file mode 100644 index 000000000..ef9efdd26 --- /dev/null +++ b/testapps/aidlTest/libWithAidl/src/com/android/tests/aidl/lib/MyParcelable.java @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.aidl.lib; + +import android.os.Parcel; +import android.os.Parcelable; + +public class MyParcelable implements Parcelable { + private int mData; + + public int describeContents() { + return 0; + } + + public void writeToParcel(Parcel out, int flags) { + out.writeInt(mData); + } + + public static final Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>() { + public MyParcelable createFromParcel(Parcel in) { + return new MyParcelable(in); + } + + public MyParcelable[] newArray(int size) { + return new MyParcelable[size]; + } + }; + + private MyParcelable(Parcel in) { + mData = in.readInt(); + } +} diff --git a/testapps/aidlTest/mainProject/.classpath b/testapps/aidlTest/mainProject/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/aidlTest/mainProject/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/aidlTest/mainProject/.project b/testapps/aidlTest/mainProject/.project new file mode 100644 index 000000000..81769cc55 --- /dev/null +++ b/testapps/aidlTest/mainProject/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>aidlTest-mainProject</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/aidlTest/mainProject/AndroidManifest.xml b/testapps/aidlTest/mainProject/AndroidManifest.xml new file mode 100644 index 000000000..f7315b01f --- /dev/null +++ b/testapps/aidlTest/mainProject/AndroidManifest.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.aidl.main" + android:versionCode="1" + android:versionName="1.0" > + + <application android:label="@string/app_name" > + <activity + android:name="com.android.tests.aidl.main.MyActivity" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/aidlTest/mainProject/ant.properties b/testapps/aidlTest/mainProject/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/aidlTest/mainProject/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/aidlTest/mainProject/build.xml b/testapps/aidlTest/mainProject/build.xml new file mode 100644 index 000000000..30203f0c9 --- /dev/null +++ b/testapps/aidlTest/mainProject/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="aidlTest-mainProject" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/aidlTest/mainProject/proguard-project.txt b/testapps/aidlTest/mainProject/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/aidlTest/mainProject/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/aidlTest/mainProject/project.properties b/testapps/aidlTest/mainProject/project.properties new file mode 100644 index 000000000..633532029 --- /dev/null +++ b/testapps/aidlTest/mainProject/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library.reference.1=../libWithAidl + +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt diff --git a/testapps/aidlTest/mainProject/res/values/strings.xml b/testapps/aidlTest/mainProject/res/values/strings.xml new file mode 100644 index 000000000..7dde73315 --- /dev/null +++ b/testapps/aidlTest/mainProject/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">aidlTest</string> +</resources> diff --git a/testapps/aidlTest/mainProject/src/com/android/tests/aidl/main/IRemoteService.aidl b/testapps/aidlTest/mainProject/src/com/android/tests/aidl/main/IRemoteService.aidl new file mode 100644 index 000000000..62126c12d --- /dev/null +++ b/testapps/aidlTest/mainProject/src/com/android/tests/aidl/main/IRemoteService.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.aidl.main; + +import com.android.tests.aidl.lib.MyParcelable; + +interface IRemoteService { + MyParcelable get(); +} + diff --git a/testapps/aidlTest/mainProject/src/com/android/tests/aidl/main/MyActivity.java b/testapps/aidlTest/mainProject/src/com/android/tests/aidl/main/MyActivity.java new file mode 100644 index 000000000..117198dd8 --- /dev/null +++ b/testapps/aidlTest/mainProject/src/com/android/tests/aidl/main/MyActivity.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package com.android.tests.aidl.main; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/basicJar/.classpath b/testapps/basicJar/.classpath new file mode 100644 index 000000000..11a4c988d --- /dev/null +++ b/testapps/basicJar/.classpath @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/basicJar/.project b/testapps/basicJar/.project new file mode 100644 index 000000000..b7bfb91e7 --- /dev/null +++ b/testapps/basicJar/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>basicJar</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/basicJar/build.xml b/testapps/basicJar/build.xml new file mode 100644 index 000000000..ebe77ff48 --- /dev/null +++ b/testapps/basicJar/build.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicJar" default="compile"> + <target name="compile"> + <mkdir dir="${basedir}/bin" /> + <mkdir dir="${basedir}/bin/classes" /> + <javac encoding="ascii" target="1.5" source="1.5" debug="true" extdirs="" + srcdir="src" destdir="${basedir}/bin/classes" /> + <jar destfile="${basedir}/bin/${ant.project.name}.jar"> + <fileset dir="${basedir}/bin/classes" /> + <fileset dir="src" excludes="**/*.java"/> + </jar> + </target> + <target name="clean"> + <delete dir="bin" /> + </target> +</project> diff --git a/testapps/basicJar/src/com/android/tests/basicjar/BasicJar.java b/testapps/basicJar/src/com/android/tests/basicjar/BasicJar.java new file mode 100644 index 000000000..1046ce7c1 --- /dev/null +++ b/testapps/basicJar/src/com/android/tests/basicjar/BasicJar.java @@ -0,0 +1,33 @@ +package com.android.tests.basicjar; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class BasicJar { + + public static String getContent() { + InputStream input = BasicJar.class.getResourceAsStream("/com/android/tests/basicjar/basicJar.txt"); + if (input == null) { + return "FAILED TO FIND basicJar.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +}
\ No newline at end of file diff --git a/testapps/basicJar/src/com/android/tests/basicjar/basicJar.txt b/testapps/basicJar/src/com/android/tests/basicjar/basicJar.txt new file mode 100644 index 000000000..d5a828567 --- /dev/null +++ b/testapps/basicJar/src/com/android/tests/basicjar/basicJar.txt @@ -0,0 +1 @@ +SUCCESS from basicJar.jar
\ No newline at end of file diff --git a/testapps/basicJar2/.classpath b/testapps/basicJar2/.classpath new file mode 100644 index 000000000..11a4c988d --- /dev/null +++ b/testapps/basicJar2/.classpath @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/basicJar2/.project b/testapps/basicJar2/.project new file mode 100644 index 000000000..b7bfb91e7 --- /dev/null +++ b/testapps/basicJar2/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>basicJar</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/basicJar2/build.xml b/testapps/basicJar2/build.xml new file mode 100644 index 000000000..a5b0657b9 --- /dev/null +++ b/testapps/basicJar2/build.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicJar2" default="compile"> + <target name="compile"> + <mkdir dir="${basedir}/bin" /> + <mkdir dir="${basedir}/bin/classes" /> + <javac encoding="ascii" target="1.5" source="1.5" debug="true" extdirs="" + srcdir="src" destdir="${basedir}/bin/classes" /> + <jar destfile="${basedir}/bin/${ant.project.name}.jar"> + <fileset dir="${basedir}/bin/classes" /> + <fileset dir="src" excludes="**/*.java"/> + </jar> + </target> + <target name="clean"> + <delete dir="bin" /> + </target> +</project> diff --git a/testapps/basicJar2/src/com/android/tests/basicjar2/BasicJar2.java b/testapps/basicJar2/src/com/android/tests/basicjar2/BasicJar2.java new file mode 100644 index 000000000..906fbc0e7 --- /dev/null +++ b/testapps/basicJar2/src/com/android/tests/basicjar2/BasicJar2.java @@ -0,0 +1,33 @@ +package com.android.tests.basicjar2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class BasicJar2 { + + public static String getContent() { + InputStream input = BasicJar2.class.getResourceAsStream("/com/android/tests/basicjar2/basicJar2.txt"); + if (input == null) { + return "FAILED TO FIND basicJar2.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +}
\ No newline at end of file diff --git a/testapps/basicJar2/src/com/android/tests/basicjar2/basicJar2.txt b/testapps/basicJar2/src/com/android/tests/basicjar2/basicJar2.txt new file mode 100644 index 000000000..c08eda2e2 --- /dev/null +++ b/testapps/basicJar2/src/com/android/tests/basicjar2/basicJar2.txt @@ -0,0 +1 @@ +SUCCESS from basicJar2.jar
\ No newline at end of file diff --git a/testapps/basicJar3/.classpath b/testapps/basicJar3/.classpath new file mode 100644 index 000000000..11a4c988d --- /dev/null +++ b/testapps/basicJar3/.classpath @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/basicJar3/.project b/testapps/basicJar3/.project new file mode 100644 index 000000000..c9181f792 --- /dev/null +++ b/testapps/basicJar3/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>basicJar3</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/basicJar3/build.xml b/testapps/basicJar3/build.xml new file mode 100644 index 000000000..208501f45 --- /dev/null +++ b/testapps/basicJar3/build.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicJar3" default="compile"> + <target name="compile"> + <mkdir dir="${basedir}/bin" /> + <mkdir dir="${basedir}/bin/classes" /> + <javac encoding="ascii" target="1.5" source="1.5" debug="true" extdirs="" + srcdir="src" destdir="${basedir}/bin/classes" /> + <jar destfile="${basedir}/bin/${ant.project.name}.jar"> + <fileset dir="${basedir}/bin/classes" /> + <fileset dir="src" excludes="**/*.java"/> + </jar> + </target> + <target name="clean"> + <delete dir="bin" /> + </target> +</project> diff --git a/testapps/basicJar3/src/com/android/tests/basicjar3/BasicJar3.java b/testapps/basicJar3/src/com/android/tests/basicjar3/BasicJar3.java new file mode 100644 index 000000000..684b58459 --- /dev/null +++ b/testapps/basicJar3/src/com/android/tests/basicjar3/BasicJar3.java @@ -0,0 +1,33 @@ +package com.android.tests.basicjar3; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class BasicJar3 { + + public static String getContent() { + InputStream input = BasicJar3.class.getResourceAsStream("/com/android/tests/basicjar3/basicJar3.txt"); + if (input == null) { + return "FAILED TO FIND basicJar3.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +}
\ No newline at end of file diff --git a/testapps/basicJar3/src/com/android/tests/basicjar3/basicJar3.txt b/testapps/basicJar3/src/com/android/tests/basicjar3/basicJar3.txt new file mode 100644 index 000000000..a2dc23020 --- /dev/null +++ b/testapps/basicJar3/src/com/android/tests/basicjar3/basicJar3.txt @@ -0,0 +1 @@ +SUCCESS from basicJar3.jar
\ No newline at end of file diff --git a/testapps/basicProjectWithAidl/.classpath b/testapps/basicProjectWithAidl/.classpath new file mode 100644 index 000000000..765e549ef --- /dev/null +++ b/testapps/basicProjectWithAidl/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/testapps/basicProjectWithAidl/.project b/testapps/basicProjectWithAidl/.project new file mode 100644 index 000000000..24ed8541a --- /dev/null +++ b/testapps/basicProjectWithAidl/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>basicProjectWithAidl</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/basicProjectWithAidl/AndroidManifest.xml b/testapps/basicProjectWithAidl/AndroidManifest.xml new file mode 100644 index 000000000..4cf7553b3 --- /dev/null +++ b/testapps/basicProjectWithAidl/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + android:versionCode="1" + android:versionName="1.0" package="com.android.tests.basicprojectwithaidl"> + <application android:label="@string/app_name" android:icon="@drawable/icon"> + <activity android:name="com.android.tests.basicprojectwithaidlwithaidl.Main" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + <uses-sdk android:minSdkVersion="AOSP"/> +</manifest> diff --git a/testapps/basicProjectWithAidl/ant.properties b/testapps/basicProjectWithAidl/ant.properties new file mode 100644 index 000000000..b0971e891 --- /dev/null +++ b/testapps/basicProjectWithAidl/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/basicProjectWithAidl/build.xml b/testapps/basicProjectWithAidl/build.xml new file mode 100644 index 000000000..c0aff2d28 --- /dev/null +++ b/testapps/basicProjectWithAidl/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicProject" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/basicProjectWithAidl/project.properties b/testapps/basicProjectWithAidl/project.properties new file mode 100644 index 000000000..38db6608b --- /dev/null +++ b/testapps/basicProjectWithAidl/project.properties @@ -0,0 +1,12 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "build.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-AOSP +proguard.config=../proguard.config diff --git a/testapps/basicProjectWithAidl/res/drawable/icon.png b/testapps/basicProjectWithAidl/res/drawable/icon.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/basicProjectWithAidl/res/drawable/icon.png diff --git a/testapps/basicProjectWithAidl/res/layout/main.xml b/testapps/basicProjectWithAidl/res/layout/main.xml new file mode 100644 index 000000000..783e4a05e --- /dev/null +++ b/testapps/basicProjectWithAidl/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Basic Project" + /> +</LinearLayout> + diff --git a/testapps/basicProjectWithAidl/res/values/strings.xml b/testapps/basicProjectWithAidl/res/values/strings.xml new file mode 100644 index 000000000..a7322d339 --- /dev/null +++ b/testapps/basicProjectWithAidl/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">basicProject</string> +</resources> diff --git a/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/ITest.aidl b/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/ITest.aidl new file mode 100644 index 000000000..718571571 --- /dev/null +++ b/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/ITest.aidl @@ -0,0 +1,6 @@ +package com.android.tests.basicprojectwithaidl; + +interface ITest { + Rect getRect(); +} + diff --git a/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/Main.java b/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/Main.java new file mode 100644 index 000000000..eaed51087 --- /dev/null +++ b/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/Main.java @@ -0,0 +1,15 @@ +package com.android.tests.basicprojectwithaidl; + +import android.app.Activity; +import android.os.Bundle; + +public class Main extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/Rect.aidl b/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/Rect.aidl new file mode 100644 index 000000000..734cf7725 --- /dev/null +++ b/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/Rect.aidl @@ -0,0 +1,5 @@ +package com.android.tests.basicprojectwithaidl; + +// Declare Rect so AIDL can find it and knows that it implements +// the parcelable protocol. +parcelable Rect;
\ No newline at end of file diff --git a/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/Rect.java b/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/Rect.java new file mode 100644 index 000000000..8e16926f0 --- /dev/null +++ b/testapps/basicProjectWithAidl/src/com/android/tests/basicprojectwithaidl/Rect.java @@ -0,0 +1,52 @@ +package com.android.tests.basicprojectwithaidl; + +import android.os.Parcel; +import android.os.Parcelable; + +public class Rect implements Parcelable { + public int left; + public int top; + public int right; + public int bottom; + + public static final Parcelable.Creator<Rect> CREATOR = new Parcelable.Creator<Rect>() { + public Rect createFromParcel(Parcel in) { + return new Rect(in); + } + + public Rect[] newArray(int size) { + return new Rect[size]; + } + }; + + public Rect() { + } + + private Rect(Parcel in) { + readFromParcel(in); + } + + public void writeToParcel(Parcel out) { + out.writeInt(left); + out.writeInt(top); + out.writeInt(right); + out.writeInt(bottom); + } + + public void readFromParcel(Parcel in) { + left = in.readInt(); + top = in.readInt(); + right = in.readInt(); + bottom = in.readInt(); + } + + public int describeContents() { + // TODO Auto-generated method stub + return 0; + } + + public void writeToParcel(Parcel arg0, int arg1) { + // TODO Auto-generated method stub + + } +} diff --git a/testapps/buildConfigTest/COMPILE_AND_RUN b/testapps/buildConfigTest/COMPILE_AND_RUN new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/buildConfigTest/COMPILE_AND_RUN diff --git a/testapps/buildConfigTest/SUCCESS b/testapps/buildConfigTest/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/buildConfigTest/SUCCESS diff --git a/testapps/buildConfigTest/app/.classpath b/testapps/buildConfigTest/app/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/buildConfigTest/app/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/buildConfigTest/app/.project b/testapps/buildConfigTest/app/.project new file mode 100644 index 000000000..dd37abeb5 --- /dev/null +++ b/testapps/buildConfigTest/app/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>buildConfigTest-app</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/buildConfigTest/app/AndroidManifest.xml b/testapps/buildConfigTest/app/AndroidManifest.xml new file mode 100644 index 000000000..50e30b920 --- /dev/null +++ b/testapps/buildConfigTest/app/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.buildconfigtest" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> + <activity android:name="Main" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/buildConfigTest/app/ant.properties b/testapps/buildConfigTest/app/ant.properties new file mode 100644 index 000000000..b0971e891 --- /dev/null +++ b/testapps/buildConfigTest/app/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/buildConfigTest/app/build.xml b/testapps/buildConfigTest/app/build.xml new file mode 100644 index 000000000..93dfe0f6a --- /dev/null +++ b/testapps/buildConfigTest/app/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="buildConfigTest" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/buildConfigTest/app/lint.xml b/testapps/buildConfigTest/app/lint.xml new file mode 100644 index 000000000..ee0eead5b --- /dev/null +++ b/testapps/buildConfigTest/app/lint.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<lint> +</lint>
\ No newline at end of file diff --git a/testapps/buildConfigTest/app/proguard-project.txt b/testapps/buildConfigTest/app/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/buildConfigTest/app/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/buildConfigTest/app/project.properties b/testapps/buildConfigTest/app/project.properties new file mode 100644 index 000000000..c42f7efc5 --- /dev/null +++ b/testapps/buildConfigTest/app/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library.reference.1=../lib1 diff --git a/testapps/buildConfigTest/app/res/drawable-hdpi/ic_launcher.png b/testapps/buildConfigTest/app/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/buildConfigTest/app/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/buildConfigTest/app/res/drawable-ldpi/ic_launcher.png b/testapps/buildConfigTest/app/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/buildConfigTest/app/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/buildConfigTest/app/res/drawable-mdpi/ic_launcher.png b/testapps/buildConfigTest/app/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/buildConfigTest/app/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/buildConfigTest/app/res/layout/main.xml b/testapps/buildConfigTest/app/res/layout/main.xml new file mode 100644 index 000000000..6a3de6761 --- /dev/null +++ b/testapps/buildConfigTest/app/res/layout/main.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <TextView + android:id="@+id/app" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="App: Release" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/lib1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/buildConfigTest/app/res/values/strings.xml b/testapps/buildConfigTest/app/res/values/strings.xml new file mode 100644 index 000000000..004b9f038 --- /dev/null +++ b/testapps/buildConfigTest/app/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">BuildConfigTest</string> +</resources> diff --git a/testapps/buildConfigTest/app/src/com/android/tests/buildconfigtest/Main.java b/testapps/buildConfigTest/app/src/com/android/tests/buildconfigtest/Main.java new file mode 100644 index 000000000..6421c60ed --- /dev/null +++ b/testapps/buildConfigTest/app/src/com/android/tests/buildconfigtest/Main.java @@ -0,0 +1,26 @@ +package com.android.tests.buildconfigtest; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.TextView; + +import com.android.tests.buildconfigtest.lib1.Lib1; + +public class Main extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + if (BuildConfig.DEBUG) { + TextView tv = (TextView) findViewById(R.id.app); + tv.setText("App: DEBUG"); + } + + TextView tv = (TextView) findViewById(R.id.lib1); + tv.setText("Lib: " + Lib1.getContent()); + } +} diff --git a/testapps/buildConfigTest/lib1/.classpath b/testapps/buildConfigTest/lib1/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/buildConfigTest/lib1/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/buildConfigTest/lib1/.project b/testapps/buildConfigTest/lib1/.project new file mode 100644 index 000000000..22c9a5b70 --- /dev/null +++ b/testapps/buildConfigTest/lib1/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>buildConfigTest-Lib</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/buildConfigTest/lib1/AndroidManifest.xml b/testapps/buildConfigTest/lib1/AndroidManifest.xml new file mode 100644 index 000000000..58aa6243b --- /dev/null +++ b/testapps/buildConfigTest/lib1/AndroidManifest.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.javaprojecttest.lib1" + android:versionCode="1" + android:versionName="1.0" > + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" > + <activity + android:name="com.android.tests.buildconfigtest.lib1.Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/buildConfigTest/lib1/build.xml b/testapps/buildConfigTest/lib1/build.xml new file mode 100644 index 000000000..a111b4d78 --- /dev/null +++ b/testapps/buildConfigTest/lib1/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="lib1" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/buildConfigTest/lib1/proguard-project.txt b/testapps/buildConfigTest/lib1/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/buildConfigTest/lib1/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/buildConfigTest/lib1/project.properties b/testapps/buildConfigTest/lib1/project.properties new file mode 100644 index 000000000..36f15941e --- /dev/null +++ b/testapps/buildConfigTest/lib1/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true diff --git a/testapps/buildConfigTest/lib1/res/drawable-hdpi/ic_launcher.png b/testapps/buildConfigTest/lib1/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/buildConfigTest/lib1/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/buildConfigTest/lib1/res/drawable-ldpi/ic_launcher.png b/testapps/buildConfigTest/lib1/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/buildConfigTest/lib1/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/buildConfigTest/lib1/res/drawable-mdpi/ic_launcher.png b/testapps/buildConfigTest/lib1/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/buildConfigTest/lib1/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/buildConfigTest/lib1/res/values/strings.xml b/testapps/buildConfigTest/lib1/res/values/strings.xml new file mode 100644 index 000000000..549e4ea50 --- /dev/null +++ b/testapps/buildConfigTest/lib1/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">Main</string> +</resources> diff --git a/testapps/buildConfigTest/lib1/src/com/android/tests/buildconfigtest/lib1/Lib1.java b/testapps/buildConfigTest/lib1/src/com/android/tests/buildconfigtest/lib1/Lib1.java new file mode 100644 index 000000000..cca0eff83 --- /dev/null +++ b/testapps/buildConfigTest/lib1/src/com/android/tests/buildconfigtest/lib1/Lib1.java @@ -0,0 +1,17 @@ +package com.android.tests.buildconfigtest.lib1; + +import com.android.tests.javaprojecttest.lib1.BuildConfig; + + +public class Lib1 { + + public static String getContent() { + String a = "Release"; + + if (BuildConfig.DEBUG) { + a = "DEBUG"; + } + + return a; + } +} diff --git a/testapps/customPropAnimTest/.classpath b/testapps/customPropAnimTest/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/customPropAnimTest/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/customPropAnimTest/.project b/testapps/customPropAnimTest/.project new file mode 100644 index 000000000..0d12fe9df --- /dev/null +++ b/testapps/customPropAnimTest/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>customPropAnimTest</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/customPropAnimTest/AndroidManifest.xml b/testapps/customPropAnimTest/AndroidManifest.xml new file mode 100644 index 000000000..72c58d056 --- /dev/null +++ b/testapps/customPropAnimTest/AndroidManifest.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.custompropertyanimation" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="15" /> + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" > + <activity + android:name=".CustomPropertyAnimationActivity" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/customPropAnimTest/build.xml b/testapps/customPropAnimTest/build.xml new file mode 100644 index 000000000..d6ee0bc88 --- /dev/null +++ b/testapps/customPropAnimTest/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="CustomPropertyAnimationActivity" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/customPropAnimTest/proguard-project.txt b/testapps/customPropAnimTest/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/customPropAnimTest/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/customPropAnimTest/project.properties b/testapps/customPropAnimTest/project.properties new file mode 100644 index 000000000..1a88dc6bc --- /dev/null +++ b/testapps/customPropAnimTest/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 + diff --git a/testapps/customPropAnimTest/res/drawable-hdpi/ic_launcher.png b/testapps/customPropAnimTest/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..96a442e5b --- /dev/null +++ b/testapps/customPropAnimTest/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/customPropAnimTest/res/drawable-ldpi/ic_launcher.png b/testapps/customPropAnimTest/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..99238729d --- /dev/null +++ b/testapps/customPropAnimTest/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/customPropAnimTest/res/drawable-mdpi/ic_launcher.png b/testapps/customPropAnimTest/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..359047dfa --- /dev/null +++ b/testapps/customPropAnimTest/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/customPropAnimTest/res/drawable-xhdpi/ic_launcher.png b/testapps/customPropAnimTest/res/drawable-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..71c6d760f --- /dev/null +++ b/testapps/customPropAnimTest/res/drawable-xhdpi/ic_launcher.png diff --git a/testapps/customPropAnimTest/res/layout/main.xml b/testapps/customPropAnimTest/res/layout/main.xml new file mode 100644 index 000000000..40f9f1ac7 --- /dev/null +++ b/testapps/customPropAnimTest/res/layout/main.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" + android:id="@+id/container"> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/customPropAnimTest/res/values/strings.xml b/testapps/customPropAnimTest/res/values/strings.xml new file mode 100644 index 000000000..9c3c31bdc --- /dev/null +++ b/testapps/customPropAnimTest/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="hello">Hello World, CustomPropertyAnimationActivity!</string> + <string name="app_name">CustomPropertyAnimation</string> + +</resources>
\ No newline at end of file diff --git a/testapps/customPropAnimTest/src/com/android/custompropertyanimation/CustomPropertyAnimationActivity.java b/testapps/customPropAnimTest/src/com/android/custompropertyanimation/CustomPropertyAnimationActivity.java new file mode 100644 index 000000000..b1b91b981 --- /dev/null +++ b/testapps/customPropAnimTest/src/com/android/custompropertyanimation/CustomPropertyAnimationActivity.java @@ -0,0 +1,22 @@ +package com.android.custompropertyanimation; + +import android.animation.ObjectAnimator; +import android.app.Activity; +import android.os.Bundle; +import android.widget.LinearLayout; + +public class CustomPropertyAnimationActivity extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + LinearLayout container = (LinearLayout) findViewById(R.id.container); + + MyView view = new MyView(this); + container.addView(view); + + ObjectAnimator anim = ObjectAnimator.ofFloat(view, "foo", 1); + anim.start(); + } +}
\ No newline at end of file diff --git a/testapps/customPropAnimTest/src/com/android/custompropertyanimation/MyView.java b/testapps/customPropAnimTest/src/com/android/custompropertyanimation/MyView.java new file mode 100644 index 000000000..e557fdaa5 --- /dev/null +++ b/testapps/customPropAnimTest/src/com/android/custompropertyanimation/MyView.java @@ -0,0 +1,24 @@ +package com.android.custompropertyanimation; + +import android.content.Context; +import android.view.View; + +public class MyView extends View { + + float mFoo = 0; + + public MyView(Context context) { + super(context); + } + + public void setFoo(float foo) { + System.out.println("foo = " + foo); + mFoo = foo; + } + + public float getFoo() { + System.out.println("getFoo() returning " + mFoo); + return mFoo; + } + +} diff --git a/testapps/customViewTest/libWithCustomView/.classpath b/testapps/customViewTest/libWithCustomView/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/customViewTest/libWithCustomView/.project b/testapps/customViewTest/libWithCustomView/.project new file mode 100644 index 000000000..0be1f6181 --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>customViewTest-libWithCustomView</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/customViewTest/libWithCustomView/AndroidManifest.xml b/testapps/customViewTest/libWithCustomView/AndroidManifest.xml new file mode 100644 index 000000000..89cff95c0 --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/AndroidManifest.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libwithcustom" + android:versionCode="1" + android:versionName="1.0" > + + <permission + android:name="com.foo.mypermission" + android:description="@string/app_name" + android:label="@string/app_name" > + </permission> + <permission + android:name="com.foo.mypermission2" + android:description="@string/app_name" + android:label="@string/app_name" > + </permission> + +</manifest>
\ No newline at end of file diff --git a/testapps/customViewTest/libWithCustomView/ant.properties b/testapps/customViewTest/libWithCustomView/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/customViewTest/libWithCustomView/build.xml b/testapps/customViewTest/libWithCustomView/build.xml new file mode 100644 index 000000000..7d9e0321e --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="libWithCustomView" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/customViewTest/libWithCustomView/proguard-project.txt b/testapps/customViewTest/libWithCustomView/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/customViewTest/libWithCustomView/proguard.cfg b/testapps/customViewTest/libWithCustomView/proguard.cfg new file mode 100644 index 000000000..b1cdf17b5 --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/proguard.cfg @@ -0,0 +1,40 @@ +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontpreverify +-verbose +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference +-keep public class com.android.vending.licensing.ILicensingService + +-keepclasseswithmembernames class * { + native <methods>; +} + +-keepclasseswithmembers class * { + public <init>(android.content.Context, android.util.AttributeSet); +} + +-keepclasseswithmembers class * { + public <init>(android.content.Context, android.util.AttributeSet, int); +} + +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} diff --git a/testapps/customViewTest/libWithCustomView/project.properties b/testapps/customViewTest/libWithCustomView/project.properties new file mode 100644 index 000000000..23d80c4e4 --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library=true + diff --git a/testapps/customViewTest/libWithCustomView/res/layout/main.xml b/testapps/customViewTest/libWithCustomView/res/layout/main.xml new file mode 100644 index 000000000..c906a76ad --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/res/layout/main.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2007 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Demonstrates defining custom views in a layout file. --> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" > + + <com.android.tests.libwithcustom.LabelView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@drawable/red" + app:text="Red" /> + + <com.android.tests.libwithcustom.LabelView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@drawable/blue" + app:text="Blue" + app:textSize="20dp" /> + + <com.android.tests.libwithcustom.LabelView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@drawable/green" + app:text="Green" + app:textColor="#ffffffff" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/customViewTest/libWithCustomView/res/values/attrs.xml b/testapps/customViewTest/libWithCustomView/res/values/attrs.xml new file mode 100644 index 000000000..f173e02ad --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/res/values/attrs.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2007 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources> + + <declare-styleable name="LabelView"> + <attr name="text" format="string" /> + <attr name="textColor" format="color" /> + <attr name="textSize" format="dimension" /> + </declare-styleable> + + <drawable name="red">#7f00</drawable> + <drawable name="blue">#770000ff</drawable> + <drawable name="green">#7700ff00</drawable> + +</resources>
\ No newline at end of file diff --git a/testapps/customViewTest/libWithCustomView/res/values/strings.xml b/testapps/customViewTest/libWithCustomView/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/customViewTest/libWithCustomView/src/com/android/tests/libwithcustom/LabelView.java b/testapps/customViewTest/libWithCustomView/src/com/android/tests/libwithcustom/LabelView.java new file mode 100644 index 000000000..d0b62e93b --- /dev/null +++ b/testapps/customViewTest/libWithCustomView/src/com/android/tests/libwithcustom/LabelView.java @@ -0,0 +1,193 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.libwithcustom; + +// Need the following import to get access to the app resources, since this +// class is in a sub-package. +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.view.View; + + +/** + * Example of how to write a custom subclass of View. LabelView + * is used to draw simple text views. Note that it does not handle + * styled text or right-to-left writing systems. + * + */ +public class LabelView extends View { + private Paint mTextPaint; + private String mText; + private int mAscent; + + /** + * Constructor. This version is only needed if you will be instantiating + * the object manually (not from a layout XML file). + * @param context + */ + public LabelView(Context context) { + super(context); + initLabelView(); + } + + /** + * Construct object, initializing with any attributes we understand from a + * layout file. These attributes are defined in + * SDK/assets/res/any/classes.xml. + * + * @see android.view.View#View(android.content.Context, android.util.AttributeSet) + */ + public LabelView(Context context, AttributeSet attrs) { + super(context, attrs); + initLabelView(); + + + TypedArray a = context.obtainStyledAttributes(attrs, + R.styleable.LabelView); + + CharSequence s = a.getString(R.styleable.LabelView_text); + if (s != null) { + setText(s.toString()); + } + + // Retrieve the color(s) to be used for this view and apply them. + // Note, if you only care about supporting a single color, that you + // can instead call a.getColor() and pass that to setTextColor(). + setTextColor(a.getColor(R.styleable.LabelView_textColor, 0xFF000000)); + + int textSize = a.getDimensionPixelOffset(R.styleable.LabelView_textSize, 0); + if (textSize > 0) { + setTextSize(textSize); + } + + a.recycle(); + } + + private final void initLabelView() { + mTextPaint = new Paint(); + mTextPaint.setAntiAlias(true); + // Must manually scale the desired text size to match screen density + mTextPaint.setTextSize(16 * getResources().getDisplayMetrics().density); + mTextPaint.setColor(0xFF000000); + setPadding(3, 3, 3, 3); + } + + /** + * Sets the text to display in this label + * @param text The text to display. This will be drawn as one line. + */ + public void setText(String text) { + mText = text; + requestLayout(); + invalidate(); + } + + /** + * Sets the text size for this label + * @param size Font size + */ + public void setTextSize(int size) { + // This text size has been pre-scaled by the getDimensionPixelOffset method + mTextPaint.setTextSize(size); + requestLayout(); + invalidate(); + } + + /** + * Sets the text color for this label. + * @param color ARGB value for the text + */ + public void setTextColor(int color) { + mTextPaint.setColor(color); + invalidate(); + } + + /** + * @see android.view.View#measure(int, int) + */ + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + setMeasuredDimension(measureWidth(widthMeasureSpec), + measureHeight(heightMeasureSpec)); + } + + /** + * Determines the width of this view + * @param measureSpec A measureSpec packed into an int + * @return The width of the view, honoring constraints from measureSpec + */ + private int measureWidth(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + if (specMode == MeasureSpec.EXACTLY) { + // We were told how big to be + result = specSize; + } else { + // Measure the text + result = (int) mTextPaint.measureText(mText) + getPaddingLeft() + + getPaddingRight(); + if (specMode == MeasureSpec.AT_MOST) { + // Respect AT_MOST value if that was what is called for by measureSpec + result = Math.min(result, specSize); + } + } + + return result; + } + + /** + * Determines the height of this view + * @param measureSpec A measureSpec packed into an int + * @return The height of the view, honoring constraints from measureSpec + */ + private int measureHeight(int measureSpec) { + int result = 0; + int specMode = MeasureSpec.getMode(measureSpec); + int specSize = MeasureSpec.getSize(measureSpec); + + mAscent = (int) mTextPaint.ascent(); + if (specMode == MeasureSpec.EXACTLY) { + // We were told how big to be + result = specSize; + } else { + // Measure the text (beware: ascent is a negative number) + result = (int) (-mAscent + mTextPaint.descent()) + getPaddingTop() + + getPaddingBottom(); + if (specMode == MeasureSpec.AT_MOST) { + // Respect AT_MOST value if that was what is called for by measureSpec + result = Math.min(result, specSize); + } + } + return result; + } + + /** + * Render the text + * + * @see android.view.View#onDraw(android.graphics.Canvas) + */ + @Override + protected void onDraw(Canvas canvas) { + super.onDraw(canvas); + canvas.drawText(mText, getPaddingLeft(), getPaddingTop() - mAscent, mTextPaint); + } +} diff --git a/testapps/customViewTest/mainProject/.classpath b/testapps/customViewTest/mainProject/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/customViewTest/mainProject/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/customViewTest/mainProject/.project b/testapps/customViewTest/mainProject/.project new file mode 100644 index 000000000..159296ee4 --- /dev/null +++ b/testapps/customViewTest/mainProject/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>customViewTest-mainProject</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/customViewTest/mainProject/AndroidManifest.xml b/testapps/customViewTest/mainProject/AndroidManifest.xml new file mode 100644 index 000000000..ff41761b5 --- /dev/null +++ b/testapps/customViewTest/mainProject/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.projectwithsupport" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/customViewTest/mainProject/ant.properties b/testapps/customViewTest/mainProject/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/customViewTest/mainProject/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/customViewTest/mainProject/build.xml b/testapps/customViewTest/mainProject/build.xml new file mode 100644 index 000000000..2f98bb504 --- /dev/null +++ b/testapps/customViewTest/mainProject/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="customViewTest-mainProject" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/customViewTest/mainProject/libs/foo.txt b/testapps/customViewTest/mainProject/libs/foo.txt new file mode 100644 index 000000000..fe0c85275 --- /dev/null +++ b/testapps/customViewTest/mainProject/libs/foo.txt @@ -0,0 +1 @@ +sdf
\ No newline at end of file diff --git a/testapps/customViewTest/mainProject/proguard-project.txt b/testapps/customViewTest/mainProject/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/customViewTest/mainProject/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/customViewTest/mainProject/project.properties b/testapps/customViewTest/mainProject/project.properties new file mode 100644 index 000000000..21d68c543 --- /dev/null +++ b/testapps/customViewTest/mainProject/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library.reference.1=../libWithCustomView + +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt diff --git a/testapps/customViewTest/mainProject/res/values/strings.xml b/testapps/customViewTest/mainProject/res/values/strings.xml new file mode 100644 index 000000000..e86ca41dd --- /dev/null +++ b/testapps/customViewTest/mainProject/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">customViewTest</string> +</resources> diff --git a/testapps/customViewTest/mainProject/src/com/android/tests/projectwithsupport/MyActivity.java b/testapps/customViewTest/mainProject/src/com/android/tests/projectwithsupport/MyActivity.java new file mode 100644 index 000000000..c06583970 --- /dev/null +++ b/testapps/customViewTest/mainProject/src/com/android/tests/projectwithsupport/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.projectwithsupport; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/gridlayoutTest/COMPILE_AND_RUN b/testapps/gridlayoutTest/COMPILE_AND_RUN new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/gridlayoutTest/COMPILE_AND_RUN diff --git a/testapps/gridlayoutTest/SUCCESS b/testapps/gridlayoutTest/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/gridlayoutTest/SUCCESS diff --git a/testapps/gridlayoutTest/app/.classpath b/testapps/gridlayoutTest/app/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/gridlayoutTest/app/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/gridlayoutTest/app/.project b/testapps/gridlayoutTest/app/.project new file mode 100644 index 000000000..9a73e09c7 --- /dev/null +++ b/testapps/gridlayoutTest/app/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>gridlayouttest-app</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/gridlayoutTest/app/AndroidManifest.xml b/testapps/gridlayoutTest/app/AndroidManifest.xml new file mode 100644 index 000000000..f85d20faa --- /dev/null +++ b/testapps/gridlayoutTest/app/AndroidManifest.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.test.gridlayout" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="7" /> + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" > + <activity + android:name="Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/gridlayoutTest/app/ant.properties b/testapps/gridlayoutTest/app/ant.properties new file mode 100644 index 000000000..b0971e891 --- /dev/null +++ b/testapps/gridlayoutTest/app/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/gridlayoutTest/app/build.xml b/testapps/gridlayoutTest/app/build.xml new file mode 100644 index 000000000..1160e8a4d --- /dev/null +++ b/testapps/gridlayoutTest/app/build.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="app" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/gridlayoutTest/app/proguard-project.txt b/testapps/gridlayoutTest/app/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/gridlayoutTest/app/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/gridlayoutTest/app/project.properties b/testapps/gridlayoutTest/app/project.properties new file mode 100644 index 000000000..5fe06bdb4 --- /dev/null +++ b/testapps/gridlayoutTest/app/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library.reference.1=../v7-gridlayout diff --git a/testapps/gridlayoutTest/app/res/drawable-hdpi/ic_launcher.png b/testapps/gridlayoutTest/app/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/gridlayoutTest/app/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/gridlayoutTest/app/res/drawable-ldpi/ic_launcher.png b/testapps/gridlayoutTest/app/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/gridlayoutTest/app/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/gridlayoutTest/app/res/drawable-mdpi/ic_launcher.png b/testapps/gridlayoutTest/app/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/gridlayoutTest/app/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/gridlayoutTest/app/res/layout/main.xml b/testapps/gridlayoutTest/app/res/layout/main.xml new file mode 100644 index 000000000..75f560090 --- /dev/null +++ b/testapps/gridlayoutTest/app/res/layout/main.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="match_parent" + app:columnCount="6" > + + <Button + android:id="@+id/button1" + app:layout_column="1" + app:layout_columnSpan="2" + app:layout_gravity="left" + app:layout_row="1" + android:text="Button" /> + + <CheckBox + android:id="@+id/checkBox1" + app:layout_column="4" + app:layout_gravity="left" + app:layout_row="2" + android:text="CheckBox" /> + + <Button + android:id="@+id/button2" + app:layout_column="5" + app:layout_gravity="left" + app:layout_row="3" + android:text="Button" /> + + <android.support.v7.widget.Space + android:layout_width="21dp" + android:layout_height="1dp" + app:layout_column="0" + app:layout_gravity="fill_horizontal" + app:layout_row="0" /> + + <android.support.v7.widget.Space + android:layout_width="1dp" + android:layout_height="21dp" + app:layout_column="0" + app:layout_gravity="fill_horizontal" + app:layout_row="0" /> + + <android.support.v7.widget.Space + android:layout_width="10dp" + android:layout_height="1dp" + app:layout_column="3" + app:layout_gravity="fill_horizontal" + app:layout_row="0" /> + + <android.support.v7.widget.Space + android:layout_width="122dp" + android:layout_height="1dp" + app:layout_column="4" + app:layout_gravity="fill_horizontal" + app:layout_row="0" /> + + <android.support.v7.widget.Space + android:layout_width="1dp" + android:layout_height="168dp" + app:layout_column="0" + app:layout_gravity="fill_horizontal" + app:layout_row="1" /> + + <android.support.v7.widget.Space + android:layout_width="1dp" + android:layout_height="168dp" + app:layout_column="0" + app:layout_gravity="fill_horizontal" + app:layout_row="2" /> + +</android.support.v7.widget.GridLayout>
\ No newline at end of file diff --git a/testapps/gridlayoutTest/app/res/values/strings.xml b/testapps/gridlayoutTest/app/res/values/strings.xml new file mode 100644 index 000000000..549e4ea50 --- /dev/null +++ b/testapps/gridlayoutTest/app/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">Main</string> +</resources> diff --git a/testapps/gridlayoutTest/app/src/com/android/test/gridlayout/Main.java b/testapps/gridlayoutTest/app/src/com/android/test/gridlayout/Main.java new file mode 100644 index 000000000..bf817dffe --- /dev/null +++ b/testapps/gridlayoutTest/app/src/com/android/test/gridlayout/Main.java @@ -0,0 +1,15 @@ +package com.android.test.gridlayout; + +import android.app.Activity; +import android.os.Bundle; + +public class Main extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/gridlayoutTest/v7-gridlayout/.classpath b/testapps/gridlayoutTest/v7-gridlayout/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/gridlayoutTest/v7-gridlayout/.project b/testapps/gridlayoutTest/v7-gridlayout/.project new file mode 100644 index 000000000..1e67516d0 --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>android-support-v7-gridlayout</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/gridlayoutTest/v7-gridlayout/AndroidManifest.xml b/testapps/gridlayoutTest/v7-gridlayout/AndroidManifest.xml new file mode 100644 index 000000000..c3f71680a --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/AndroidManifest.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="android.support.v7.gridlayout" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="7" /> + +</manifest> diff --git a/testapps/gridlayoutTest/v7-gridlayout/build.xml b/testapps/gridlayoutTest/v7-gridlayout/build.xml new file mode 100644 index 000000000..a03e2b6d5 --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/build.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="v7-gridlayout" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/gridlayoutTest/v7-gridlayout/libs/android-support-v7-gridlayout.jar b/testapps/gridlayoutTest/v7-gridlayout/libs/android-support-v7-gridlayout.jar Binary files differnew file mode 100644 index 000000000..00a946d4d --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/libs/android-support-v7-gridlayout.jar diff --git a/testapps/gridlayoutTest/v7-gridlayout/proguard-project.txt b/testapps/gridlayoutTest/v7-gridlayout/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/gridlayoutTest/v7-gridlayout/project.properties b/testapps/gridlayoutTest/v7-gridlayout/project.properties new file mode 100644 index 000000000..36f15941e --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true diff --git a/testapps/gridlayoutTest/v7-gridlayout/res/values/attrs.xml b/testapps/gridlayoutTest/v7-gridlayout/res/values/attrs.xml new file mode 100644 index 000000000..ad2ef4e4c --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/res/values/attrs.xml @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <declare-styleable name="GridLayout"> + + <!-- + support versions. All attributes not present in ViewGroup/View are + redefined in the support library namespace. + --> + + + <!-- + The orientation property is not used during layout. It is only used to + allocate row and column parameters when they are not specified by its children's + layout parameters. GridLayout works like LinearLayout in this case; + putting all the components either in a single row or in a single column - + depending on the value of this flag. In the horizontal case, a columnCount + property may be additionally supplied to force new rows to be created when a + row is full. The rowCount attribute may be used similarly in the vertical case. + The default is horizontal. + --> + <attr name="orientation"> + + <!-- Defines an horizontal widget. --> + <enum name="horizontal" value="0" /> + <!-- Defines a vertical widget. --> + <enum name="vertical" value="1" /> + </attr> + <!-- The maximum number of rows to create when automatically positioning children. --> + <attr name="rowCount" format="integer" /> + <!-- The maximum number of columns to create when automatically positioning children. --> + <attr name="columnCount" format="integer" /> + <!-- + When set to true, tells GridLayout to use default margins when none are specified + in a view's layout parameters. + The default value is false. + See {@link android.widget.GridLayout#setUseDefaultMargins(boolean)}. + --> + <attr name="useDefaultMargins" format="boolean" /> + <!-- + When set to alignMargins, causes alignment to take place between the outer + boundary of a view, as defined by its margins. When set to alignBounds, + causes alignment to take place between the edges of the view. + The default is alignMargins. + See {@link android.widget.GridLayout#setAlignmentMode(int)}. + --> + <attr name="alignmentMode"> + + <!-- + Align the bounds of the children. + See {@link android.widget.GridLayout#ALIGN_BOUNDS}. + --> + <enum name="alignBounds" value="0" /> + <!-- + Align the margins of the children. + See {@link android.widget.GridLayout#ALIGN_MARGINS}. + --> + <enum name="alignMargins" value="1" /> + </attr> + <!-- + When set to true, forces row boundaries to appear in the same order + as row indices. + The default is true. + See {@link android.widget.GridLayout#setRowOrderPreserved(boolean)}. + --> + <attr name="rowOrderPreserved" format="boolean" /> + <!-- + When set to true, forces column boundaries to appear in the same order + as column indices. + The default is true. + See {@link android.widget.GridLayout#setColumnOrderPreserved(boolean)}. + --> + <attr name="columnOrderPreserved" format="boolean" /> + </declare-styleable> + <declare-styleable name="GridLayout_Layout"> + + <!-- + support versions. All attributes not present in MarginLayout are + redefined in the support library name space. + --> + + + <!-- START MarginLayout layoutparams --> + + <attr name="android:layout_width" /> + <attr name="android:layout_height" /> + <!-- + Specifies extra space on the left, top, right and bottom + sides of this view. This space is outside this view's bounds. + --> + <attr name="android:layout_margin" /> + <!-- + Specifies extra space on the left side of this view. + This space is outside this view's bounds. + --> + <attr name="android:layout_marginLeft" /> + <!-- + Specifies extra space on the top side of this view. + This space is outside this view's bounds. + --> + <attr name="android:layout_marginTop" /> + <!-- + Specifies extra space on the right side of this view. + This space is outside this view's bounds. + --> + <attr name="android:layout_marginRight" /> + <!-- + Specifies extra space on the bottom side of this view. + This space is outside this view's bounds. + --> + <attr name="android:layout_marginBottom" /> + <!-- + Specifies extra space on the start side of this view. + This space is outside this view's bounds. + --> + <attr name="android:layout_marginStart" /> + <!-- + Specifies extra space on the end side of this view. + This space is outside this view's bounds. + --> + <attr name="android:layout_marginEnd" /> + + <!-- END MarginLayout layoutparams --> + + + <!-- + The row boundary delimiting the top of the group of cells + occupied by this view. + --> + <attr name="layout_row" format="integer" /> + <!-- + The row span: the difference between the bottom and top + boundaries delimiting the group of cells occupied by this view. + The default is one. + See {@link android.widget.GridLayout.Spec}. + --> + <attr name="layout_rowSpan" format="integer" min="1" /> + <!-- + The column boundary delimiting the left of the group of cells + occupied by this view. + --> + <attr name="layout_column" format="integer" /> + <!-- + The column span: the difference between the right and left + boundaries delimiting the group of cells occupied by this view. + The default is one. + See {@link android.widget.GridLayout.Spec}. + --> + <attr name="layout_columnSpan" format="integer" min="1" /> + <!-- + Gravity specifies how a component should be placed in its group of cells. + The default is LEFT | BASELINE. + See {@link android.widget.GridLayout.LayoutParams#setGravity(int)}. + --> + <attr name="layout_gravity"> + + <!-- Push object to the top of its container, not changing its size. --> + <flag name="top" value="0x30" /> + <!-- Push object to the bottom of its container, not changing its size. --> + <flag name="bottom" value="0x50" /> + <!-- Push object to the left of its container, not changing its size. --> + <flag name="left" value="0x03" /> + <!-- Push object to the right of its container, not changing its size. --> + <flag name="right" value="0x05" /> + <!-- Place object in the vertical center of its container, not changing its size. --> + <flag name="center_vertical" value="0x10" /> + <!-- Grow the vertical size of the object if needed so it completely fills its container. --> + <flag name="fill_vertical" value="0x70" /> + <!-- Place object in the horizontal center of its container, not changing its size. --> + <flag name="center_horizontal" value="0x01" /> + <!-- Grow the horizontal size of the object if needed so it completely fills its container. --> + <flag name="fill_horizontal" value="0x07" /> + <!-- Place the object in the center of its container in both the vertical and horizontal axis, not changing its size. --> + <flag name="center" value="0x11" /> + <!-- Grow the horizontal and vertical size of the object if needed so it completely fills its container. --> + <flag name="fill" value="0x77" /> + <!-- + Additional option that can be set to have the top and/or bottom edges of + the child clipped to its container's bounds. + The clip will be based on the vertical gravity: a top gravity will clip the bottom + edge, a bottom gravity will clip the top edge, and neither will clip both edges. + --> + <flag name="clip_vertical" value="0x80" /> + <!-- + Additional option that can be set to have the left and/or right edges of + the child clipped to its container's bounds. + The clip will be based on the horizontal gravity: a left gravity will clip the right + edge, a right gravity will clip the left edge, and neither will clip both edges. + --> + <flag name="clip_horizontal" value="0x08" /> + <!-- Push object to the beginning of its container, not changing its size. --> + <flag name="start" value="0x00800003" /> + <!-- Push object to the end of its container, not changing its size. --> + <flag name="end" value="0x00800005" /> + </attr> + </declare-styleable> + +</resources> diff --git a/testapps/gridlayoutTest/v7-gridlayout/res/values/dimens.xml b/testapps/gridlayoutTest/v7-gridlayout/res/values/dimens.xml new file mode 100644 index 000000000..fda3febf0 --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/res/values/dimens.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <!-- The default gap between components in a layout. --> + <dimen name="default_gap">16dip</dimen> + +</resources> diff --git a/testapps/gridlayoutTest/v7-gridlayout/src/.readme b/testapps/gridlayoutTest/v7-gridlayout/src/.readme new file mode 100644 index 000000000..4bcebad80 --- /dev/null +++ b/testapps/gridlayoutTest/v7-gridlayout/src/.readme @@ -0,0 +1,2 @@ +This hidden file is there to ensure there is an src folder. +Once we support binary library this will go away.
\ No newline at end of file diff --git a/testapps/jarCheckTests1/SUCCESS b/testapps/jarCheckTests1/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/jarCheckTests1/SUCCESS diff --git a/testapps/jarCheckTests1/app/.classpath b/testapps/jarCheckTests1/app/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/jarCheckTests1/app/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/jarCheckTests1/app/.project b/testapps/jarCheckTests1/app/.project new file mode 100644 index 000000000..101d55351 --- /dev/null +++ b/testapps/jarCheckTests1/app/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>jarCheckTests1-app</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/jarCheckTests1/app/AndroidManifest.xml b/testapps/jarCheckTests1/app/AndroidManifest.xml new file mode 100644 index 000000000..ff41761b5 --- /dev/null +++ b/testapps/jarCheckTests1/app/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.projectwithsupport" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/jarCheckTests1/app/ant.properties b/testapps/jarCheckTests1/app/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/jarCheckTests1/app/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/jarCheckTests1/app/build.xml b/testapps/jarCheckTests1/app/build.xml new file mode 100644 index 000000000..f3a3d91c9 --- /dev/null +++ b/testapps/jarCheckTests1/app/build.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicProjectWithSupport" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/jarCheckTests1/app/libs/android-support-v4.jar b/testapps/jarCheckTests1/app/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..d006198e6 --- /dev/null +++ b/testapps/jarCheckTests1/app/libs/android-support-v4.jar diff --git a/testapps/jarCheckTests1/app/libs/foo.txt b/testapps/jarCheckTests1/app/libs/foo.txt new file mode 100644 index 000000000..fe0c85275 --- /dev/null +++ b/testapps/jarCheckTests1/app/libs/foo.txt @@ -0,0 +1 @@ +sdf
\ No newline at end of file diff --git a/testapps/jarCheckTests1/app/proguard-project.txt b/testapps/jarCheckTests1/app/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/jarCheckTests1/app/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/jarCheckTests1/app/project.properties b/testapps/jarCheckTests1/app/project.properties new file mode 100644 index 000000000..1d28b5171 --- /dev/null +++ b/testapps/jarCheckTests1/app/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library.reference.1=../lib1 +android.library.reference.2=../lib2 diff --git a/testapps/jarCheckTests1/app/res/layout/main.xml b/testapps/jarCheckTests1/app/res/layout/main.xml new file mode 100644 index 000000000..7fe5dceb2 --- /dev/null +++ b/testapps/jarCheckTests1/app/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, MyActivity" + /> +</LinearLayout> + diff --git a/testapps/jarCheckTests1/app/res/values/strings.xml b/testapps/jarCheckTests1/app/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/jarCheckTests1/app/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/jarCheckTests1/app/src/com/android/tests/projectwithsupport/MyActivity.java b/testapps/jarCheckTests1/app/src/com/android/tests/projectwithsupport/MyActivity.java new file mode 100644 index 000000000..c06583970 --- /dev/null +++ b/testapps/jarCheckTests1/app/src/com/android/tests/projectwithsupport/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.projectwithsupport; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/jarCheckTests1/lib1/.classpath b/testapps/jarCheckTests1/lib1/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/jarCheckTests1/lib1/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/jarCheckTests1/lib1/.project b/testapps/jarCheckTests1/lib1/.project new file mode 100644 index 000000000..f5f00588b --- /dev/null +++ b/testapps/jarCheckTests1/lib1/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>jarCheckTests1-lib1</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/jarCheckTests1/lib1/AndroidManifest.xml b/testapps/jarCheckTests1/lib1/AndroidManifest.xml new file mode 100644 index 000000000..a634bdb74 --- /dev/null +++ b/testapps/jarCheckTests1/lib1/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libwithsupport" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/jarCheckTests1/lib1/ant.properties b/testapps/jarCheckTests1/lib1/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/jarCheckTests1/lib1/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/jarCheckTests1/lib1/build.xml b/testapps/jarCheckTests1/lib1/build.xml new file mode 100644 index 000000000..772f42249 --- /dev/null +++ b/testapps/jarCheckTests1/lib1/build.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicLibWithSupport" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/jarCheckTests1/lib1/libs/android-support-v4.jar b/testapps/jarCheckTests1/lib1/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..d006198e6 --- /dev/null +++ b/testapps/jarCheckTests1/lib1/libs/android-support-v4.jar diff --git a/testapps/jarCheckTests1/lib1/proguard-project.txt b/testapps/jarCheckTests1/lib1/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/jarCheckTests1/lib1/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/jarCheckTests1/lib1/project.properties b/testapps/jarCheckTests1/lib1/project.properties new file mode 100644 index 000000000..23d80c4e4 --- /dev/null +++ b/testapps/jarCheckTests1/lib1/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library=true + diff --git a/testapps/jarCheckTests1/lib1/res/layout/main.xml b/testapps/jarCheckTests1/lib1/res/layout/main.xml new file mode 100644 index 000000000..7fe5dceb2 --- /dev/null +++ b/testapps/jarCheckTests1/lib1/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, MyActivity" + /> +</LinearLayout> + diff --git a/testapps/jarCheckTests1/lib1/res/values/strings.xml b/testapps/jarCheckTests1/lib1/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/jarCheckTests1/lib1/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/jarCheckTests1/lib1/src/com/android/tests/libwithsupport/MyActivity.java b/testapps/jarCheckTests1/lib1/src/com/android/tests/libwithsupport/MyActivity.java new file mode 100644 index 000000000..2c316ca67 --- /dev/null +++ b/testapps/jarCheckTests1/lib1/src/com/android/tests/libwithsupport/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.libwithsupport; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/jarCheckTests1/lib2/.classpath b/testapps/jarCheckTests1/lib2/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/jarCheckTests1/lib2/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/jarCheckTests1/lib2/.project b/testapps/jarCheckTests1/lib2/.project new file mode 100644 index 000000000..1d49c52e7 --- /dev/null +++ b/testapps/jarCheckTests1/lib2/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>jarCheckTests1-lib2</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/jarCheckTests1/lib2/AndroidManifest.xml b/testapps/jarCheckTests1/lib2/AndroidManifest.xml new file mode 100644 index 000000000..6fa91eb07 --- /dev/null +++ b/testapps/jarCheckTests1/lib2/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libwithsupport2" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/jarCheckTests1/lib2/ant.properties b/testapps/jarCheckTests1/lib2/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/jarCheckTests1/lib2/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/jarCheckTests1/lib2/build.xml b/testapps/jarCheckTests1/lib2/build.xml new file mode 100644 index 000000000..772f42249 --- /dev/null +++ b/testapps/jarCheckTests1/lib2/build.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicLibWithSupport" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/jarCheckTests1/lib2/libs/android-support-v4.jar b/testapps/jarCheckTests1/lib2/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..d006198e6 --- /dev/null +++ b/testapps/jarCheckTests1/lib2/libs/android-support-v4.jar diff --git a/testapps/jarCheckTests1/lib2/proguard-project.txt b/testapps/jarCheckTests1/lib2/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/jarCheckTests1/lib2/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/jarCheckTests1/lib2/project.properties b/testapps/jarCheckTests1/lib2/project.properties new file mode 100644 index 000000000..23d80c4e4 --- /dev/null +++ b/testapps/jarCheckTests1/lib2/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library=true + diff --git a/testapps/jarCheckTests1/lib2/res/layout/main.xml b/testapps/jarCheckTests1/lib2/res/layout/main.xml new file mode 100644 index 000000000..7fe5dceb2 --- /dev/null +++ b/testapps/jarCheckTests1/lib2/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, MyActivity" + /> +</LinearLayout> + diff --git a/testapps/jarCheckTests1/lib2/res/values/strings.xml b/testapps/jarCheckTests1/lib2/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/jarCheckTests1/lib2/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/jarCheckTests1/lib2/src/com/android/tests/libwithsupport2/MyActivity.java b/testapps/jarCheckTests1/lib2/src/com/android/tests/libwithsupport2/MyActivity.java new file mode 100644 index 000000000..fc97aa7f7 --- /dev/null +++ b/testapps/jarCheckTests1/lib2/src/com/android/tests/libwithsupport2/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.libwithsupport2; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/jarCheckTests2/FAIL b/testapps/jarCheckTests2/FAIL new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/jarCheckTests2/FAIL diff --git a/testapps/jarCheckTests2/app/.classpath b/testapps/jarCheckTests2/app/.classpath new file mode 100644 index 000000000..3f9691c5d --- /dev/null +++ b/testapps/jarCheckTests2/app/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/jarCheckTests2/app/.project b/testapps/jarCheckTests2/app/.project new file mode 100644 index 000000000..fb6801ce6 --- /dev/null +++ b/testapps/jarCheckTests2/app/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>jarCheckTests2-app</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/jarCheckTests2/app/AndroidManifest.xml b/testapps/jarCheckTests2/app/AndroidManifest.xml new file mode 100644 index 000000000..ff41761b5 --- /dev/null +++ b/testapps/jarCheckTests2/app/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.projectwithsupport" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/jarCheckTests2/app/ant.properties b/testapps/jarCheckTests2/app/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/jarCheckTests2/app/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/jarCheckTests2/app/build.xml b/testapps/jarCheckTests2/app/build.xml new file mode 100644 index 000000000..f3a3d91c9 --- /dev/null +++ b/testapps/jarCheckTests2/app/build.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicProjectWithSupport" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/jarCheckTests2/app/libs/foo.txt b/testapps/jarCheckTests2/app/libs/foo.txt new file mode 100644 index 000000000..fe0c85275 --- /dev/null +++ b/testapps/jarCheckTests2/app/libs/foo.txt @@ -0,0 +1 @@ +sdf
\ No newline at end of file diff --git a/testapps/jarCheckTests2/app/proguard-project.txt b/testapps/jarCheckTests2/app/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/jarCheckTests2/app/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/jarCheckTests2/app/project.properties b/testapps/jarCheckTests2/app/project.properties new file mode 100644 index 000000000..1d28b5171 --- /dev/null +++ b/testapps/jarCheckTests2/app/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library.reference.1=../lib1 +android.library.reference.2=../lib2 diff --git a/testapps/jarCheckTests2/app/res/layout/main.xml b/testapps/jarCheckTests2/app/res/layout/main.xml new file mode 100644 index 000000000..7fe5dceb2 --- /dev/null +++ b/testapps/jarCheckTests2/app/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, MyActivity" + /> +</LinearLayout> + diff --git a/testapps/jarCheckTests2/app/res/values/strings.xml b/testapps/jarCheckTests2/app/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/jarCheckTests2/app/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/jarCheckTests2/app/src/com/android/tests/projectwithsupport/MyActivity.java b/testapps/jarCheckTests2/app/src/com/android/tests/projectwithsupport/MyActivity.java new file mode 100644 index 000000000..c06583970 --- /dev/null +++ b/testapps/jarCheckTests2/app/src/com/android/tests/projectwithsupport/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.projectwithsupport; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/jarCheckTests2/lib1/.classpath b/testapps/jarCheckTests2/lib1/.classpath new file mode 100644 index 000000000..3f9691c5d --- /dev/null +++ b/testapps/jarCheckTests2/lib1/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/jarCheckTests2/lib1/.project b/testapps/jarCheckTests2/lib1/.project new file mode 100644 index 000000000..467950fad --- /dev/null +++ b/testapps/jarCheckTests2/lib1/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>test2Lib1</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/jarCheckTests2/lib1/AndroidManifest.xml b/testapps/jarCheckTests2/lib1/AndroidManifest.xml new file mode 100644 index 000000000..a634bdb74 --- /dev/null +++ b/testapps/jarCheckTests2/lib1/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libwithsupport" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/jarCheckTests2/lib1/ant.properties b/testapps/jarCheckTests2/lib1/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/jarCheckTests2/lib1/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/jarCheckTests2/lib1/build.xml b/testapps/jarCheckTests2/lib1/build.xml new file mode 100644 index 000000000..772f42249 --- /dev/null +++ b/testapps/jarCheckTests2/lib1/build.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicLibWithSupport" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/jarCheckTests2/lib1/libs/android-support-v4.jar b/testapps/jarCheckTests2/lib1/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..d006198e6 --- /dev/null +++ b/testapps/jarCheckTests2/lib1/libs/android-support-v4.jar diff --git a/testapps/jarCheckTests2/lib1/proguard-project.txt b/testapps/jarCheckTests2/lib1/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/jarCheckTests2/lib1/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/jarCheckTests2/lib1/project.properties b/testapps/jarCheckTests2/lib1/project.properties new file mode 100644 index 000000000..23d80c4e4 --- /dev/null +++ b/testapps/jarCheckTests2/lib1/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library=true + diff --git a/testapps/jarCheckTests2/lib1/res/layout/main.xml b/testapps/jarCheckTests2/lib1/res/layout/main.xml new file mode 100644 index 000000000..7fe5dceb2 --- /dev/null +++ b/testapps/jarCheckTests2/lib1/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, MyActivity" + /> +</LinearLayout> + diff --git a/testapps/jarCheckTests2/lib1/res/values/strings.xml b/testapps/jarCheckTests2/lib1/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/jarCheckTests2/lib1/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/jarCheckTests2/lib1/src/com/android/tests/libwithsupport/MyActivity.java b/testapps/jarCheckTests2/lib1/src/com/android/tests/libwithsupport/MyActivity.java new file mode 100644 index 000000000..2c316ca67 --- /dev/null +++ b/testapps/jarCheckTests2/lib1/src/com/android/tests/libwithsupport/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.libwithsupport; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/jarCheckTests2/lib2/.classpath b/testapps/jarCheckTests2/lib2/.classpath new file mode 100644 index 000000000..3f9691c5d --- /dev/null +++ b/testapps/jarCheckTests2/lib2/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/jarCheckTests2/lib2/.project b/testapps/jarCheckTests2/lib2/.project new file mode 100644 index 000000000..efeaaae2f --- /dev/null +++ b/testapps/jarCheckTests2/lib2/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>test2Lib2</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/jarCheckTests2/lib2/AndroidManifest.xml b/testapps/jarCheckTests2/lib2/AndroidManifest.xml new file mode 100644 index 000000000..6fa91eb07 --- /dev/null +++ b/testapps/jarCheckTests2/lib2/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libwithsupport2" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/jarCheckTests2/lib2/ant.properties b/testapps/jarCheckTests2/lib2/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/jarCheckTests2/lib2/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/jarCheckTests2/lib2/build.xml b/testapps/jarCheckTests2/lib2/build.xml new file mode 100644 index 000000000..772f42249 --- /dev/null +++ b/testapps/jarCheckTests2/lib2/build.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicLibWithSupport" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/jarCheckTests2/lib2/libs/android-support-v4.jar b/testapps/jarCheckTests2/lib2/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..1e9071855 --- /dev/null +++ b/testapps/jarCheckTests2/lib2/libs/android-support-v4.jar diff --git a/testapps/jarCheckTests2/lib2/proguard-project.txt b/testapps/jarCheckTests2/lib2/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/jarCheckTests2/lib2/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/jarCheckTests2/lib2/project.properties b/testapps/jarCheckTests2/lib2/project.properties new file mode 100644 index 000000000..23d80c4e4 --- /dev/null +++ b/testapps/jarCheckTests2/lib2/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library=true + diff --git a/testapps/jarCheckTests2/lib2/res/layout/main.xml b/testapps/jarCheckTests2/lib2/res/layout/main.xml new file mode 100644 index 000000000..7fe5dceb2 --- /dev/null +++ b/testapps/jarCheckTests2/lib2/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, MyActivity" + /> +</LinearLayout> + diff --git a/testapps/jarCheckTests2/lib2/res/values/strings.xml b/testapps/jarCheckTests2/lib2/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/jarCheckTests2/lib2/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/jarCheckTests2/lib2/src/com/android/tests/libwithsupport2/MyActivity.java b/testapps/jarCheckTests2/lib2/src/com/android/tests/libwithsupport2/MyActivity.java new file mode 100644 index 000000000..fc97aa7f7 --- /dev/null +++ b/testapps/jarCheckTests2/lib2/src/com/android/tests/libwithsupport2/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.libwithsupport2; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/jarCheckTests3/SUCCESS b/testapps/jarCheckTests3/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/jarCheckTests3/SUCCESS diff --git a/testapps/jarCheckTests3/app/.classpath b/testapps/jarCheckTests3/app/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/jarCheckTests3/app/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/jarCheckTests3/app/.project b/testapps/jarCheckTests3/app/.project new file mode 100644 index 000000000..f2075af3e --- /dev/null +++ b/testapps/jarCheckTests3/app/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>jarCheckTests3-app</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/jarCheckTests3/app/AndroidManifest.xml b/testapps/jarCheckTests3/app/AndroidManifest.xml new file mode 100644 index 000000000..ff41761b5 --- /dev/null +++ b/testapps/jarCheckTests3/app/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.projectwithsupport" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/jarCheckTests3/app/ant.properties b/testapps/jarCheckTests3/app/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/jarCheckTests3/app/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/jarCheckTests3/app/build.xml b/testapps/jarCheckTests3/app/build.xml new file mode 100644 index 000000000..f3a3d91c9 --- /dev/null +++ b/testapps/jarCheckTests3/app/build.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicProjectWithSupport" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/jarCheckTests3/app/libs/foo.txt b/testapps/jarCheckTests3/app/libs/foo.txt new file mode 100644 index 000000000..fe0c85275 --- /dev/null +++ b/testapps/jarCheckTests3/app/libs/foo.txt @@ -0,0 +1 @@ +sdf
\ No newline at end of file diff --git a/testapps/jarCheckTests3/app/proguard-project.txt b/testapps/jarCheckTests3/app/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/jarCheckTests3/app/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/jarCheckTests3/app/project.properties b/testapps/jarCheckTests3/app/project.properties new file mode 100644 index 000000000..1d28b5171 --- /dev/null +++ b/testapps/jarCheckTests3/app/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library.reference.1=../lib1 +android.library.reference.2=../lib2 diff --git a/testapps/jarCheckTests3/app/res/layout/main.xml b/testapps/jarCheckTests3/app/res/layout/main.xml new file mode 100644 index 000000000..7fe5dceb2 --- /dev/null +++ b/testapps/jarCheckTests3/app/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, MyActivity" + /> +</LinearLayout> + diff --git a/testapps/jarCheckTests3/app/res/values/strings.xml b/testapps/jarCheckTests3/app/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/jarCheckTests3/app/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/jarCheckTests3/app/src/com/android/tests/projectwithsupport/MyActivity.java b/testapps/jarCheckTests3/app/src/com/android/tests/projectwithsupport/MyActivity.java new file mode 100644 index 000000000..c06583970 --- /dev/null +++ b/testapps/jarCheckTests3/app/src/com/android/tests/projectwithsupport/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.projectwithsupport; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/jarCheckTests3/lib1/.classpath b/testapps/jarCheckTests3/lib1/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/jarCheckTests3/lib1/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/jarCheckTests3/lib1/.project b/testapps/jarCheckTests3/lib1/.project new file mode 100644 index 000000000..14ffc89ae --- /dev/null +++ b/testapps/jarCheckTests3/lib1/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>jarCheckTests3-lib1</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/jarCheckTests3/lib1/AndroidManifest.xml b/testapps/jarCheckTests3/lib1/AndroidManifest.xml new file mode 100644 index 000000000..a634bdb74 --- /dev/null +++ b/testapps/jarCheckTests3/lib1/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libwithsupport" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/jarCheckTests3/lib1/ant.properties b/testapps/jarCheckTests3/lib1/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/jarCheckTests3/lib1/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/jarCheckTests3/lib1/build.xml b/testapps/jarCheckTests3/lib1/build.xml new file mode 100644 index 000000000..772f42249 --- /dev/null +++ b/testapps/jarCheckTests3/lib1/build.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicLibWithSupport" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/jarCheckTests3/lib1/libs/android-support-v4.jar b/testapps/jarCheckTests3/lib1/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..d006198e6 --- /dev/null +++ b/testapps/jarCheckTests3/lib1/libs/android-support-v4.jar diff --git a/testapps/jarCheckTests3/lib1/proguard-project.txt b/testapps/jarCheckTests3/lib1/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/jarCheckTests3/lib1/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/jarCheckTests3/lib1/project.properties b/testapps/jarCheckTests3/lib1/project.properties new file mode 100644 index 000000000..23d80c4e4 --- /dev/null +++ b/testapps/jarCheckTests3/lib1/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library=true + diff --git a/testapps/jarCheckTests3/lib1/res/layout/main.xml b/testapps/jarCheckTests3/lib1/res/layout/main.xml new file mode 100644 index 000000000..7fe5dceb2 --- /dev/null +++ b/testapps/jarCheckTests3/lib1/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, MyActivity" + /> +</LinearLayout> + diff --git a/testapps/jarCheckTests3/lib1/res/values/strings.xml b/testapps/jarCheckTests3/lib1/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/jarCheckTests3/lib1/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/jarCheckTests3/lib1/src/com/android/tests/libwithsupport/MyActivity.java b/testapps/jarCheckTests3/lib1/src/com/android/tests/libwithsupport/MyActivity.java new file mode 100644 index 000000000..2c316ca67 --- /dev/null +++ b/testapps/jarCheckTests3/lib1/src/com/android/tests/libwithsupport/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.libwithsupport; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/jarCheckTests3/lib2/.classpath b/testapps/jarCheckTests3/lib2/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/jarCheckTests3/lib2/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/jarCheckTests3/lib2/.project b/testapps/jarCheckTests3/lib2/.project new file mode 100644 index 000000000..1441449b4 --- /dev/null +++ b/testapps/jarCheckTests3/lib2/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>jarCheckTests3-lib2</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/jarCheckTests3/lib2/AndroidManifest.xml b/testapps/jarCheckTests3/lib2/AndroidManifest.xml new file mode 100644 index 000000000..6fa91eb07 --- /dev/null +++ b/testapps/jarCheckTests3/lib2/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libwithsupport2" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name"> + <activity android:name=".MyActivity" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/jarCheckTests3/lib2/ant.properties b/testapps/jarCheckTests3/lib2/ant.properties new file mode 100644 index 000000000..ee52d86d9 --- /dev/null +++ b/testapps/jarCheckTests3/lib2/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked in Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/testapps/jarCheckTests3/lib2/build.xml b/testapps/jarCheckTests3/lib2/build.xml new file mode 100644 index 000000000..772f42249 --- /dev/null +++ b/testapps/jarCheckTests3/lib2/build.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicLibWithSupport" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var" + unless="sdk.dir" + /> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/jarCheckTests3/lib2/libs/android-support-v13.jar b/testapps/jarCheckTests3/lib2/libs/android-support-v13.jar Binary files differnew file mode 100644 index 000000000..c9354ec50 --- /dev/null +++ b/testapps/jarCheckTests3/lib2/libs/android-support-v13.jar diff --git a/testapps/jarCheckTests3/lib2/proguard-project.txt b/testapps/jarCheckTests3/lib2/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/jarCheckTests3/lib2/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/jarCheckTests3/lib2/project.properties b/testapps/jarCheckTests3/lib2/project.properties new file mode 100644 index 000000000..23d80c4e4 --- /dev/null +++ b/testapps/jarCheckTests3/lib2/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-15 +android.library=true + diff --git a/testapps/jarCheckTests3/lib2/res/layout/main.xml b/testapps/jarCheckTests3/lib2/res/layout/main.xml new file mode 100644 index 000000000..7fe5dceb2 --- /dev/null +++ b/testapps/jarCheckTests3/lib2/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, MyActivity" + /> +</LinearLayout> + diff --git a/testapps/jarCheckTests3/lib2/res/values/strings.xml b/testapps/jarCheckTests3/lib2/res/values/strings.xml new file mode 100644 index 000000000..3fa203afd --- /dev/null +++ b/testapps/jarCheckTests3/lib2/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">MyActivity</string> +</resources> diff --git a/testapps/jarCheckTests3/lib2/src/com/android/tests/libwithsupport2/MyActivity.java b/testapps/jarCheckTests3/lib2/src/com/android/tests/libwithsupport2/MyActivity.java new file mode 100644 index 000000000..fc97aa7f7 --- /dev/null +++ b/testapps/jarCheckTests3/lib2/src/com/android/tests/libwithsupport2/MyActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.libwithsupport2; + +import android.app.Activity; +import android.os.Bundle; + +public class MyActivity extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/javaProjectTest/COMPILE_AND_RUN b/testapps/javaProjectTest/COMPILE_AND_RUN new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/javaProjectTest/COMPILE_AND_RUN diff --git a/testapps/javaProjectTest/ECLIPSEONLY b/testapps/javaProjectTest/ECLIPSEONLY new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/javaProjectTest/ECLIPSEONLY diff --git a/testapps/javaProjectTest/README.txt b/testapps/javaProjectTest/README.txt new file mode 100644 index 000000000..2035b7eaf --- /dev/null +++ b/testapps/javaProjectTest/README.txt @@ -0,0 +1,5 @@ +This test requires a workspace setup: + +- Create User Library called "USERLIBTEST2" +- Add to this library the jar located in lib1/jars/basicJar3.jar +- App should compile, and deploy on device and UI show show SUCCESS
\ No newline at end of file diff --git a/testapps/javaProjectTest/SUCCESS b/testapps/javaProjectTest/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/javaProjectTest/SUCCESS diff --git a/testapps/javaProjectTest/app/.classpath b/testapps/javaProjectTest/app/.classpath new file mode 100644 index 000000000..af6448074 --- /dev/null +++ b/testapps/javaProjectTest/app/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry combineaccessrules="false" exported="true" kind="src" path="/javaProjectTest-javaProject3"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/javaProjectTest/app/.project b/testapps/javaProjectTest/app/.project new file mode 100644 index 000000000..187fb0e14 --- /dev/null +++ b/testapps/javaProjectTest/app/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>javaProjectTest-app</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/javaProjectTest/app/AndroidManifest.xml b/testapps/javaProjectTest/app/AndroidManifest.xml new file mode 100644 index 000000000..36ec8fb11 --- /dev/null +++ b/testapps/javaProjectTest/app/AndroidManifest.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.javaprojecttest.app" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="15" /> + + <application + android:icon="@drawable/icon" + android:label="@string/app_name" > + <activity + android:name="com.android.tests.javaprojecttest.app.Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/javaProjectTest/app/proguard-project.txt b/testapps/javaProjectTest/app/proguard-project.txt new file mode 100644 index 000000000..349f80f9c --- /dev/null +++ b/testapps/javaProjectTest/app/proguard-project.txt @@ -0,0 +1,22 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +-adaptclassstrings
\ No newline at end of file diff --git a/testapps/javaProjectTest/app/project.properties b/testapps/javaProjectTest/app/project.properties new file mode 100644 index 000000000..9384511de --- /dev/null +++ b/testapps/javaProjectTest/app/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library.reference.1=../lib1 +android.library.reference.2=../lib2 diff --git a/testapps/javaProjectTest/app/res/drawable-hdpi/icon.png b/testapps/javaProjectTest/app/res/drawable-hdpi/icon.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/javaProjectTest/app/res/drawable-hdpi/icon.png diff --git a/testapps/javaProjectTest/app/res/drawable-ldpi/icon.png b/testapps/javaProjectTest/app/res/drawable-ldpi/icon.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/javaProjectTest/app/res/drawable-ldpi/icon.png diff --git a/testapps/javaProjectTest/app/res/drawable-mdpi/icon.png b/testapps/javaProjectTest/app/res/drawable-mdpi/icon.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/javaProjectTest/app/res/drawable-mdpi/icon.png diff --git a/testapps/javaProjectTest/app/res/layout/main.xml b/testapps/javaProjectTest/app/res/layout/main.xml new file mode 100644 index 000000000..29accb3a5 --- /dev/null +++ b/testapps/javaProjectTest/app/res/layout/main.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <TextView + android:id="@+id/app" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/lib1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/lib2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/javaProject1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/javaProject2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/javaProject3" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/basicJar" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/basicJar2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/basicJar3" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/javaProjectTest/app/res/values/strings.xml b/testapps/javaProjectTest/app/res/values/strings.xml new file mode 100644 index 000000000..705a56504 --- /dev/null +++ b/testapps/javaProjectTest/app/res/values/strings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">javaProjectTest-app</string> + +</resources>
\ No newline at end of file diff --git a/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/App.java b/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/App.java new file mode 100644 index 000000000..aa5d1571f --- /dev/null +++ b/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/App.java @@ -0,0 +1,33 @@ +package com.android.tests.javaprojecttest.app; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class App { + + public static String getContent() { + InputStream input = App.class.getResourceAsStream("App.txt"); + if (input == null) { + return "FAILED TO FIND App.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/App.txt b/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/App.txt new file mode 100644 index 000000000..d488bc465 --- /dev/null +++ b/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/App.txt @@ -0,0 +1 @@ +SUCCESS from App
\ No newline at end of file diff --git a/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/Main.java b/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/Main.java new file mode 100644 index 000000000..51b322862 --- /dev/null +++ b/testapps/javaProjectTest/app/src/com/android/tests/javaprojecttest/app/Main.java @@ -0,0 +1,51 @@ +package com.android.tests.javaprojecttest.app; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.TextView; + +import com.android.tests.basicjar.BasicJar; +import com.android.tests.basicjar2.BasicJar2; +import com.android.tests.basicjar3.BasicJar3; +import com.android.tests.javaprojecttest.javaproject.JavaProject; +import com.android.tests.javaprojecttest.javaproject2.JavaProject2; +import com.android.tests.javaprojecttest.javaproject3.JavaProject3; +import com.android.tests.javaprojecttest.lib1.Lib1; +import com.android.tests.javaprojecttest.lib2.Lib2; + +public class Main extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + TextView tv = (TextView) findViewById(R.id.app); + tv.setText("App: " + App.getContent()); + + tv = (TextView) findViewById(R.id.lib1); + tv.setText("Lib1: " + Lib1.getContent()); + + tv = (TextView) findViewById(R.id.lib2); + tv.setText("Lib2: " + Lib2.getContent()); + + tv = (TextView) findViewById(R.id.javaProject1); + tv.setText("JavaProject: " + JavaProject.getContent()); + + tv = (TextView) findViewById(R.id.javaProject2); + tv.setText("JavaProject2: " + JavaProject2.getContent()); + + tv = (TextView) findViewById(R.id.javaProject3); + tv.setText("JavaProject3: " + JavaProject3.getContent()); + + tv = (TextView) findViewById(R.id.basicJar); + tv.setText("BasicJar: " + BasicJar.getContent()); + + tv = (TextView) findViewById(R.id.basicJar2); + tv.setText("BasicJar2: " + BasicJar2.getContent()); + + tv = (TextView) findViewById(R.id.basicJar3); + tv.setText("BasicJar3: " + BasicJar3.getContent()); + + } +}
\ No newline at end of file diff --git a/testapps/javaProjectTest/javaProject/.classpath b/testapps/javaProjectTest/javaProject/.classpath new file mode 100644 index 000000000..f9167204b --- /dev/null +++ b/testapps/javaProjectTest/javaProject/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry combineaccessrules="false" exported="true" kind="src" path="/javaProjectTest-javaProject2"/> + <classpathentry kind="lib" path="libs/basicJar.jar"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/testapps/javaProjectTest/javaProject/.project b/testapps/javaProjectTest/javaProject/.project new file mode 100644 index 000000000..8d99b08e5 --- /dev/null +++ b/testapps/javaProjectTest/javaProject/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>javaProjectTest-javaProject</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/javaProjectTest/javaProject/libs/basicJar.jar b/testapps/javaProjectTest/javaProject/libs/basicJar.jar Binary files differnew file mode 100644 index 000000000..319ed0245 --- /dev/null +++ b/testapps/javaProjectTest/javaProject/libs/basicJar.jar diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java new file mode 100644 index 000000000..fe0e8824e --- /dev/null +++ b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.java @@ -0,0 +1,33 @@ +package com.android.tests.javaprojecttest.javaproject; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class JavaProject { + + public static String getContent() { + InputStream input = JavaProject.class.getResourceAsStream("/com/android/tests/javaprojecttest/javaproject/JavaProject.txt"); + if (input == null) { + return "FAILED TO FIND JavaProject.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt new file mode 100644 index 000000000..5742eaaf9 --- /dev/null +++ b/testapps/javaProjectTest/javaProject/src/com/android/tests/javaprojecttest/javaproject/JavaProject.txt @@ -0,0 +1 @@ +SUCCESS from javaProject
\ No newline at end of file diff --git a/testapps/javaProjectTest/javaProject2/.classpath b/testapps/javaProjectTest/javaProject2/.classpath new file mode 100644 index 000000000..bd5c4bf9a --- /dev/null +++ b/testapps/javaProjectTest/javaProject2/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry exported="true" kind="lib" path="libs/basicJar.jar"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/testapps/javaProjectTest/javaProject2/.project b/testapps/javaProjectTest/javaProject2/.project new file mode 100644 index 000000000..70658ffa7 --- /dev/null +++ b/testapps/javaProjectTest/javaProject2/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>javaProjectTest-javaProject2</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/javaProjectTest/javaProject2/libs/basicJar.jar b/testapps/javaProjectTest/javaProject2/libs/basicJar.jar Binary files differnew file mode 100644 index 000000000..319ed0245 --- /dev/null +++ b/testapps/javaProjectTest/javaProject2/libs/basicJar.jar diff --git a/testapps/javaProjectTest/javaProject2/libs/basicJar_not_in_classpath.jar b/testapps/javaProjectTest/javaProject2/libs/basicJar_not_in_classpath.jar Binary files differnew file mode 100644 index 000000000..a81b92978 --- /dev/null +++ b/testapps/javaProjectTest/javaProject2/libs/basicJar_not_in_classpath.jar diff --git a/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.java b/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.java new file mode 100644 index 000000000..5324fc193 --- /dev/null +++ b/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.java @@ -0,0 +1,33 @@ +package com.android.tests.javaprojecttest.javaproject2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class JavaProject2 { + + public static String getContent() { + InputStream input = JavaProject2.class.getResourceAsStream("/com/android/tests/javaprojecttest/javaproject2/JavaProject2.txt"); + if (input == null) { + return "FAILED TO FIND JavaProject2.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.txt b/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.txt new file mode 100644 index 000000000..6ab43f7db --- /dev/null +++ b/testapps/javaProjectTest/javaProject2/src/com/android/tests/javaprojecttest/javaproject2/JavaProject2.txt @@ -0,0 +1 @@ +SUCCESS from javaProject2
\ No newline at end of file diff --git a/testapps/javaProjectTest/javaProject3/.classpath b/testapps/javaProjectTest/javaProject3/.classpath new file mode 100644 index 000000000..3ded3045b --- /dev/null +++ b/testapps/javaProjectTest/javaProject3/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry exported="true" kind="lib" path="libs/basicJar2.jar" sourcepath="/Volumes/Android/int/master/sdk/testapps/basicJar2/src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/testapps/javaProjectTest/javaProject3/.project b/testapps/javaProjectTest/javaProject3/.project new file mode 100644 index 000000000..b3b323709 --- /dev/null +++ b/testapps/javaProjectTest/javaProject3/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>javaProjectTest-javaProject3</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/javaProjectTest/javaProject3/libs/basicJar2.jar b/testapps/javaProjectTest/javaProject3/libs/basicJar2.jar Binary files differnew file mode 100644 index 000000000..5af7cf072 --- /dev/null +++ b/testapps/javaProjectTest/javaProject3/libs/basicJar2.jar diff --git a/testapps/javaProjectTest/javaProject3/src/com/android/tests/javaprojecttest/javaproject3/JavaProject3.java b/testapps/javaProjectTest/javaProject3/src/com/android/tests/javaprojecttest/javaproject3/JavaProject3.java new file mode 100644 index 000000000..bafe0828b --- /dev/null +++ b/testapps/javaProjectTest/javaProject3/src/com/android/tests/javaprojecttest/javaproject3/JavaProject3.java @@ -0,0 +1,33 @@ +package com.android.tests.javaprojecttest.javaproject3; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class JavaProject3 { + + public static String getContent() { + InputStream input = JavaProject3.class.getResourceAsStream("/com/android/tests/javaprojecttest/javaproject3/JavaProject3.txt"); + if (input == null) { + return "FAILED TO FIND JavaProject3.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/javaProjectTest/javaProject3/src/com/android/tests/javaprojecttest/javaproject3/JavaProject3.txt b/testapps/javaProjectTest/javaProject3/src/com/android/tests/javaprojecttest/javaproject3/JavaProject3.txt new file mode 100644 index 000000000..b47ec766d --- /dev/null +++ b/testapps/javaProjectTest/javaProject3/src/com/android/tests/javaprojecttest/javaproject3/JavaProject3.txt @@ -0,0 +1 @@ +SUCCESS from javaProject3
\ No newline at end of file diff --git a/testapps/javaProjectTest/lib1/.classpath b/testapps/javaProjectTest/lib1/.classpath new file mode 100644 index 000000000..e609be11a --- /dev/null +++ b/testapps/javaProjectTest/lib1/.classpath @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry combineaccessrules="false" exported="true" kind="src" path="/javaProjectTest-javaProject"/> + <classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/USERLIBTEST2"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/javaProjectTest/lib1/.project b/testapps/javaProjectTest/lib1/.project new file mode 100644 index 000000000..cac8ac1a0 --- /dev/null +++ b/testapps/javaProjectTest/lib1/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>javaProjectTest-Lib1</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/javaProjectTest/lib1/AndroidManifest.xml b/testapps/javaProjectTest/lib1/AndroidManifest.xml new file mode 100644 index 000000000..c51696be6 --- /dev/null +++ b/testapps/javaProjectTest/lib1/AndroidManifest.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.javaprojecttest.lib1" + android:versionCode="1" + android:versionName="1.0" > + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" > + <activity + android:name=".Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/javaProjectTest/lib1/jars/basicJar3.jar b/testapps/javaProjectTest/lib1/jars/basicJar3.jar Binary files differnew file mode 100644 index 000000000..3fbf064a1 --- /dev/null +++ b/testapps/javaProjectTest/lib1/jars/basicJar3.jar diff --git a/testapps/javaProjectTest/lib1/libs/android-support-v4.jar b/testapps/javaProjectTest/lib1/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..d006198e6 --- /dev/null +++ b/testapps/javaProjectTest/lib1/libs/android-support-v4.jar diff --git a/testapps/javaProjectTest/lib1/proguard-project.txt b/testapps/javaProjectTest/lib1/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/javaProjectTest/lib1/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/javaProjectTest/lib1/project.properties b/testapps/javaProjectTest/lib1/project.properties new file mode 100644 index 000000000..36f15941e --- /dev/null +++ b/testapps/javaProjectTest/lib1/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true diff --git a/testapps/javaProjectTest/lib1/res/drawable-hdpi/ic_launcher.png b/testapps/javaProjectTest/lib1/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/javaProjectTest/lib1/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/javaProjectTest/lib1/res/drawable-ldpi/ic_launcher.png b/testapps/javaProjectTest/lib1/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/javaProjectTest/lib1/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/javaProjectTest/lib1/res/drawable-mdpi/ic_launcher.png b/testapps/javaProjectTest/lib1/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/javaProjectTest/lib1/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/javaProjectTest/lib1/res/layout/main.xml b/testapps/javaProjectTest/lib1/res/layout/main.xml new file mode 100644 index 000000000..b79cddb17 --- /dev/null +++ b/testapps/javaProjectTest/lib1/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, Main" + /> +</LinearLayout> + diff --git a/testapps/javaProjectTest/lib1/res/values/strings.xml b/testapps/javaProjectTest/lib1/res/values/strings.xml new file mode 100644 index 000000000..549e4ea50 --- /dev/null +++ b/testapps/javaProjectTest/lib1/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">Main</string> +</resources> diff --git a/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java new file mode 100644 index 000000000..fe4a2a12b --- /dev/null +++ b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java @@ -0,0 +1,33 @@ +package com.android.tests.javaprojecttest.lib1; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class Lib1 { + + public static String getContent() { + InputStream input = Lib1.class.getResourceAsStream("Lib1.txt"); + if (input == null) { + return "FAILED TO FIND Lib1.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt new file mode 100644 index 000000000..b3e210d04 --- /dev/null +++ b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt @@ -0,0 +1 @@ +SUCCESS from Lib1
\ No newline at end of file diff --git a/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Main.java b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Main.java new file mode 100644 index 000000000..f09e1cd5f --- /dev/null +++ b/testapps/javaProjectTest/lib1/src/com/android/tests/javaprojecttest/lib1/Main.java @@ -0,0 +1,15 @@ +package com.android.tests.javaprojecttest.lib1; + +import android.app.Activity; +import android.os.Bundle; + +public class Main extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/javaProjectTest/lib2/.classpath b/testapps/javaProjectTest/lib2/.classpath new file mode 100644 index 000000000..3cdb2e00f --- /dev/null +++ b/testapps/javaProjectTest/lib2/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry combineaccessrules="false" exported="true" kind="src" path="/javaProjectTest-javaProject"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/javaProjectTest/lib2/.project b/testapps/javaProjectTest/lib2/.project new file mode 100644 index 000000000..63d7a48d1 --- /dev/null +++ b/testapps/javaProjectTest/lib2/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>javaProjectTest-Lib2</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/javaProjectTest/lib2/AndroidManifest.xml b/testapps/javaProjectTest/lib2/AndroidManifest.xml new file mode 100644 index 000000000..10d4a001b --- /dev/null +++ b/testapps/javaProjectTest/lib2/AndroidManifest.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.javaprojecttest.lib2" + android:versionCode="1" + android:versionName="1.0" > + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" > + <activity + android:name="com.android.tests.javaprojecttest.lib2.Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/javaProjectTest/lib2/libs/android-support-v4.jar b/testapps/javaProjectTest/lib2/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..d006198e6 --- /dev/null +++ b/testapps/javaProjectTest/lib2/libs/android-support-v4.jar diff --git a/testapps/javaProjectTest/lib2/proguard-project.txt b/testapps/javaProjectTest/lib2/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/javaProjectTest/lib2/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/javaProjectTest/lib2/project.properties b/testapps/javaProjectTest/lib2/project.properties new file mode 100644 index 000000000..36f15941e --- /dev/null +++ b/testapps/javaProjectTest/lib2/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true diff --git a/testapps/javaProjectTest/lib2/res/drawable-hdpi/ic_launcher.png b/testapps/javaProjectTest/lib2/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/javaProjectTest/lib2/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/javaProjectTest/lib2/res/drawable-ldpi/ic_launcher.png b/testapps/javaProjectTest/lib2/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/javaProjectTest/lib2/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/javaProjectTest/lib2/res/drawable-mdpi/ic_launcher.png b/testapps/javaProjectTest/lib2/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/javaProjectTest/lib2/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/javaProjectTest/lib2/res/layout/main.xml b/testapps/javaProjectTest/lib2/res/layout/main.xml new file mode 100644 index 000000000..b79cddb17 --- /dev/null +++ b/testapps/javaProjectTest/lib2/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, Main" + /> +</LinearLayout> + diff --git a/testapps/javaProjectTest/lib2/res/values/strings.xml b/testapps/javaProjectTest/lib2/res/values/strings.xml new file mode 100644 index 000000000..549e4ea50 --- /dev/null +++ b/testapps/javaProjectTest/lib2/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">Main</string> +</resources> diff --git a/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java new file mode 100644 index 000000000..5831cb2d1 --- /dev/null +++ b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java @@ -0,0 +1,33 @@ +package com.android.tests.javaprojecttest.lib2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class Lib2 { + + public static String getContent() { + InputStream input = Lib2.class.getResourceAsStream("Lib2.txt"); + if (input == null) { + return "FAILED TO FIND Lib2.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt new file mode 100644 index 000000000..3ba8e357a --- /dev/null +++ b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt @@ -0,0 +1 @@ +SUCCESS from Lib2
\ No newline at end of file diff --git a/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Main.java b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Main.java new file mode 100644 index 000000000..14598969a --- /dev/null +++ b/testapps/javaProjectTest/lib2/src/com/android/tests/javaprojecttest/lib2/Main.java @@ -0,0 +1,15 @@ +package com.android.tests.javaprojecttest.lib2; + +import android.app.Activity; +import android.os.Bundle; + +public class Main extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/legacyTest/.classpath b/testapps/legacyTest/.classpath new file mode 100644 index 000000000..1f92fafbf --- /dev/null +++ b/testapps/legacyTest/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="lib" path="libs/basicJar.jar"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/legacyTest/.project b/testapps/legacyTest/.project new file mode 100644 index 000000000..3e2af0ea7 --- /dev/null +++ b/testapps/legacyTest/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>legacyTest</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/legacyTest/AndroidManifest.xml b/testapps/legacyTest/AndroidManifest.xml new file mode 100644 index 000000000..36ec8fb11 --- /dev/null +++ b/testapps/legacyTest/AndroidManifest.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.javaprojecttest.app" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="15" /> + + <application + android:icon="@drawable/icon" + android:label="@string/app_name" > + <activity + android:name="com.android.tests.javaprojecttest.app.Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/legacyTest/ECLIPSEONLY b/testapps/legacyTest/ECLIPSEONLY new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/legacyTest/ECLIPSEONLY diff --git a/testapps/legacyTest/SUCCESS b/testapps/legacyTest/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/legacyTest/SUCCESS diff --git a/testapps/legacyTest/libs/basicJar.jar b/testapps/legacyTest/libs/basicJar.jar Binary files differnew file mode 100644 index 000000000..319ed0245 --- /dev/null +++ b/testapps/legacyTest/libs/basicJar.jar diff --git a/testapps/legacyTest/project.properties b/testapps/legacyTest/project.properties new file mode 100644 index 000000000..0840b4a05 --- /dev/null +++ b/testapps/legacyTest/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 diff --git a/testapps/legacyTest/res/drawable-hdpi/icon.png b/testapps/legacyTest/res/drawable-hdpi/icon.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/legacyTest/res/drawable-hdpi/icon.png diff --git a/testapps/legacyTest/res/drawable-ldpi/icon.png b/testapps/legacyTest/res/drawable-ldpi/icon.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/legacyTest/res/drawable-ldpi/icon.png diff --git a/testapps/legacyTest/res/drawable-mdpi/icon.png b/testapps/legacyTest/res/drawable-mdpi/icon.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/legacyTest/res/drawable-mdpi/icon.png diff --git a/testapps/legacyTest/res/layout/main.xml b/testapps/legacyTest/res/layout/main.xml new file mode 100644 index 000000000..3e65644f0 --- /dev/null +++ b/testapps/legacyTest/res/layout/main.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <TextView + android:id="@+id/basicJar" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/legacyTest/res/values/strings.xml b/testapps/legacyTest/res/values/strings.xml new file mode 100644 index 000000000..705a56504 --- /dev/null +++ b/testapps/legacyTest/res/values/strings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">javaProjectTest-app</string> + +</resources>
\ No newline at end of file diff --git a/testapps/legacyTest/src/com/android/tests/javaprojecttest/app/Main.java b/testapps/legacyTest/src/com/android/tests/javaprojecttest/app/Main.java new file mode 100644 index 000000000..5790753f7 --- /dev/null +++ b/testapps/legacyTest/src/com/android/tests/javaprojecttest/app/Main.java @@ -0,0 +1,19 @@ +package com.android.tests.javaprojecttest.app; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.TextView; + +import com.android.tests.basicjar.BasicJar; + +public class Main extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + TextView tv = (TextView) findViewById(R.id.basicJar); + tv.setText("basicJar: " + BasicJar.getContent()); + } +}
\ No newline at end of file diff --git a/testapps/libsAndJarTest/COMPILE_AND_RUN b/testapps/libsAndJarTest/COMPILE_AND_RUN new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/libsAndJarTest/COMPILE_AND_RUN diff --git a/testapps/libsAndJarTest/SUCCESS b/testapps/libsAndJarTest/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/libsAndJarTest/SUCCESS diff --git a/testapps/libsAndJarTest/app/.classpath b/testapps/libsAndJarTest/app/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/libsAndJarTest/app/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/libsAndJarTest/app/.project b/testapps/libsAndJarTest/app/.project new file mode 100644 index 000000000..dc5f570ea --- /dev/null +++ b/testapps/libsAndJarTest/app/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>libsAndJarTest-app</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/libsAndJarTest/app/AndroidManifest.xml b/testapps/libsAndJarTest/app/AndroidManifest.xml new file mode 100644 index 000000000..36ec8fb11 --- /dev/null +++ b/testapps/libsAndJarTest/app/AndroidManifest.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.javaprojecttest.app" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="15" /> + + <application + android:icon="@drawable/icon" + android:label="@string/app_name" > + <activity + android:name="com.android.tests.javaprojecttest.app.Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/libsAndJarTest/app/build.xml b/testapps/libsAndJarTest/app/build.xml new file mode 100644 index 000000000..c084512cd --- /dev/null +++ b/testapps/libsAndJarTest/app/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="libsAndJarTest-app" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/libsAndJarTest/app/libs/basicJar2.jar b/testapps/libsAndJarTest/app/libs/basicJar2.jar Binary files differnew file mode 100644 index 000000000..5af7cf072 --- /dev/null +++ b/testapps/libsAndJarTest/app/libs/basicJar2.jar diff --git a/testapps/libsAndJarTest/app/libs/basicJar2.jar.properties b/testapps/libsAndJarTest/app/libs/basicJar2.jar.properties new file mode 100644 index 000000000..d8099d281 --- /dev/null +++ b/testapps/libsAndJarTest/app/libs/basicJar2.jar.properties @@ -0,0 +1 @@ +src=../../../basicJar2/src/
\ No newline at end of file diff --git a/testapps/libsAndJarTest/app/proguard-project.txt b/testapps/libsAndJarTest/app/proguard-project.txt new file mode 100644 index 000000000..349f80f9c --- /dev/null +++ b/testapps/libsAndJarTest/app/proguard-project.txt @@ -0,0 +1,22 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +-adaptclassstrings
\ No newline at end of file diff --git a/testapps/libsAndJarTest/app/project.properties b/testapps/libsAndJarTest/app/project.properties new file mode 100644 index 000000000..9df42215a --- /dev/null +++ b/testapps/libsAndJarTest/app/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# Project target. +target=android-15 +android.library.reference.1=../lib1 + +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt diff --git a/testapps/libsAndJarTest/app/res/drawable-hdpi/icon.png b/testapps/libsAndJarTest/app/res/drawable-hdpi/icon.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/libsAndJarTest/app/res/drawable-hdpi/icon.png diff --git a/testapps/libsAndJarTest/app/res/drawable-ldpi/icon.png b/testapps/libsAndJarTest/app/res/drawable-ldpi/icon.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/libsAndJarTest/app/res/drawable-ldpi/icon.png diff --git a/testapps/libsAndJarTest/app/res/drawable-mdpi/icon.png b/testapps/libsAndJarTest/app/res/drawable-mdpi/icon.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/libsAndJarTest/app/res/drawable-mdpi/icon.png diff --git a/testapps/libsAndJarTest/app/res/layout/main.xml b/testapps/libsAndJarTest/app/res/layout/main.xml new file mode 100644 index 000000000..16df43ce1 --- /dev/null +++ b/testapps/libsAndJarTest/app/res/layout/main.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <TextView + android:id="@+id/app" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/lib1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/lib2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/basicJar" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + + <TextView + android:id="@+id/basicJar2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/libsAndJarTest/app/res/values/strings.xml b/testapps/libsAndJarTest/app/res/values/strings.xml new file mode 100644 index 000000000..6dc9f4725 --- /dev/null +++ b/testapps/libsAndJarTest/app/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">libsAndJarTest-app</string> + <string name="main">foo</string> + +</resources>
\ No newline at end of file diff --git a/testapps/libsAndJarTest/app/src/com/android/tests/javaprojecttest/app/App.java b/testapps/libsAndJarTest/app/src/com/android/tests/javaprojecttest/app/App.java new file mode 100644 index 000000000..aa5d1571f --- /dev/null +++ b/testapps/libsAndJarTest/app/src/com/android/tests/javaprojecttest/app/App.java @@ -0,0 +1,33 @@ +package com.android.tests.javaprojecttest.app; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class App { + + public static String getContent() { + InputStream input = App.class.getResourceAsStream("App.txt"); + if (input == null) { + return "FAILED TO FIND App.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/libsAndJarTest/app/src/com/android/tests/javaprojecttest/app/App.txt b/testapps/libsAndJarTest/app/src/com/android/tests/javaprojecttest/app/App.txt new file mode 100644 index 000000000..d488bc465 --- /dev/null +++ b/testapps/libsAndJarTest/app/src/com/android/tests/javaprojecttest/app/App.txt @@ -0,0 +1 @@ +SUCCESS from App
\ No newline at end of file diff --git a/testapps/libsAndJarTest/app/src/com/android/tests/javaprojecttest/app/Main.java b/testapps/libsAndJarTest/app/src/com/android/tests/javaprojecttest/app/Main.java new file mode 100644 index 000000000..95dd00c3e --- /dev/null +++ b/testapps/libsAndJarTest/app/src/com/android/tests/javaprojecttest/app/Main.java @@ -0,0 +1,34 @@ +package com.android.tests.javaprojecttest.app; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.TextView; + +import com.android.tests.basicjar.BasicJar; +import com.android.tests.basicjar2.BasicJar2; +import com.android.tests.javaprojecttest.lib1.Lib1; +import com.android.tests.javaprojecttest.lib2.Lib2; + +public class Main extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + TextView tv = (TextView) findViewById(R.id.app); + tv.setText("App: " + App.getContent()); + + tv = (TextView) findViewById(R.id.lib1); + tv.setText("Lib1: " + Lib1.getContent()); + + tv = (TextView) findViewById(R.id.lib2); + tv.setText("Lib2: " + Lib2.getContent()); + + tv = (TextView) findViewById(R.id.basicJar); + tv.setText("BasicJar: " + BasicJar.getContent()); + + tv = (TextView) findViewById(R.id.basicJar2); + tv.setText("BasicJar2: " + BasicJar2.getContent()); + } +}
\ No newline at end of file diff --git a/testapps/libsAndJarTest/lib1/.classpath b/testapps/libsAndJarTest/lib1/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/libsAndJarTest/lib1/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/libsAndJarTest/lib1/.project b/testapps/libsAndJarTest/lib1/.project new file mode 100644 index 000000000..616ff1fc9 --- /dev/null +++ b/testapps/libsAndJarTest/lib1/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>libsAndJarTest-Lib1</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/libsAndJarTest/lib1/AndroidManifest.xml b/testapps/libsAndJarTest/lib1/AndroidManifest.xml new file mode 100644 index 000000000..c51696be6 --- /dev/null +++ b/testapps/libsAndJarTest/lib1/AndroidManifest.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.javaprojecttest.lib1" + android:versionCode="1" + android:versionName="1.0" > + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" > + <activity + android:name=".Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/libsAndJarTest/lib1/build.xml b/testapps/libsAndJarTest/lib1/build.xml new file mode 100644 index 000000000..ed2552189 --- /dev/null +++ b/testapps/libsAndJarTest/lib1/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="libsAndJarTest-lib1" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/libsAndJarTest/lib1/libs/android-support-v4.jar b/testapps/libsAndJarTest/lib1/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..d006198e6 --- /dev/null +++ b/testapps/libsAndJarTest/lib1/libs/android-support-v4.jar diff --git a/testapps/libsAndJarTest/lib1/proguard-project.txt b/testapps/libsAndJarTest/lib1/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/libsAndJarTest/lib1/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/libsAndJarTest/lib1/project.properties b/testapps/libsAndJarTest/lib1/project.properties new file mode 100644 index 000000000..480c5b62a --- /dev/null +++ b/testapps/libsAndJarTest/lib1/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true +android.library.reference.1=../lib2 diff --git a/testapps/libsAndJarTest/lib1/res/drawable-hdpi/ic_launcher.png b/testapps/libsAndJarTest/lib1/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/libsAndJarTest/lib1/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/libsAndJarTest/lib1/res/drawable-ldpi/ic_launcher.png b/testapps/libsAndJarTest/lib1/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/libsAndJarTest/lib1/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/libsAndJarTest/lib1/res/drawable-mdpi/ic_launcher.png b/testapps/libsAndJarTest/lib1/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/libsAndJarTest/lib1/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/libsAndJarTest/lib1/res/layout/main.xml b/testapps/libsAndJarTest/lib1/res/layout/main.xml new file mode 100644 index 000000000..b79cddb17 --- /dev/null +++ b/testapps/libsAndJarTest/lib1/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, Main" + /> +</LinearLayout> + diff --git a/testapps/libsAndJarTest/lib1/res/values/strings.xml b/testapps/libsAndJarTest/lib1/res/values/strings.xml new file mode 100644 index 000000000..1993ff60d --- /dev/null +++ b/testapps/libsAndJarTest/lib1/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">Main</string> + <string name="foo1">foo</string> + +</resources>
\ No newline at end of file diff --git a/testapps/libsAndJarTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java b/testapps/libsAndJarTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java new file mode 100644 index 000000000..fe4a2a12b --- /dev/null +++ b/testapps/libsAndJarTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.java @@ -0,0 +1,33 @@ +package com.android.tests.javaprojecttest.lib1; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class Lib1 { + + public static String getContent() { + InputStream input = Lib1.class.getResourceAsStream("Lib1.txt"); + if (input == null) { + return "FAILED TO FIND Lib1.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/libsAndJarTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt b/testapps/libsAndJarTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt new file mode 100644 index 000000000..b3e210d04 --- /dev/null +++ b/testapps/libsAndJarTest/lib1/src/com/android/tests/javaprojecttest/lib1/Lib1.txt @@ -0,0 +1 @@ +SUCCESS from Lib1
\ No newline at end of file diff --git a/testapps/libsAndJarTest/lib1/src/com/android/tests/javaprojecttest/lib1/Main.java b/testapps/libsAndJarTest/lib1/src/com/android/tests/javaprojecttest/lib1/Main.java new file mode 100644 index 000000000..1c3ed355d --- /dev/null +++ b/testapps/libsAndJarTest/lib1/src/com/android/tests/javaprojecttest/lib1/Main.java @@ -0,0 +1,20 @@ +package com.android.tests.javaprojecttest.lib1; + +import android.app.Activity; +import android.os.Bundle; + +import com.android.tests.javaprojecttest.lib2.Lib2; + +public class Main extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + //Access some class from Lib2 to make sure we can access them. + String foo = Lib2.getContent(); + } +} diff --git a/testapps/libsAndJarTest/lib2/.classpath b/testapps/libsAndJarTest/lib2/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/libsAndJarTest/lib2/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/libsAndJarTest/lib2/.project b/testapps/libsAndJarTest/lib2/.project new file mode 100644 index 000000000..3f2ef161f --- /dev/null +++ b/testapps/libsAndJarTest/lib2/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>libsAndJarTest-Lib2</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/libsAndJarTest/lib2/AndroidManifest.xml b/testapps/libsAndJarTest/lib2/AndroidManifest.xml new file mode 100644 index 000000000..10d4a001b --- /dev/null +++ b/testapps/libsAndJarTest/lib2/AndroidManifest.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.javaprojecttest.lib2" + android:versionCode="1" + android:versionName="1.0" > + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" > + <activity + android:name="com.android.tests.javaprojecttest.lib2.Main" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/libsAndJarTest/lib2/build.xml b/testapps/libsAndJarTest/lib2/build.xml new file mode 100644 index 000000000..4f351c875 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="libsAndJarTest-lib2" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/libsAndJarTest/lib2/libs/android-support-v4.jar b/testapps/libsAndJarTest/lib2/libs/android-support-v4.jar Binary files differnew file mode 100644 index 000000000..d006198e6 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/libs/android-support-v4.jar diff --git a/testapps/libsAndJarTest/lib2/libs/basicJar.jar b/testapps/libsAndJarTest/lib2/libs/basicJar.jar Binary files differnew file mode 100644 index 000000000..319ed0245 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/libs/basicJar.jar diff --git a/testapps/libsAndJarTest/lib2/libs/basicJar.jar.properties b/testapps/libsAndJarTest/lib2/libs/basicJar.jar.properties new file mode 100644 index 000000000..c6b82fb45 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/libs/basicJar.jar.properties @@ -0,0 +1 @@ +src=../../../basicJar/src/
\ No newline at end of file diff --git a/testapps/libsAndJarTest/lib2/proguard-project.txt b/testapps/libsAndJarTest/lib2/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/libsAndJarTest/lib2/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/libsAndJarTest/lib2/project.properties b/testapps/libsAndJarTest/lib2/project.properties new file mode 100644 index 000000000..9be883066 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/project.properties @@ -0,0 +1,17 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true +verbose=true + diff --git a/testapps/libsAndJarTest/lib2/res/drawable-hdpi/ic_launcher.png b/testapps/libsAndJarTest/lib2/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/libsAndJarTest/lib2/res/drawable-ldpi/ic_launcher.png b/testapps/libsAndJarTest/lib2/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/libsAndJarTest/lib2/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/libsAndJarTest/lib2/res/drawable-mdpi/ic_launcher.png b/testapps/libsAndJarTest/lib2/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/libsAndJarTest/lib2/res/layout/main.xml b/testapps/libsAndJarTest/lib2/res/layout/main.xml new file mode 100644 index 000000000..b79cddb17 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/res/layout/main.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + > +<TextView + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="Hello World, Main" + /> +</LinearLayout> + diff --git a/testapps/libsAndJarTest/lib2/res/values/strings.xml b/testapps/libsAndJarTest/lib2/res/values/strings.xml new file mode 100644 index 000000000..e1e7a9dd4 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">Main</string> + <string name="foo2">foo</string> + +</resources>
\ No newline at end of file diff --git a/testapps/libsAndJarTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java b/testapps/libsAndJarTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java new file mode 100644 index 000000000..5831cb2d1 --- /dev/null +++ b/testapps/libsAndJarTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.java @@ -0,0 +1,33 @@ +package com.android.tests.javaprojecttest.lib2; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class Lib2 { + + public static String getContent() { + InputStream input = Lib2.class.getResourceAsStream("Lib2.txt"); + if (input == null) { + return "FAILED TO FIND Lib2.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/libsAndJarTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt b/testapps/libsAndJarTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt new file mode 100644 index 000000000..3ba8e357a --- /dev/null +++ b/testapps/libsAndJarTest/lib2/src/com/android/tests/javaprojecttest/lib2/Lib2.txt @@ -0,0 +1 @@ +SUCCESS from Lib2
\ No newline at end of file diff --git a/testapps/libsAndJarTest/lib2/src/com/android/tests/javaprojecttest/lib2/Main.java b/testapps/libsAndJarTest/lib2/src/com/android/tests/javaprojecttest/lib2/Main.java new file mode 100644 index 000000000..14598969a --- /dev/null +++ b/testapps/libsAndJarTest/lib2/src/com/android/tests/javaprojecttest/lib2/Main.java @@ -0,0 +1,15 @@ +package com.android.tests.javaprojecttest.lib2; + +import android.app.Activity; +import android.os.Bundle; + +public class Main extends Activity +{ + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +} diff --git a/testapps/libsTest/COMPILE_AND_RUN b/testapps/libsTest/COMPILE_AND_RUN new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/libsTest/COMPILE_AND_RUN diff --git a/testapps/libsTest/SUCCESS b/testapps/libsTest/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/libsTest/SUCCESS diff --git a/testapps/libsTest/app/.classpath b/testapps/libsTest/app/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/libsTest/app/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/libsTest/app/.project b/testapps/libsTest/app/.project new file mode 100644 index 000000000..4edc688ac --- /dev/null +++ b/testapps/libsTest/app/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>libsTest-app</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/libsTest/app/AndroidManifest.xml b/testapps/libsTest/app/AndroidManifest.xml new file mode 100644 index 000000000..74f0ff2a1 --- /dev/null +++ b/testapps/libsTest/app/AndroidManifest.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libstest.app" + android:versionCode="1" + android:versionName="1.0" xmlns:tools="http://schemas.android.com/tools"> + + <uses-sdk + android:minSdkVersion="15" + tools:ignore="UsesMinSdkAttributes" /> + + <application + android:icon="@drawable/icon" + android:label="@string/app_name" > + <activity + android:name="com.android.tests.libstest.app.MainActivity" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/libsTest/app/build.xml b/testapps/libsTest/app/build.xml new file mode 100644 index 000000000..c084512cd --- /dev/null +++ b/testapps/libsTest/app/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="libsAndJarTest-app" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/libsTest/app/proguard-project.txt b/testapps/libsTest/app/proguard-project.txt new file mode 100644 index 000000000..349f80f9c --- /dev/null +++ b/testapps/libsTest/app/proguard-project.txt @@ -0,0 +1,22 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +-adaptclassstrings
\ No newline at end of file diff --git a/testapps/libsTest/app/project.properties b/testapps/libsTest/app/project.properties new file mode 100644 index 000000000..9df42215a --- /dev/null +++ b/testapps/libsTest/app/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# Project target. +target=android-15 +android.library.reference.1=../lib1 + +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt diff --git a/testapps/libsTest/app/res/drawable-hdpi/icon.png b/testapps/libsTest/app/res/drawable-hdpi/icon.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/libsTest/app/res/drawable-hdpi/icon.png diff --git a/testapps/libsTest/app/res/drawable-ldpi/icon.png b/testapps/libsTest/app/res/drawable-ldpi/icon.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/libsTest/app/res/drawable-ldpi/icon.png diff --git a/testapps/libsTest/app/res/drawable-mdpi/icon.png b/testapps/libsTest/app/res/drawable-mdpi/icon.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/libsTest/app/res/drawable-mdpi/icon.png diff --git a/testapps/libsTest/app/res/layout/main.xml b/testapps/libsTest/app/res/layout/main.xml new file mode 100644 index 000000000..f735960e3 --- /dev/null +++ b/testapps/libsTest/app/res/layout/main.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <TextView + android:id="@+id/app_text1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/app_string" /> + + <TextView + android:id="@+id/app_text2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" /> + + <include layout="@layout/lib1_main" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/libsTest/app/res/values/strings.xml b/testapps/libsTest/app/res/values/strings.xml new file mode 100644 index 000000000..2a2e00668 --- /dev/null +++ b/testapps/libsTest/app/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">libsTest-app</string> + <string name="app_string">SUCCESS-APP</string> + +</resources>
\ No newline at end of file diff --git a/testapps/libsTest/app/src/com/android/tests/libstest/app/App.java b/testapps/libsTest/app/src/com/android/tests/libstest/app/App.java new file mode 100644 index 000000000..54e2a09de --- /dev/null +++ b/testapps/libsTest/app/src/com/android/tests/libstest/app/App.java @@ -0,0 +1,43 @@ +package com.android.tests.libstest.app; + +import android.app.Activity; +import android.widget.TextView; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class App { + + public static void handleTextView(Activity a) { + TextView tv = (TextView) a.findViewById(R.id.app_text2); + if (tv != null) { + tv.setText(getContent()); + } + } + + private static String getContent() { + InputStream input = App.class.getResourceAsStream("App.txt"); + if (input == null) { + return "FAILED TO FIND App.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/libsTest/app/src/com/android/tests/libstest/app/App.txt b/testapps/libsTest/app/src/com/android/tests/libstest/app/App.txt new file mode 100644 index 000000000..084e7d0cc --- /dev/null +++ b/testapps/libsTest/app/src/com/android/tests/libstest/app/App.txt @@ -0,0 +1 @@ +SUCCESS-APP
\ No newline at end of file diff --git a/testapps/libsTest/app/src/com/android/tests/libstest/app/MainActivity.java b/testapps/libsTest/app/src/com/android/tests/libstest/app/MainActivity.java new file mode 100644 index 000000000..8992066bd --- /dev/null +++ b/testapps/libsTest/app/src/com/android/tests/libstest/app/MainActivity.java @@ -0,0 +1,20 @@ +package com.android.tests.libstest.app; + +import android.app.Activity; +import android.os.Bundle; + +import com.android.tests.libstest.lib1.Lib1; +import com.android.tests.libstest.lib2.Lib2; + +public class MainActivity extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + App.handleTextView(this); + Lib1.handleTextView(this); + Lib2.handleTextView(this); + } +}
\ No newline at end of file diff --git a/testapps/libsTest/appTest/.classpath b/testapps/libsTest/appTest/.classpath new file mode 100644 index 000000000..ad42d947f --- /dev/null +++ b/testapps/libsTest/appTest/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry combineaccessrules="false" kind="src" path="/libsTest-app"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/libsTest/appTest/.project b/testapps/libsTest/appTest/.project new file mode 100644 index 000000000..5fa994dce --- /dev/null +++ b/testapps/libsTest/appTest/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>libsTest-appTest</name> + <comment></comment> + <projects> + <project>testProjectTest-app</project> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/libsTest/appTest/AndroidManifest.xml b/testapps/libsTest/appTest/AndroidManifest.xml new file mode 100644 index 000000000..5c3bbbda8 --- /dev/null +++ b/testapps/libsTest/appTest/AndroidManifest.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libstest.app.test" + android:versionCode="1" + android:versionName="1.0" xmlns:tools="http://schemas.android.com/tools"> + + <uses-sdk + android:minSdkVersion="15" + tools:ignore="UsesMinSdkAttributes" /> + + <!-- + We add an application tag here just so that we can indicate that + this package needs to link against the android.test library, + which is needed when building test cases. + --> + <application android:label="libsTest-appTest" > + <uses-library android:name="android.test.runner" /> + </application> + + <!-- + This declares that this app uses the instrumentation test runner targeting + the package of com.android.tests.testprojecttest.app. To run the tests use the command: + "adb shell am instrument -w com.android.tests.testprojecttest.test/android.test.InstrumentationTestRunner" + --> + <instrumentation + android:name="android.test.InstrumentationTestRunner" + android:targetPackage="com.android.tests.libstest.app" /> + +</manifest>
\ No newline at end of file diff --git a/testapps/libsTest/appTest/build.xml b/testapps/libsTest/appTest/build.xml new file mode 100644 index 000000000..4f12210eb --- /dev/null +++ b/testapps/libsTest/appTest/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="testProjectTest-testapp" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/libsTest/appTest/proguard-project.txt b/testapps/libsTest/appTest/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/libsTest/appTest/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/libsTest/appTest/project.properties b/testapps/libsTest/appTest/project.properties new file mode 100644 index 000000000..4c13b857b --- /dev/null +++ b/testapps/libsTest/appTest/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +tested.project.dir=../app diff --git a/testapps/libsTest/appTest/src/com/android/tests/libstest/app/MainActivityTest.java b/testapps/libsTest/appTest/src/com/android/tests/libstest/app/MainActivityTest.java new file mode 100644 index 000000000..65e081ba6 --- /dev/null +++ b/testapps/libsTest/appTest/src/com/android/tests/libstest/app/MainActivityTest.java @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.libstest.app; + +import android.test.ActivityInstrumentationTestCase2; +import android.test.suitebuilder.annotation.MediumTest; +import android.widget.TextView; + +/** + * An example of an {@link ActivityInstrumentationTestCase2} of a specific activity {@link Focus2}. + * By virtue of extending {@link ActivityInstrumentationTestCase2}, the target activity is automatically + * launched and finished before and after each test. This also extends + * {@link android.test.InstrumentationTestCase}, which provides + * access to methods for sending events to the target activity, such as key and + * touch events. See {@link #sendKeys}. + * + * In general, {@link android.test.InstrumentationTestCase}s and {@link ActivityInstrumentationTestCase2}s + * are heavier weight functional tests available for end to end testing of your + * user interface. When run via a {@link android.test.InstrumentationTestRunner}, + * the necessary {@link android.app.Instrumentation} will be injected for you to + * user via {@link #getInstrumentation} in your tests. + * + * See {@link com.example.android.apis.AllTests} for documentation on running + * all tests and individual tests in this application. + */ +public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { + + private TextView mAppTextView1; + private TextView mAppTextView2; + private TextView mLib1TextView1; + private TextView mLib1TextView2; + private TextView mLib2TextView1; + private TextView mLib2TextView2; + + /** + * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity. + */ + public MainActivityTest() { + super(MainActivity.class); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + final MainActivity a = getActivity(); + // ensure a valid handle to the activity has been returned + assertNotNull(a); + + mAppTextView1 = (TextView) a.findViewById(R.id.app_text1); + mAppTextView2 = (TextView) a.findViewById(R.id.app_text1); + mLib1TextView1 = (TextView) a.findViewById(R.id.lib1_text1); + mLib1TextView2 = (TextView) a.findViewById(R.id.lib1_text2); + mLib2TextView1 = (TextView) a.findViewById(R.id.lib2_text1); + mLib2TextView2 = (TextView) a.findViewById(R.id.lib2_text2); + } + + /** + * The name 'test preconditions' is a convention to signal that if this + * test doesn't pass, the test case was not set up properly and it might + * explain any and all failures in other tests. This is not guaranteed + * to run before other tests, as junit uses reflection to find the tests. + */ + @MediumTest + public void testPreconditions() { + assertNotNull(mAppTextView1); + assertNotNull(mAppTextView2); + assertNotNull(mLib1TextView1); + assertNotNull(mLib1TextView2); + assertNotNull(mLib2TextView1); + assertNotNull(mLib2TextView2); + } + + @MediumTest + public void testAndroidStrings() { + assertEquals("SUCCESS-APP", mAppTextView1.getText()); + assertEquals("SUCCESS-LIB1", mLib1TextView1.getText()); + assertEquals("SUCCESS-LIB2", mLib2TextView1.getText()); + } + + @MediumTest + public void testJavaStrings() { + assertEquals("SUCCESS-APP", mAppTextView2.getText()); + assertEquals("SUCCESS-LIB1", mLib1TextView2.getText()); + assertEquals("SUCCESS-LIB2", mLib2TextView2.getText()); + } +} diff --git a/testapps/libsTest/lib1/.classpath b/testapps/libsTest/lib1/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/libsTest/lib1/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/libsTest/lib1/.project b/testapps/libsTest/lib1/.project new file mode 100644 index 000000000..627133591 --- /dev/null +++ b/testapps/libsTest/lib1/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>libsTest-Lib1</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/libsTest/lib1/AndroidManifest.xml b/testapps/libsTest/lib1/AndroidManifest.xml new file mode 100644 index 000000000..194faeabe --- /dev/null +++ b/testapps/libsTest/lib1/AndroidManifest.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libstest.lib1" + android:versionCode="1" + android:versionName="1.0" > + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/lib1_name" > + <activity + android:name="com.android.tests.libstest.lib1.MainActivity" + android:label="@string/lib1_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/libsTest/lib1/build.xml b/testapps/libsTest/lib1/build.xml new file mode 100644 index 000000000..ed2552189 --- /dev/null +++ b/testapps/libsTest/lib1/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="libsAndJarTest-lib1" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/libsTest/lib1/proguard-project.txt b/testapps/libsTest/lib1/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/libsTest/lib1/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/libsTest/lib1/project.properties b/testapps/libsTest/lib1/project.properties new file mode 100644 index 000000000..480c5b62a --- /dev/null +++ b/testapps/libsTest/lib1/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true +android.library.reference.1=../lib2 diff --git a/testapps/libsTest/lib1/res/drawable-hdpi/ic_launcher.png b/testapps/libsTest/lib1/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/libsTest/lib1/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/libsTest/lib1/res/drawable-ldpi/ic_launcher.png b/testapps/libsTest/lib1/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/libsTest/lib1/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/libsTest/lib1/res/drawable-mdpi/ic_launcher.png b/testapps/libsTest/lib1/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/libsTest/lib1/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/libsTest/lib1/res/layout/lib1_main.xml b/testapps/libsTest/lib1/res/layout/lib1_main.xml new file mode 100644 index 000000000..3666d1296 --- /dev/null +++ b/testapps/libsTest/lib1/res/layout/lib1_main.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <TextView + android:id="@+id/lib1_text1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/lib1_string" /> + + <TextView + android:id="@+id/lib1_text2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" /> + + <include layout="@layout/lib2_main" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/libsTest/lib1/res/values/strings.xml b/testapps/libsTest/lib1/res/values/strings.xml new file mode 100644 index 000000000..8d2061094 --- /dev/null +++ b/testapps/libsTest/lib1/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="lib1_name">LibsTest-lib1</string> + <string name="lib1_string">SUCCESS-LIB1</string> + +</resources>
\ No newline at end of file diff --git a/testapps/libsTest/lib1/src/com/android/tests/libstest/lib1/Lib1.java b/testapps/libsTest/lib1/src/com/android/tests/libstest/lib1/Lib1.java new file mode 100644 index 000000000..c62bec228 --- /dev/null +++ b/testapps/libsTest/lib1/src/com/android/tests/libstest/lib1/Lib1.java @@ -0,0 +1,43 @@ +package com.android.tests.libstest.lib1; + +import android.app.Activity; +import android.widget.TextView; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class Lib1 { + + public static void handleTextView(Activity a) { + TextView tv = (TextView) a.findViewById(R.id.lib1_text2); + if (tv != null) { + tv.setText(Lib1.getContent()); + } + } + + public static String getContent() { + InputStream input = Lib1.class.getResourceAsStream("Lib1.txt"); + if (input == null) { + return "FAILED TO FIND Lib1.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/libsTest/lib1/src/com/android/tests/libstest/lib1/Lib1.txt b/testapps/libsTest/lib1/src/com/android/tests/libstest/lib1/Lib1.txt new file mode 100644 index 000000000..452e39773 --- /dev/null +++ b/testapps/libsTest/lib1/src/com/android/tests/libstest/lib1/Lib1.txt @@ -0,0 +1 @@ +SUCCESS-LIB1
\ No newline at end of file diff --git a/testapps/libsTest/lib1/src/com/android/tests/libstest/lib1/MainActivity.java b/testapps/libsTest/lib1/src/com/android/tests/libstest/lib1/MainActivity.java new file mode 100644 index 000000000..078bf64cf --- /dev/null +++ b/testapps/libsTest/lib1/src/com/android/tests/libstest/lib1/MainActivity.java @@ -0,0 +1,18 @@ +package com.android.tests.libstest.lib1; + +import android.app.Activity; +import android.os.Bundle; + +import com.android.tests.libstest.lib2.Lib2; + +public class MainActivity extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.lib1_main); + + Lib1.handleTextView(this); + Lib2.handleTextView(this); + } +} diff --git a/testapps/libsTest/lib1Test/.classpath b/testapps/libsTest/lib1Test/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/libsTest/lib1Test/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/libsTest/lib1Test/.project b/testapps/libsTest/lib1Test/.project new file mode 100644 index 000000000..10f729cc6 --- /dev/null +++ b/testapps/libsTest/lib1Test/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>libsTest-lib1Test</name> + <comment></comment> + <projects> + <project>testProjectTest-app</project> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/libsTest/lib1Test/AndroidManifest.xml b/testapps/libsTest/lib1Test/AndroidManifest.xml new file mode 100644 index 000000000..851b295c5 --- /dev/null +++ b/testapps/libsTest/lib1Test/AndroidManifest.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + package="com.android.tests.libstest.lib1.test" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk + android:minSdkVersion="15" + tools:ignore="UsesMinSdkAttributes" /> + + <!-- + We add an application tag here just so that we can indicate that + this package needs to link against the android.test library, + which is needed when building test cases. + --> + <application + android:icon="@drawable/ic_launcher" + android:label="@string/lib1_name" > + <uses-library android:name="android.test.runner" /> + </application> + + <!-- + This declares that this app uses the instrumentation test runner targeting + the package of com.android.tests.testprojecttest.testlib. To run the tests use the command: + "adb shell am instrument -w com.android.tests.testprojecttest.testlib/android.test.InstrumentationTestRunner" + --> + <instrumentation + android:name="android.test.InstrumentationTestRunner" + android:targetPackage="com.android.tests.libstest.lib1.test" /> + +</manifest>
\ No newline at end of file diff --git a/testapps/libsTest/lib1Test/build.xml b/testapps/libsTest/lib1Test/build.xml new file mode 100644 index 000000000..b59cc6570 --- /dev/null +++ b/testapps/libsTest/lib1Test/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="testProjectTest-testlib" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/libsTest/lib1Test/proguard-project.txt b/testapps/libsTest/lib1Test/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/libsTest/lib1Test/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/libsTest/lib1Test/project.properties b/testapps/libsTest/lib1Test/project.properties new file mode 100644 index 000000000..53eb84821 --- /dev/null +++ b/testapps/libsTest/lib1Test/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library.reference.1=../lib1 +manifestmerger.enabled=true diff --git a/testapps/libsTest/lib1Test/res/values/strings.xml b/testapps/libsTest/lib1Test/res/values/strings.xml new file mode 100644 index 000000000..ee6ef6606 --- /dev/null +++ b/testapps/libsTest/lib1Test/res/values/strings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="lib1_name">LibsTest-lib1Test</string> + +</resources>
\ No newline at end of file diff --git a/testapps/libsTest/lib1Test/src/com/android/tests/libstest/lib1/MainActivityTest.java b/testapps/libsTest/lib1Test/src/com/android/tests/libstest/lib1/MainActivityTest.java new file mode 100644 index 000000000..4ed7ae6f6 --- /dev/null +++ b/testapps/libsTest/lib1Test/src/com/android/tests/libstest/lib1/MainActivityTest.java @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.libstest.lib1; + +import android.test.ActivityInstrumentationTestCase2; +import android.test.suitebuilder.annotation.MediumTest; +import android.widget.TextView; + +/** + * An example of an {@link ActivityInstrumentationTestCase2} of a specific activity {@link Focus2}. + * By virtue of extending {@link ActivityInstrumentationTestCase2}, the target activity is automatically + * launched and finished before and after each test. This also extends + * {@link android.test.InstrumentationTestCase}, which provides + * access to methods for sending events to the target activity, such as key and + * touch events. See {@link #sendKeys}. + * + * In general, {@link android.test.InstrumentationTestCase}s and {@link ActivityInstrumentationTestCase2}s + * are heavier weight functional tests available for end to end testing of your + * user interface. When run via a {@link android.test.InstrumentationTestRunner}, + * the necessary {@link android.app.Instrumentation} will be injected for you to + * user via {@link #getInstrumentation} in your tests. + * + * See {@link com.example.android.apis.AllTests} for documentation on running + * all tests and individual tests in this application. + */ +public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { + + private TextView mLib1TextView1; + private TextView mLib1TextView2; + private TextView mLib2TextView1; + private TextView mLib2TextView2; + + /** + * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity. + */ + public MainActivityTest() { + super(MainActivity.class); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + final MainActivity a = getActivity(); + // ensure a valid handle to the activity has been returned + assertNotNull(a); + + mLib1TextView1 = (TextView) a.findViewById(R.id.lib1_text1); + mLib1TextView2 = (TextView) a.findViewById(R.id.lib1_text2); + mLib2TextView1 = (TextView) a.findViewById(R.id.lib2_text1); + mLib2TextView2 = (TextView) a.findViewById(R.id.lib2_text2); + } + + /** + * The name 'test preconditions' is a convention to signal that if this + * test doesn't pass, the test case was not set up properly and it might + * explain any and all failures in other tests. This is not guaranteed + * to run before other tests, as junit uses reflection to find the tests. + */ + @MediumTest + public void testPreconditions() { + assertNotNull(mLib1TextView1); + assertNotNull(mLib1TextView2); + assertNotNull(mLib2TextView1); + assertNotNull(mLib2TextView2); + } + + @MediumTest + public void testAndroidStrings() { + assertEquals("SUCCESS-LIB1", mLib1TextView1.getText()); + assertEquals("SUCCESS-LIB2", mLib2TextView1.getText()); + } + + @MediumTest + public void testJavaStrings() { + assertEquals("SUCCESS-LIB1", mLib1TextView2.getText()); + assertEquals("SUCCESS-LIB2", mLib2TextView2.getText()); + } +} diff --git a/testapps/libsTest/lib2/.classpath b/testapps/libsTest/lib2/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/libsTest/lib2/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/libsTest/lib2/.project b/testapps/libsTest/lib2/.project new file mode 100644 index 000000000..456bba835 --- /dev/null +++ b/testapps/libsTest/lib2/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>libsTest-Lib2</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/libsTest/lib2/AndroidManifest.xml b/testapps/libsTest/lib2/AndroidManifest.xml new file mode 100644 index 000000000..0765effd3 --- /dev/null +++ b/testapps/libsTest/lib2/AndroidManifest.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.libstest.lib2" + android:versionCode="1" + android:versionName="1.0" > + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/lib2_name" > + <activity + android:name="com.android.tests.libstest.lib2.MainActivity" + android:label="@string/lib2_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/libsTest/lib2/build.xml b/testapps/libsTest/lib2/build.xml new file mode 100644 index 000000000..4f351c875 --- /dev/null +++ b/testapps/libsTest/lib2/build.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="libsAndJarTest-lib2" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/libsTest/lib2/proguard-project.txt b/testapps/libsTest/lib2/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/libsTest/lib2/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/libsTest/lib2/project.properties b/testapps/libsTest/lib2/project.properties new file mode 100644 index 000000000..e94ecb80c --- /dev/null +++ b/testapps/libsTest/lib2/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true + diff --git a/testapps/libsTest/lib2/res/drawable-hdpi/ic_launcher.png b/testapps/libsTest/lib2/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/libsTest/lib2/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/libsTest/lib2/res/drawable-ldpi/ic_launcher.png b/testapps/libsTest/lib2/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/libsTest/lib2/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/libsTest/lib2/res/drawable-mdpi/ic_launcher.png b/testapps/libsTest/lib2/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/libsTest/lib2/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/libsTest/lib2/res/layout/lib2_main.xml b/testapps/libsTest/lib2/res/layout/lib2_main.xml new file mode 100644 index 000000000..bb639d14d --- /dev/null +++ b/testapps/libsTest/lib2/res/layout/lib2_main.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <TextView + android:id="@+id/lib2_text1" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="@string/lib2_string" /> + + <TextView + android:id="@+id/lib2_text2" + android:layout_width="fill_parent" + android:layout_height="wrap_content" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/libsTest/lib2/res/values/strings.xml b/testapps/libsTest/lib2/res/values/strings.xml new file mode 100644 index 000000000..215b8fae9 --- /dev/null +++ b/testapps/libsTest/lib2/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="lib2_name">LibsTest-lib2</string> + <string name="lib2_string">SUCCESS-LIB2</string> + +</resources>
\ No newline at end of file diff --git a/testapps/libsTest/lib2/src/com/android/tests/libstest/lib2/Lib2.java b/testapps/libsTest/lib2/src/com/android/tests/libstest/lib2/Lib2.java new file mode 100644 index 000000000..bb8e4db03 --- /dev/null +++ b/testapps/libsTest/lib2/src/com/android/tests/libstest/lib2/Lib2.java @@ -0,0 +1,43 @@ +package com.android.tests.libstest.lib2; + +import android.app.Activity; +import android.widget.TextView; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class Lib2 { + + public static void handleTextView(Activity a) { + TextView tv = (TextView) a.findViewById(R.id.lib2_text2); + if (tv != null) { + tv.setText(getContent()); + } + } + + private static String getContent() { + InputStream input = Lib2.class.getResourceAsStream("Lib2.txt"); + if (input == null) { + return "FAILED TO FIND Lib2.txt"; + } + + BufferedReader reader = null; + try { + reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); + + return reader.readLine(); + } catch (IOException e) { + } finally { + if (reader != null) { + try { + reader.close(); + } catch (IOException e) { + } + } + } + + return "FAILED TO READ CONTENT"; + } +} diff --git a/testapps/libsTest/lib2/src/com/android/tests/libstest/lib2/Lib2.txt b/testapps/libsTest/lib2/src/com/android/tests/libstest/lib2/Lib2.txt new file mode 100644 index 000000000..94cabe40f --- /dev/null +++ b/testapps/libsTest/lib2/src/com/android/tests/libstest/lib2/Lib2.txt @@ -0,0 +1 @@ +SUCCESS-LIB2
\ No newline at end of file diff --git a/testapps/libsTest/lib2/src/com/android/tests/libstest/lib2/MainActivity.java b/testapps/libsTest/lib2/src/com/android/tests/libstest/lib2/MainActivity.java new file mode 100644 index 000000000..012f20385 --- /dev/null +++ b/testapps/libsTest/lib2/src/com/android/tests/libstest/lib2/MainActivity.java @@ -0,0 +1,15 @@ +package com.android.tests.libstest.lib2; + +import android.app.Activity; +import android.os.Bundle; + +public class MainActivity extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.lib2_main); + + Lib2.handleTextView(this); + } +} diff --git a/testapps/libsTest/lib2Test/.classpath b/testapps/libsTest/lib2Test/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/libsTest/lib2Test/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/libsTest/lib2Test/.project b/testapps/libsTest/lib2Test/.project new file mode 100644 index 000000000..5ef5c2c47 --- /dev/null +++ b/testapps/libsTest/lib2Test/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>libsTest-lib2Test</name> + <comment></comment> + <projects> + <project>testProjectTest-app</project> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/libsTest/lib2Test/AndroidManifest.xml b/testapps/libsTest/lib2Test/AndroidManifest.xml new file mode 100644 index 000000000..e6b59a1fb --- /dev/null +++ b/testapps/libsTest/lib2Test/AndroidManifest.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + package="com.android.tests.libstest.lib2.test" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk + android:minSdkVersion="15" + tools:ignore="UsesMinSdkAttributes" /> + + <!-- + We add an application tag here just so that we can indicate that + this package needs to link against the android.test library, + which is needed when building test cases. + --> + <application android:label="testProjectTest-testlib" > + <uses-library android:name="android.test.runner" /> + </application> + + <!-- + This declares that this app uses the instrumentation test runner targeting + the package of com.android.tests.testprojecttest.testlib. To run the tests use the command: + "adb shell am instrument -w com.android.tests.testprojecttest.testlib/android.test.InstrumentationTestRunner" + --> + <instrumentation + android:name="android.test.InstrumentationTestRunner" + android:targetPackage="com.android.tests.libstest.lib2.test" /> + +</manifest>
\ No newline at end of file diff --git a/testapps/libsTest/lib2Test/build.xml b/testapps/libsTest/lib2Test/build.xml new file mode 100644 index 000000000..b59cc6570 --- /dev/null +++ b/testapps/libsTest/lib2Test/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="testProjectTest-testlib" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/libsTest/lib2Test/proguard-project.txt b/testapps/libsTest/lib2Test/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/libsTest/lib2Test/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/libsTest/lib2Test/project.properties b/testapps/libsTest/lib2Test/project.properties new file mode 100644 index 000000000..dfe40b0c8 --- /dev/null +++ b/testapps/libsTest/lib2Test/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library.reference.1=../lib2 +manifestmerger.enabled=true diff --git a/testapps/libsTest/lib2Test/res/values/strings.xml b/testapps/libsTest/lib2Test/res/values/strings.xml new file mode 100644 index 000000000..68ce7718b --- /dev/null +++ b/testapps/libsTest/lib2Test/res/values/strings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="lib2_name">LibsTest-lib2Test</string> + +</resources>
\ No newline at end of file diff --git a/testapps/libsTest/lib2Test/src/com/android/tests/libstest/lib2/MainActivityTest.java b/testapps/libsTest/lib2Test/src/com/android/tests/libstest/lib2/MainActivityTest.java new file mode 100644 index 000000000..6ac4a5c54 --- /dev/null +++ b/testapps/libsTest/lib2Test/src/com/android/tests/libstest/lib2/MainActivityTest.java @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.libstest.lib2; + +import android.test.ActivityInstrumentationTestCase2; +import android.test.suitebuilder.annotation.MediumTest; +import android.widget.TextView; + +import com.android.tests.libstest.lib2.R; + +/** + * An example of an {@link ActivityInstrumentationTestCase2} of a specific activity {@link Focus2}. + * By virtue of extending {@link ActivityInstrumentationTestCase2}, the target activity is automatically + * launched and finished before and after each test. This also extends + * {@link android.test.InstrumentationTestCase}, which provides + * access to methods for sending events to the target activity, such as key and + * touch events. See {@link #sendKeys}. + * + * In general, {@link android.test.InstrumentationTestCase}s and {@link ActivityInstrumentationTestCase2}s + * are heavier weight functional tests available for end to end testing of your + * user interface. When run via a {@link android.test.InstrumentationTestRunner}, + * the necessary {@link android.app.Instrumentation} will be injected for you to + * user via {@link #getInstrumentation} in your tests. + * + * See {@link com.example.android.apis.AllTests} for documentation on running + * all tests and individual tests in this application. + */ +public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { + + private TextView mTextView1; + private TextView mTextView2; + + /** + * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity. + */ + public MainActivityTest() { + super(MainActivity.class); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + final MainActivity a = getActivity(); + // ensure a valid handle to the activity has been returned + assertNotNull(a); + + mTextView1 = (TextView) a.findViewById(R.id.lib2_text1); + mTextView2 = (TextView) a.findViewById(R.id.lib2_text2); + } + + /** + * The name 'test preconditions' is a convention to signal that if this + * test doesn't pass, the test case was not set up properly and it might + * explain any and all failures in other tests. This is not guaranteed + * to run before other tests, as junit uses reflection to find the tests. + */ + @MediumTest + public void testPreconditions() { + assertNotNull(mTextView1); + assertNotNull(mTextView2); + } + + @MediumTest + public void testAndroidStrings() { + assertEquals("SUCCESS-LIB2", mTextView1.getText()); + } + + @MediumTest + public void testJavaStrings() { + assertEquals("SUCCESS-LIB2", mTextView2.getText()); + } +} diff --git a/testapps/proguard.config b/testapps/proguard.config new file mode 100644 index 000000000..b9dab4067 --- /dev/null +++ b/testapps/proguard.config @@ -0,0 +1,31 @@ +-optimizationpasses 5 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-dontpreverify +-verbose +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* + +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class com.android.vending.licensing.ILicensingService + +-keepclasseswithmembernames class * { + native <methods>; +} + +-keepclasseswithmembernames class * { + public <init>(android.content.Context, android.util.AttributeSet); +} + +-keepclasseswithmembernames class * { + public <init>(android.content.Context, android.util.AttributeSet, int); +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + diff --git a/testapps/testProjectTest/COMPILE_AND_RUN b/testapps/testProjectTest/COMPILE_AND_RUN new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/testProjectTest/COMPILE_AND_RUN diff --git a/testapps/testProjectTest/SUCCESS b/testapps/testProjectTest/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/testProjectTest/SUCCESS diff --git a/testapps/testProjectTest/app/.classpath b/testapps/testProjectTest/app/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/testProjectTest/app/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/testProjectTest/app/.project b/testapps/testProjectTest/app/.project new file mode 100644 index 000000000..344feb870 --- /dev/null +++ b/testapps/testProjectTest/app/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testProjectTest-app</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/testProjectTest/app/AndroidManifest.xml b/testapps/testProjectTest/app/AndroidManifest.xml new file mode 100644 index 000000000..41e6b82bd --- /dev/null +++ b/testapps/testProjectTest/app/AndroidManifest.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.testprojecttest.app" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="15" /> + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" > + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/testProjectTest/app/build.xml b/testapps/testProjectTest/app/build.xml new file mode 100644 index 000000000..1a886cebe --- /dev/null +++ b/testapps/testProjectTest/app/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="testProjectTest-app" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/testProjectTest/app/proguard-project.txt b/testapps/testProjectTest/app/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/testProjectTest/app/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/testProjectTest/app/project.properties b/testapps/testProjectTest/app/project.properties new file mode 100644 index 000000000..01b6493a0 --- /dev/null +++ b/testapps/testProjectTest/app/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library.reference.1=../lib +manifestmerger.enabled=true diff --git a/testapps/testProjectTest/app/res/drawable-hdpi/ic_launcher.png b/testapps/testProjectTest/app/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..96a442e5b --- /dev/null +++ b/testapps/testProjectTest/app/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/testProjectTest/app/res/drawable-ldpi/ic_launcher.png b/testapps/testProjectTest/app/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..99238729d --- /dev/null +++ b/testapps/testProjectTest/app/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/testProjectTest/app/res/drawable-mdpi/ic_launcher.png b/testapps/testProjectTest/app/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..359047dfa --- /dev/null +++ b/testapps/testProjectTest/app/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/testProjectTest/app/res/drawable-xhdpi/ic_launcher.png b/testapps/testProjectTest/app/res/drawable-xhdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..71c6d760f --- /dev/null +++ b/testapps/testProjectTest/app/res/drawable-xhdpi/ic_launcher.png diff --git a/testapps/testProjectTest/app/res/values/strings.xml b/testapps/testProjectTest/app/res/values/strings.xml new file mode 100644 index 000000000..c933032e7 --- /dev/null +++ b/testapps/testProjectTest/app/res/values/strings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">TestProjectTest-app</string> + +</resources>
\ No newline at end of file diff --git a/testapps/testProjectTest/app/src/readme.txt b/testapps/testProjectTest/app/src/readme.txt new file mode 100644 index 000000000..103fd769f --- /dev/null +++ b/testapps/testProjectTest/app/src/readme.txt @@ -0,0 +1 @@ +Just there so that the src folder doesn't disappear.
\ No newline at end of file diff --git a/testapps/testProjectTest/lib/.classpath b/testapps/testProjectTest/lib/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/testProjectTest/lib/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/testProjectTest/lib/.project b/testapps/testProjectTest/lib/.project new file mode 100644 index 000000000..274b51241 --- /dev/null +++ b/testapps/testProjectTest/lib/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testProjectTest-lib</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/testProjectTest/lib/AndroidManifest.xml b/testapps/testProjectTest/lib/AndroidManifest.xml new file mode 100644 index 000000000..b8bc11cab --- /dev/null +++ b/testapps/testProjectTest/lib/AndroidManifest.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.testprojecttest.lib" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="15" /> + + <application> + <activity + android:name="com.android.tests.testprojecttest.lib.LibActivity" + android:label="@string/app_name" > + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/testProjectTest/lib/build.xml b/testapps/testProjectTest/lib/build.xml new file mode 100644 index 000000000..88c684568 --- /dev/null +++ b/testapps/testProjectTest/lib/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="testProjectTest-lib" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/testProjectTest/lib/proguard-project.txt b/testapps/testProjectTest/lib/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/testProjectTest/lib/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/testProjectTest/lib/project.properties b/testapps/testProjectTest/lib/project.properties new file mode 100644 index 000000000..36f15941e --- /dev/null +++ b/testapps/testProjectTest/lib/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library=true diff --git a/testapps/testProjectTest/lib/res/layout/main.xml b/testapps/testProjectTest/lib/res/layout/main.xml new file mode 100644 index 000000000..14a9c4bb7 --- /dev/null +++ b/testapps/testProjectTest/lib/res/layout/main.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <TextView + android:id="@+id/text" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="some string" + tools:ignore="HardcodedText" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/testProjectTest/lib/res/values/strings.xml b/testapps/testProjectTest/lib/res/values/strings.xml new file mode 100644 index 000000000..fdb227260 --- /dev/null +++ b/testapps/testProjectTest/lib/res/values/strings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="app_name">TestProjectTest-lib</string> + +</resources>
\ No newline at end of file diff --git a/testapps/testProjectTest/lib/src/com/android/tests/testprojecttest/lib/LibActivity.java b/testapps/testProjectTest/lib/src/com/android/tests/testprojecttest/lib/LibActivity.java new file mode 100644 index 000000000..7d7f6079e --- /dev/null +++ b/testapps/testProjectTest/lib/src/com/android/tests/testprojecttest/lib/LibActivity.java @@ -0,0 +1,13 @@ +package com.android.tests.testprojecttest.lib; + +import android.app.Activity; +import android.os.Bundle; + +public class LibActivity extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + } +}
\ No newline at end of file diff --git a/testapps/testProjectTest/testapp/.classpath b/testapps/testProjectTest/testapp/.classpath new file mode 100644 index 000000000..9afbc3814 --- /dev/null +++ b/testapps/testProjectTest/testapp/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry combineaccessrules="false" kind="src" path="/testProjectTest-app"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/testProjectTest/testapp/.project b/testapps/testProjectTest/testapp/.project new file mode 100644 index 000000000..796ccc1da --- /dev/null +++ b/testapps/testProjectTest/testapp/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testProjectTest-testapp</name> + <comment></comment> + <projects> + <project>testProjectTest-app</project> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/testProjectTest/testapp/AndroidManifest.xml b/testapps/testProjectTest/testapp/AndroidManifest.xml new file mode 100644 index 000000000..5252972bc --- /dev/null +++ b/testapps/testProjectTest/testapp/AndroidManifest.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.testprojecttest.test" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="15" /> + + <!-- + We add an application tag here just so that we can indicate that + this package needs to link against the android.test library, + which is needed when building test cases. + --> + <application android:label="testProjectTest-testapp"> + <uses-library android:name="android.test.runner" /> + </application> + + <!-- + This declares that this app uses the instrumentation test runner targeting + the package of com.android.tests.testprojecttest.app. To run the tests use the command: + "adb shell am instrument -w com.android.tests.testprojecttest.test/android.test.InstrumentationTestRunner" + --> + <instrumentation + android:name="android.test.InstrumentationTestRunner" + android:targetPackage="com.android.tests.testprojecttest.app" /> + +</manifest>
\ No newline at end of file diff --git a/testapps/testProjectTest/testapp/build.xml b/testapps/testProjectTest/testapp/build.xml new file mode 100644 index 000000000..4f12210eb --- /dev/null +++ b/testapps/testProjectTest/testapp/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="testProjectTest-testapp" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/testProjectTest/testapp/proguard-project.txt b/testapps/testProjectTest/testapp/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/testProjectTest/testapp/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/testProjectTest/testapp/project.properties b/testapps/testProjectTest/testapp/project.properties new file mode 100644 index 000000000..4c13b857b --- /dev/null +++ b/testapps/testProjectTest/testapp/project.properties @@ -0,0 +1,15 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +tested.project.dir=../app diff --git a/testapps/testProjectTest/testapp/src/com/android/tests/testprojecttest/lib/LibActivityTest.java b/testapps/testProjectTest/testapp/src/com/android/tests/testprojecttest/lib/LibActivityTest.java new file mode 100644 index 000000000..9be6f97d2 --- /dev/null +++ b/testapps/testProjectTest/testapp/src/com/android/tests/testprojecttest/lib/LibActivityTest.java @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.testprojecttest.lib; + +import android.test.ActivityInstrumentationTestCase2; +import android.test.suitebuilder.annotation.MediumTest; +import android.widget.TextView; + +import com.android.tests.testprojecttest.app.R; + +/** + * An example of an {@link ActivityInstrumentationTestCase2} of a specific activity {@link Focus2}. + * By virtue of extending {@link ActivityInstrumentationTestCase2}, the target activity is automatically + * launched and finished before and after each test. This also extends + * {@link android.test.InstrumentationTestCase}, which provides + * access to methods for sending events to the target activity, such as key and + * touch events. See {@link #sendKeys}. + * + * In general, {@link android.test.InstrumentationTestCase}s and {@link ActivityInstrumentationTestCase2}s + * are heavier weight functional tests available for end to end testing of your + * user interface. When run via a {@link android.test.InstrumentationTestRunner}, + * the necessary {@link android.app.Instrumentation} will be injected for you to + * user via {@link #getInstrumentation} in your tests. + * + * See {@link com.example.android.apis.AllTests} for documentation on running + * all tests and individual tests in this application. + */ +public class LibActivityTest extends ActivityInstrumentationTestCase2<LibActivity> { + + private TextView mTextView; + + /** + * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity. + */ + public LibActivityTest() { + super(LibActivity.class); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + final LibActivity a = getActivity(); + // ensure a valid handle to the activity has been returned + assertNotNull(a); + mTextView = (TextView) a.findViewById(R.id.text); + } + + /** + * The name 'test preconditions' is a convention to signal that if this + * test doesn't pass, the test case was not set up properly and it might + * explain any and all failures in other tests. This is not guaranteed + * to run before other tests, as junit uses reflection to find the tests. + */ + @MediumTest + public void testPreconditions() { + assertNotNull(mTextView); + } +} diff --git a/testapps/testProjectTest/testapp/src/com/android/tests/testprojecttest/test/AllTests.java b/testapps/testProjectTest/testapp/src/com/android/tests/testprojecttest/test/AllTests.java new file mode 100644 index 000000000..a77b53ce8 --- /dev/null +++ b/testapps/testProjectTest/testapp/src/com/android/tests/testprojecttest/test/AllTests.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.testprojecttest.test; + +import junit.framework.Test; +import junit.framework.TestSuite; + +import android.test.suitebuilder.TestSuiteBuilder; + +/** + * A test suite containing all tests for ApiDemos. + * + * To run all suites found in this apk: + * $ adb shell am instrument -w \ + * com.example.android.apis.tests/android.test.InstrumentationTestRunner + * + * To run just this suite from the command line: + * $ adb shell am instrument -w \ + * -e class com.example.android.apis.AllTests \ + * com.example.android.apis.tests/android.test.InstrumentationTestRunner + * + * To run an individual test case, e.g. {@link com.example.android.apis.os.MorseCodeConverterTest}: + * $ adb shell am instrument -w \ + * -e class com.example.android.apis.os.MorseCodeConverterTest \ + * com.example.android.apis.tests/android.test.InstrumentationTestRunner + * + * To run an individual test, e.g. {@link com.example.android.apis.os.MorseCodeConverterTest#testCharacterS()}: + * $ adb shell am instrument -w \ + * -e class com.example.android.apis.os.MorseCodeConverterTest#testCharacterS \ + * com.example.android.apis.tests/android.test.InstrumentationTestRunner + */ +public class AllTests extends TestSuite { + + public static Test suite() { + return new TestSuiteBuilder(AllTests.class) + .includeAllPackagesUnderHere() + .build(); + } +} diff --git a/testapps/testProjectTest/testlib/.classpath b/testapps/testProjectTest/testlib/.classpath new file mode 100644 index 000000000..9afbc3814 --- /dev/null +++ b/testapps/testProjectTest/testlib/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry combineaccessrules="false" kind="src" path="/testProjectTest-app"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/testProjectTest/testlib/.project b/testapps/testProjectTest/testlib/.project new file mode 100644 index 000000000..84502179a --- /dev/null +++ b/testapps/testProjectTest/testlib/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>testProjectTest-testlib</name> + <comment></comment> + <projects> + <project>testProjectTest-app</project> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/testProjectTest/testlib/AndroidManifest.xml b/testapps/testProjectTest/testlib/AndroidManifest.xml new file mode 100644 index 000000000..93b02e420 --- /dev/null +++ b/testapps/testProjectTest/testlib/AndroidManifest.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.testprojecttest.testlib" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="15" /> + + <!-- + We add an application tag here just so that we can indicate that + this package needs to link against the android.test library, + which is needed when building test cases. + --> + <application android:label="testProjectTest-testlib"> + <uses-library android:name="android.test.runner" /> + </application> + + <!-- + This declares that this app uses the instrumentation test runner targeting + the package of com.android.tests.testprojecttest.testlib. To run the tests use the command: + "adb shell am instrument -w com.android.tests.testprojecttest.testlib/android.test.InstrumentationTestRunner" + --> + <instrumentation + android:name="android.test.InstrumentationTestRunner" + android:targetPackage="com.android.tests.testprojecttest.testlib" /> + +</manifest>
\ No newline at end of file diff --git a/testapps/testProjectTest/testlib/build.xml b/testapps/testProjectTest/testlib/build.xml new file mode 100644 index 000000000..b59cc6570 --- /dev/null +++ b/testapps/testProjectTest/testlib/build.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="testProjectTest-testlib" default="help"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- if sdk.dir was not set from one of the property file, then + get it from the ANDROID_HOME env var. + This must be done before we load project.properties since + the proguard config can use sdk.dir --> + <property environment="env" /> + <condition property="sdk.dir" value="${env.ANDROID_HOME}"> + <isset property="env.ANDROID_HOME" /> + </condition> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." + unless="sdk.dir" + /> + + <!-- + Import per project custom build rules if present at the root of the project. + This is the place to put custom intermediary targets such as: + -pre-build + -pre-compile + -post-compile (This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}) + -post-package + -post-build + -pre-clean + --> + <import file="custom_rules.xml" optional="true" /> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: 1 --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/testapps/testProjectTest/testlib/proguard-project.txt b/testapps/testProjectTest/testlib/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/testProjectTest/testlib/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/testProjectTest/testlib/project.properties b/testapps/testProjectTest/testlib/project.properties new file mode 100644 index 000000000..01b6493a0 --- /dev/null +++ b/testapps/testProjectTest/testlib/project.properties @@ -0,0 +1,16 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 +android.library.reference.1=../lib +manifestmerger.enabled=true diff --git a/testapps/testProjectTest/testlib/res/values/strings.xml b/testapps/testProjectTest/testlib/res/values/strings.xml new file mode 100644 index 000000000..ef424788d --- /dev/null +++ b/testapps/testProjectTest/testlib/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="hello">Hello World!</string> + <string name="app_name">TestProjectTest-testTest</string> + +</resources>
\ No newline at end of file diff --git a/testapps/testProjectTest/testlib/src/com/android/tests/testprojecttest/lib/LibActivityTest.java b/testapps/testProjectTest/testlib/src/com/android/tests/testprojecttest/lib/LibActivityTest.java new file mode 100644 index 000000000..6632c5810 --- /dev/null +++ b/testapps/testProjectTest/testlib/src/com/android/tests/testprojecttest/lib/LibActivityTest.java @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.testprojecttest.lib; + +import android.test.ActivityInstrumentationTestCase2; +import android.test.suitebuilder.annotation.MediumTest; +import android.widget.TextView; + +import com.android.tests.testprojecttest.lib.R; + +/** + * An example of an {@link ActivityInstrumentationTestCase2} of a specific activity {@link Focus2}. + * By virtue of extending {@link ActivityInstrumentationTestCase2}, the target activity is automatically + * launched and finished before and after each test. This also extends + * {@link android.test.InstrumentationTestCase}, which provides + * access to methods for sending events to the target activity, such as key and + * touch events. See {@link #sendKeys}. + * + * In general, {@link android.test.InstrumentationTestCase}s and {@link ActivityInstrumentationTestCase2}s + * are heavier weight functional tests available for end to end testing of your + * user interface. When run via a {@link android.test.InstrumentationTestRunner}, + * the necessary {@link android.app.Instrumentation} will be injected for you to + * user via {@link #getInstrumentation} in your tests. + * + * See {@link com.example.android.apis.AllTests} for documentation on running + * all tests and individual tests in this application. + */ +public class LibActivityTest extends ActivityInstrumentationTestCase2<LibActivity> { + + private TextView mTextView; + + /** + * Creates an {@link ActivityInstrumentationTestCase2} that tests the {@link Focus2} activity. + */ + public LibActivityTest() { + super(LibActivity.class); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + final LibActivity a = getActivity(); + // ensure a valid handle to the activity has been returned + assertNotNull(a); + mTextView = (TextView) a.findViewById(R.id.text); + } + + /** + * The name 'test preconditions' is a convention to signal that if this + * test doesn't pass, the test case was not set up properly and it might + * explain any and all failures in other tests. This is not guaranteed + * to run before other tests, as junit uses reflection to find the tests. + */ + @MediumTest + public void testPreconditions() { + assertNotNull(mTextView); + } +} diff --git a/testapps/testProjectTest/testlib/src/com/android/tests/testprojecttest/test/AllTests.java b/testapps/testProjectTest/testlib/src/com/android/tests/testprojecttest/test/AllTests.java new file mode 100644 index 000000000..a77b53ce8 --- /dev/null +++ b/testapps/testProjectTest/testlib/src/com/android/tests/testprojecttest/test/AllTests.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.tests.testprojecttest.test; + +import junit.framework.Test; +import junit.framework.TestSuite; + +import android.test.suitebuilder.TestSuiteBuilder; + +/** + * A test suite containing all tests for ApiDemos. + * + * To run all suites found in this apk: + * $ adb shell am instrument -w \ + * com.example.android.apis.tests/android.test.InstrumentationTestRunner + * + * To run just this suite from the command line: + * $ adb shell am instrument -w \ + * -e class com.example.android.apis.AllTests \ + * com.example.android.apis.tests/android.test.InstrumentationTestRunner + * + * To run an individual test case, e.g. {@link com.example.android.apis.os.MorseCodeConverterTest}: + * $ adb shell am instrument -w \ + * -e class com.example.android.apis.os.MorseCodeConverterTest \ + * com.example.android.apis.tests/android.test.InstrumentationTestRunner + * + * To run an individual test, e.g. {@link com.example.android.apis.os.MorseCodeConverterTest#testCharacterS()}: + * $ adb shell am instrument -w \ + * -e class com.example.android.apis.os.MorseCodeConverterTest#testCharacterS \ + * com.example.android.apis.tests/android.test.InstrumentationTestRunner + */ +public class AllTests extends TestSuite { + + public static Test suite() { + return new TestSuiteBuilder(AllTests.class) + .includeAllPackagesUnderHere() + .build(); + } +} diff --git a/testapps/testSensors/.classpath b/testapps/testSensors/.classpath new file mode 100644 index 000000000..a4763d1ee --- /dev/null +++ b/testapps/testSensors/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/testSensors/.project b/testapps/testSensors/.project new file mode 100644 index 000000000..de0da91e0 --- /dev/null +++ b/testapps/testSensors/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>TestSensorsActivity</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/testSensors/AndroidManifest.xml b/testapps/testSensors/AndroidManifest.xml new file mode 100644 index 000000000..375717436 --- /dev/null +++ b/testapps/testSensors/AndroidManifest.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* + * Copyright 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +--> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.testsensors" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk android:minSdkVersion="8" /> + <uses-permission android:name="android.permission.INTERNET" /> + + <application + android:icon="@drawable/ic_launcher" + android:label="@string/app_name" > + <activity + android:label="@string/app_name" + android:name=".TestSensorsActivity" > + <intent-filter > + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest>
\ No newline at end of file diff --git a/testapps/testSensors/project.properties b/testapps/testSensors/project.properties new file mode 100644 index 000000000..ea89160e0 --- /dev/null +++ b/testapps/testSensors/project.properties @@ -0,0 +1,11 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-8 diff --git a/testapps/testSensors/res/drawable-hdpi/ic_launcher.png b/testapps/testSensors/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/testSensors/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/testSensors/res/drawable-ldpi/ic_launcher.png b/testapps/testSensors/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/testSensors/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/testSensors/res/drawable-mdpi/ic_launcher.png b/testapps/testSensors/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/testSensors/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/testSensors/res/layout/main.xml b/testapps/testSensors/res/layout/main.xml new file mode 100644 index 000000000..1f73c9c40 --- /dev/null +++ b/testapps/testSensors/res/layout/main.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> + +<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/scrollView1" + android:layout_width="fill_parent" + android:layout_height="fill_parent" > + + <TableLayout + android:id="@+id/tableLayout" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:saveEnabled="false" /> + +</ScrollView> + diff --git a/testapps/testSensors/res/layout/one_row.xml b/testapps/testSensors/res/layout/one_row.xml new file mode 100644 index 000000000..e3c54b890 --- /dev/null +++ b/testapps/testSensors/res/layout/one_row.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?>
+<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent" > +
<TextView
+ android:id="@+id/row_textview_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:saveEnabled="false"
+ android:layout_marginRight="10dp"
+ android:textAppearance="?android:attr/textAppearanceSmall" />
+
+ <TextView
+ android:id="@+id/row_textview_value"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:textAppearance="?android:attr/textAppearanceSmall" />
+
+</TableRow>
\ No newline at end of file diff --git a/testapps/testSensors/res/values/strings.xml b/testapps/testSensors/res/values/strings.xml new file mode 100644 index 000000000..bc7d7c8c8 --- /dev/null +++ b/testapps/testSensors/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="hello">Hello World, TestSensorsActivity!</string> + <string name="app_name">TestSensors</string> + +</resources>
\ No newline at end of file diff --git a/testapps/testSensors/src/com/android/tests/testsensors/TestSensorsActivity.java b/testapps/testSensors/src/com/android/tests/testsensors/TestSensorsActivity.java new file mode 100644 index 000000000..c30e05fd5 --- /dev/null +++ b/testapps/testSensors/src/com/android/tests/testsensors/TestSensorsActivity.java @@ -0,0 +1,246 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.android.tests.testsensors; + +import java.util.ArrayList; +import java.util.List; + +import android.app.Activity; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.widget.TableLayout; +import android.widget.TableRow; +import android.widget.TextView; + +public class TestSensorsActivity extends Activity { + private static final String TAG = "testSensors"; + /** Array containing monitored sensors. */ + private List<MonitoredSensor> mSensors; + /** Controls displayed list of sensors. */ + private TableLayout mTableLayout; + + /** + * Encapsulates a sensor. + */ + private class MonitoredSensor implements SensorEventListener { + /** Sensor to monitor. */ + private final Sensor mSensor; + /** Check box representing the sensor on the screen. */ + private final TextView mName; + /** Text view displaying the value of the sensor. */ + private final TextView mVal; + /** Formats string to show in the TextView. */ + private String mTextFmt; + + /** + * Constructs MonitoredSensor instance, and register the listeners. + * + * @param sensor Sensor to monitor. + */ + MonitoredSensor(Sensor sensor) { + mSensor = sensor; + + // Add a row representing this sensor on the display + final LayoutInflater inflater = getLayoutInflater(); + final TableRow row = (TableRow) inflater.inflate(R.layout.one_row, mTableLayout, false); + mTableLayout.addView(row); + + // Initialize displayed checkbox for this sensor, and register + // checked state listener for it. + mName = (TextView) row.findViewById(R.id.row_textview_name); + + // Initialize displayed text box for this sensor. + mVal = (TextView) row.findViewById(R.id.row_textview_value); + mVal.setText(""); + + // Set appropriate sensor name depending on the type. Unfortunately, + // we can't really use sensor.getName() here, since the value it + // returns (although resembles the purpose) is a bit vaguer than it + // should be. Also choose an appropriate format for the strings that + // display sensor's value, and strings that are sent to the + // emulator. + switch (sensor.getType()) { + case Sensor.TYPE_ACCELEROMETER: + mName.setText("Accelerometer"); + // 3 floats. + mTextFmt = "%+.2f %+.2f %+.2f"; + break; + case 9: // Sensor.TYPE_GRAVITY is missing in API 7 + // 3 floats. + mName.setText("Gravity"); + mTextFmt = "%+.2f %+.2f %+.2f"; + break; + case Sensor.TYPE_GYROSCOPE: + mName.setText("Gyroscope"); + // 3 floats. + mTextFmt = "%+.2f %+.2f %+.2f"; + break; + case Sensor.TYPE_LIGHT: + mName.setText("Light"); + // 1 integer. + mTextFmt = "%.0f"; + break; + case 10: // Sensor.TYPE_LINEAR_ACCELERATION is missing in API 7 + mName.setText("Linear acceleration"); + // 3 floats. + mTextFmt = "%+.2f %+.2f %+.2f"; + break; + case Sensor.TYPE_MAGNETIC_FIELD: + mName.setText("Magnetic field"); + // 3 floats. + mTextFmt = "%+.2f %+.2f %+.2f"; + break; + case Sensor.TYPE_ORIENTATION: + mName.setText("Orientation"); + // 3 integers. + mTextFmt = "%+03.0f %+03.0f %+03.0f"; + break; + case Sensor.TYPE_PRESSURE: + mName.setText("Pressure"); + // 1 integer. + mTextFmt = "%.0f"; + break; + case Sensor.TYPE_PROXIMITY: + mName.setText("Proximity"); + // 1 integer. + mTextFmt = "%.0f"; + break; + case 11: // Sensor.TYPE_ROTATION_VECTOR is missing in API 7 + mName.setText("Rotation"); + // 3 floats. + mTextFmt = "%+.2f %+.2f %+.2f"; + break; + case Sensor.TYPE_TEMPERATURE: + mName.setText("Temperature"); + // 1 integer. + mTextFmt = "%.0f"; + break; + default: + mName.setText("<Unknown>"); + mTextFmt = "N/A"; + break; + } + } + + /** + * Gets sensor type. + * + * @return Sensor type as one of the Sensor.TYPE_XXX constants. + */ + private int getType() { + return mSensor.getType(); + } + + /** + * Starts monitoring the sensor. NOTE: This method is called from + * outside of the UI thread. + */ + private void startListening() { + SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE); + sm.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_UI); + } + + /** + * Stops monitoring the sensor. NOTE: This method is called from outside + * of the UI thread. + */ + private void stopListening() { + SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE); + sm.unregisterListener(this); + } + + /** + * Handles "sensor changed" event. This is an implementation of the + * SensorEventListener interface. + */ + @Override + public void onSensorChanged(SensorEvent event) { + // Display current sensor value, and format message that will be + // sent to the emulator. + final int nArgs = event.values.length; + String val; + if (nArgs == 3) { + val = String.format(mTextFmt, event.values[0], event.values[1], event.values[2]); + } else if (nArgs == 2) { + val = String.format(mTextFmt, event.values[0], event.values[1]); + } else if (nArgs == 1) { + val = String.format(mTextFmt, event.values[0]); + } else { + return; + } + mVal.setText(val); + } + + /** + * Handles "sensor accuracy changed" event. This is an implementation of + * the SensorEventListener interface. + */ + @Override + public void onAccuracyChanged(Sensor sensor, int accuracy) { + } + } // MonitoredSensor + + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + mTableLayout = (TableLayout) findViewById(R.id.tableLayout); + + // Iterate through the available sensors, adding them to the array. + mSensors = new ArrayList<MonitoredSensor>(); + SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE); + List<Sensor> sensors = sm.getSensorList(Sensor.TYPE_ALL); + int cur_index = 0; + for (int n = 0; n < sensors.size(); n++) { + Sensor avail_sensor = sensors.get(n); + + // There can be multiple sensors of the same type. We need only one. + if (!isSensorTypeAlreadyMonitored(avail_sensor.getType())) { + // The first sensor we've got for the given type is not + // necessarily the right one. So, use the default sensor + // for the given type. + Sensor def_sens = sm.getDefaultSensor(avail_sensor.getType()); + MonitoredSensor to_add = new MonitoredSensor(def_sens); + cur_index++; + mSensors.add(to_add); + to_add.startListening(); + } + } + } + + /** + * Checks if a sensor for the given type is already monitored. + * + * @param type Sensor type (one of the Sensor.TYPE_XXX constants) + * @return true if a sensor for the given type is already monitored, or + * false if the sensor is not monitored. + */ + private boolean isSensorTypeAlreadyMonitored(int type) { + for (int n = 0; n < mSensors.size(); n++) { + if (mSensors.get(n).getType() == type) { + return true; + } + } + return false; + } +} diff --git a/testapps/userLibTest/.classpath b/testapps/userLibTest/.classpath new file mode 100644 index 000000000..132d8c93f --- /dev/null +++ b/testapps/userLibTest/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="gen"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> + <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/USERLIBTEST"/> + <classpathentry kind="output" path="bin/classes"/> +</classpath> diff --git a/testapps/userLibTest/.project b/testapps/userLibTest/.project new file mode 100644 index 000000000..226edb7f0 --- /dev/null +++ b/testapps/userLibTest/.project @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>userLibTest</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.android.ide.eclipse.adt.ApkBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>com.android.ide.eclipse.adt.AndroidNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/testapps/userLibTest/AndroidManifest.xml b/testapps/userLibTest/AndroidManifest.xml new file mode 100644 index 000000000..588360768 --- /dev/null +++ b/testapps/userLibTest/AndroidManifest.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.userlibtest" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> + <activity android:name="Main" + android:label="@string/app_name"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> +</manifest> diff --git a/testapps/userLibTest/COMPILE_AND_RUN b/testapps/userLibTest/COMPILE_AND_RUN new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/userLibTest/COMPILE_AND_RUN diff --git a/testapps/userLibTest/ECLIPSEONLY b/testapps/userLibTest/ECLIPSEONLY new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/userLibTest/ECLIPSEONLY diff --git a/testapps/userLibTest/README.txt b/testapps/userLibTest/README.txt new file mode 100644 index 000000000..5d63f4ed2 --- /dev/null +++ b/testapps/userLibTest/README.txt @@ -0,0 +1,5 @@ +This test requires a workspace setup: + +- Create User Library called "USERLIBTEST" +- Add to this library the jar located in jars/basicJar.jar +- App should compile, and deploy on device and UI show show SUCCESS
\ No newline at end of file diff --git a/testapps/userLibTest/SUCCESS b/testapps/userLibTest/SUCCESS new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/testapps/userLibTest/SUCCESS diff --git a/testapps/userLibTest/jars/basicJar.jar b/testapps/userLibTest/jars/basicJar.jar Binary files differnew file mode 100644 index 000000000..319ed0245 --- /dev/null +++ b/testapps/userLibTest/jars/basicJar.jar diff --git a/testapps/userLibTest/proguard-project.txt b/testapps/userLibTest/proguard-project.txt new file mode 100644 index 000000000..f2fe1559a --- /dev/null +++ b/testapps/userLibTest/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/testapps/userLibTest/project.properties b/testapps/userLibTest/project.properties new file mode 100644 index 000000000..0840b4a05 --- /dev/null +++ b/testapps/userLibTest/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-15 diff --git a/testapps/userLibTest/res/drawable-hdpi/ic_launcher.png b/testapps/userLibTest/res/drawable-hdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..8074c4c57 --- /dev/null +++ b/testapps/userLibTest/res/drawable-hdpi/ic_launcher.png diff --git a/testapps/userLibTest/res/drawable-ldpi/ic_launcher.png b/testapps/userLibTest/res/drawable-ldpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..1095584ec --- /dev/null +++ b/testapps/userLibTest/res/drawable-ldpi/ic_launcher.png diff --git a/testapps/userLibTest/res/drawable-mdpi/ic_launcher.png b/testapps/userLibTest/res/drawable-mdpi/ic_launcher.png Binary files differnew file mode 100644 index 000000000..a07c69fa5 --- /dev/null +++ b/testapps/userLibTest/res/drawable-mdpi/ic_launcher.png diff --git a/testapps/userLibTest/res/layout/main.xml b/testapps/userLibTest/res/layout/main.xml new file mode 100644 index 000000000..3e65644f0 --- /dev/null +++ b/testapps/userLibTest/res/layout/main.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" > + + <TextView + android:id="@+id/basicJar" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:text="\\?" + tools:ignore="HardcodedText" /> + +</LinearLayout>
\ No newline at end of file diff --git a/testapps/userLibTest/res/values/strings.xml b/testapps/userLibTest/res/values/strings.xml new file mode 100644 index 000000000..549e4ea50 --- /dev/null +++ b/testapps/userLibTest/res/values/strings.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string name="app_name">Main</string> +</resources> diff --git a/testapps/userLibTest/src/com/android/tests/userlibtest/Main.java b/testapps/userLibTest/src/com/android/tests/userlibtest/Main.java new file mode 100644 index 000000000..b2f1be3c2 --- /dev/null +++ b/testapps/userLibTest/src/com/android/tests/userlibtest/Main.java @@ -0,0 +1,19 @@ +package com.android.tests.userlibtest; + +import android.app.Activity; +import android.os.Bundle; +import android.widget.TextView; + +import com.android.tests.basicjar.BasicJar; + +public class Main extends Activity { + /** Called when the activity is first created. */ + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + + TextView tv = (TextView) findViewById(R.id.basicJar); + tv.setText("BasicJar: " + BasicJar.getContent()); + } +} |