diff options
Diffstat (limited to 'testapps')
24 files changed, 402 insertions, 2 deletions
diff --git a/testapps/basicJar/build.xml b/testapps/basicJar/build.xml new file mode 100644 index 0000000..178e6b0 --- /dev/null +++ b/testapps/basicJar/build.xml @@ -0,0 +1,10 @@ +<?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" debug="true" extdirs="" + srcdir="src" destdir="${basedir}/bin/classes" /> + <jar basedir="${basedir}/bin/classes" destfile="${basedir}/bin/${ant.project.name}.jar" /> + </target> +</project>
\ No newline at end of file diff --git a/testapps/basicJar/src/com/android/tests/basicjar/Foo.java b/testapps/basicJar/src/com/android/tests/basicjar/Foo.java new file mode 100644 index 0000000..6a9536f --- /dev/null +++ b/testapps/basicJar/src/com/android/tests/basicjar/Foo.java @@ -0,0 +1,16 @@ +package com.android.tests.basicjar; + +import java.util.Random; + +public class Foo { + public static int FOO = 42; + + public int getFoo() { + return FOO; + } + + public int getRandomFoo() { + Random r = new Random(System.currentTimeMillis()); + return r.nextInt(FOO); + } +}
\ No newline at end of file diff --git a/testapps/basicLibWithJar/AndroidManifest.xml b/testapps/basicLibWithJar/AndroidManifest.xml new file mode 100644 index 0000000..c8650f8 --- /dev/null +++ b/testapps/basicLibWithJar/AndroidManifest.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.basiclibwithjar" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name" android:icon="@drawable/icon"> + <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> + <uses-sdk android:minSdkVersion="AOSP" /> +</manifest> diff --git a/testapps/basicLibWithJar/build.properties b/testapps/basicLibWithJar/build.properties new file mode 100644 index 0000000..ee52d86 --- /dev/null +++ b/testapps/basicLibWithJar/build.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/basicLibWithJar/build.xml b/testapps/basicLibWithJar/build.xml new file mode 100644 index 0000000..ea34e33 --- /dev/null +++ b/testapps/basicLibWithJar/build.xml @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicLib" 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 build.properties file can be created by you and is never touched + by the 'android' tool. This is the place to change some of the + default property values used by the Ant rules. + 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'. + + 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="build.properties" /> + + <!-- The default.properties file is created and updated by the 'android' + tool, as well as ADT. + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <property file="default.properties" /> + + <!-- Custom Android task to deal with the project target, and import the + proper rules. + This requires ant 1.6.0 or above. --> + <path id="android.antlibs"> + <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" /> + <pathelement path="${sdk.dir}/tools/lib/sdklib.jar" /> + <pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" /> + </path> + + <taskdef name="setup" + classname="com.android.ant.SetupTask" + classpathref="android.antlibs" /> + +<!-- 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> +--> + + + <!-- Execute the Android Setup task that will setup some properties + specific to the target, and import the build rules files. + + The rules file is imported from + <SDK>/platforms/<target_platform>/ant/ant_rules_r#.xml + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <setup> task. + - customize it to your needs. + - Customize the whole script. + - copy/paste the content of the rules files (minus the top node) + into this file, *after* the <setup> task + - disable the import of the rules by changing the setup task + below to <setup import="false" />. + - customize to your needs. + --> + <setup /> + +</project> diff --git a/testapps/basicLibWithJar/default.properties b/testapps/basicLibWithJar/default.properties new file mode 100644 index 0000000..beef685 --- /dev/null +++ b/testapps/basicLibWithJar/default.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 +android.library=true diff --git a/testapps/basicLibWithJar/libs/basicJar.jar b/testapps/basicLibWithJar/libs/basicJar.jar Binary files differnew file mode 100644 index 0000000..8169064 --- /dev/null +++ b/testapps/basicLibWithJar/libs/basicJar.jar diff --git a/testapps/basicLibWithJar/res/drawable/icon.png b/testapps/basicLibWithJar/res/drawable/icon.png Binary files differnew file mode 100644 index 0000000..a07c69f --- /dev/null +++ b/testapps/basicLibWithJar/res/drawable/icon.png diff --git a/testapps/basicLibWithJar/res/layout/main.xml b/testapps/basicLibWithJar/res/layout/main.xml new file mode 100644 index 0000000..b79cddb --- /dev/null +++ b/testapps/basicLibWithJar/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/basicLibWithJar/res/values/strings.xml b/testapps/basicLibWithJar/res/values/strings.xml new file mode 100644 index 0000000..549e4ea --- /dev/null +++ b/testapps/basicLibWithJar/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/basicLibWithJar/src/com/android/tests/basiclibwithjar/Main.java b/testapps/basicLibWithJar/src/com/android/tests/basiclibwithjar/Main.java new file mode 100644 index 0000000..f973cc2 --- /dev/null +++ b/testapps/basicLibWithJar/src/com/android/tests/basiclibwithjar/Main.java @@ -0,0 +1,21 @@ +package com.android.tests.basiclibwithjar; + +import com.android.tests.basicjar.Foo; + +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); + + Foo foo = new Foo(); + int a = foo.getRandomFoo(); + + } +} diff --git a/testapps/basicProject/default.properties b/testapps/basicProject/default.properties index 8ee25b8..6bd3afc 100644 --- a/testapps/basicProject/default.properties +++ b/testapps/basicProject/default.properties @@ -9,3 +9,4 @@ # Project target. target=android-AOSP +proguard.config=../proguard.config
\ No newline at end of file diff --git a/testapps/basicProjectWithJar/AndroidManifest.xml b/testapps/basicProjectWithJar/AndroidManifest.xml new file mode 100644 index 0000000..1a2b54c --- /dev/null +++ b/testapps/basicProjectWithJar/AndroidManifest.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tests.basicprojectwithjar" + android:versionCode="1" + android:versionName="1.0"> + <application android:label="@string/app_name" android:icon="@drawable/icon"> + <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> + <uses-sdk android:minSdkVersion="AOSP" /> +</manifest> diff --git a/testapps/basicProjectWithJar/build.properties b/testapps/basicProjectWithJar/build.properties new file mode 100644 index 0000000..ee52d86 --- /dev/null +++ b/testapps/basicProjectWithJar/build.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/basicProjectWithJar/build.xml b/testapps/basicProjectWithJar/build.xml new file mode 100644 index 0000000..3503448 --- /dev/null +++ b/testapps/basicProjectWithJar/build.xml @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="basicProjectWithJar" 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 build.properties file can be created by you and is never touched + by the 'android' tool. This is the place to change some of the + default property values used by the Ant rules. + 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'. + + 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="build.properties" /> + + <!-- The default.properties file is created and updated by the 'android' + tool, as well as ADT. + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <property file="default.properties" /> + + <!-- Custom Android task to deal with the project target, and import the + proper rules. + This requires ant 1.6.0 or above. --> + <path id="android.antlibs"> + <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" /> + <pathelement path="${sdk.dir}/tools/lib/sdklib.jar" /> + <pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" /> + </path> + + <taskdef name="setup" + classname="com.android.ant.SetupTask" + classpathref="android.antlibs" /> + +<!-- 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> +--> + + + <!-- Execute the Android Setup task that will setup some properties + specific to the target, and import the build rules files. + + The rules file is imported from + <SDK>/platforms/<target_platform>/ant/ant_rules_r#.xml + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <setup> task. + - customize it to your needs. + - Customize the whole script. + - copy/paste the content of the rules files (minus the top node) + into this file, *after* the <setup> task + - disable the import of the rules by changing the setup task + below to <setup import="false" />. + - customize to your needs. + --> + <setup /> + +</project> diff --git a/testapps/basicProjectWithJar/default.properties b/testapps/basicProjectWithJar/default.properties new file mode 100644 index 0000000..38db660 --- /dev/null +++ b/testapps/basicProjectWithJar/default.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/basicProjectWithJar/libs/basicJar.jar b/testapps/basicProjectWithJar/libs/basicJar.jar Binary files differnew file mode 100644 index 0000000..8169064 --- /dev/null +++ b/testapps/basicProjectWithJar/libs/basicJar.jar diff --git a/testapps/basicProjectWithJar/res/drawable/icon.png b/testapps/basicProjectWithJar/res/drawable/icon.png Binary files differnew file mode 100644 index 0000000..a07c69f --- /dev/null +++ b/testapps/basicProjectWithJar/res/drawable/icon.png diff --git a/testapps/basicProjectWithJar/res/layout/main.xml b/testapps/basicProjectWithJar/res/layout/main.xml new file mode 100644 index 0000000..b79cddb --- /dev/null +++ b/testapps/basicProjectWithJar/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/basicProjectWithJar/res/values/strings.xml b/testapps/basicProjectWithJar/res/values/strings.xml new file mode 100644 index 0000000..549e4ea --- /dev/null +++ b/testapps/basicProjectWithJar/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/basicProjectWithJar/src/com/android/tests/basicprojectwithjar/Main.java b/testapps/basicProjectWithJar/src/com/android/tests/basicprojectwithjar/Main.java new file mode 100644 index 0000000..fdcc019 --- /dev/null +++ b/testapps/basicProjectWithJar/src/com/android/tests/basicprojectwithjar/Main.java @@ -0,0 +1,20 @@ +package com.android.tests.basicprojectwithjar; + +import com.android.tests.basicjar.Foo; + +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); + + Foo foo = new Foo(); + int a = foo.getRandomFoo(); + } +} diff --git a/testapps/basicProjectWithLib/AndroidManifest.xml b/testapps/basicProjectWithLib/AndroidManifest.xml index fe394f2..052d387 100644 --- a/testapps/basicProjectWithLib/AndroidManifest.xml +++ b/testapps/basicProjectWithLib/AndroidManifest.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.tests.basicProjectWithLib" + package="com.android.tests.basicprojectwithlib" android:versionCode="1" android:versionName="1.0"> <application android:label="@string/app_name" android:icon="@drawable/icon"> @@ -11,6 +11,13 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + <activity android:name="com.android.tests.basiclibwithjar.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/basicProjectWithLib/default.properties b/testapps/basicProjectWithLib/default.properties index eb80ff8..60423bf 100644 --- a/testapps/basicProjectWithLib/default.properties +++ b/testapps/basicProjectWithLib/default.properties @@ -9,4 +9,6 @@ # Project target. target=android-AOSP -android.library.reference.1=../basicLib
\ No newline at end of file +proguard.config=../proguard.config +android.library.reference.1=../basicLib +android.library.reference.2=../basicLibWithJar
\ No newline at end of file diff --git a/testapps/proguard.config b/testapps/proguard.config new file mode 100644 index 0000000..b9dab40 --- /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); +} + |