├── .gitignore
├── ActivityDeveloper
├── .classpath
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── AndroidManifest.xml
├── proguard-project.txt
├── project.properties
├── res
│ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ └── values
│ │ └── strings.xml
└── src
│ └── com
│ └── dianping
│ └── example
│ └── activity
│ └── SampleActivity.java
├── ActivityLoader
├── .classpath
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── AndroidManifest.xml
├── assets
│ └── apks
│ │ ├── ActivityDeveloper_1.apk
│ │ └── ActivityDeveloper_2.apk
├── proguard-project.txt
├── project.properties
├── res
│ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ └── values
│ │ └── strings.xml
└── src
│ └── com
│ └── dianping
│ └── example
│ ├── activity
│ └── SampleActivity.java
│ └── activityloader
│ ├── ActivityLoader.java
│ ├── MyApplication.java
│ └── Smith.java
├── FragmentDeveloper
├── .classpath
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── AndroidManifest.xml
├── proguard-project.txt
├── project.properties
├── res
│ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ ├── drawable
│ │ ├── bucket_icon_icloud.png
│ │ └── ic_launcher.png
│ ├── layout
│ │ └── sample_fragment.xml
│ └── values
│ │ └── strings.xml
└── src
│ └── com
│ └── dianping
│ └── example
│ ├── fragment
│ ├── DatabaseHelper.java
│ └── SampleFragment.java
│ └── fragmentdeveloper
│ └── FragmentDeveloper.java
├── FragmentLoader
├── .classpath
├── .project
├── .settings
│ └── org.eclipse.jdt.core.prefs
├── AndroidManifest.xml
├── assets
│ └── apks
│ │ ├── FragmentDeveloper_1.apk
│ │ ├── FragmentDeveloper_2.apk
│ │ ├── com.dianping.example.fragmentdeveloper.FragmentDeveloper.apk
│ │ ├── test.apk
│ │ └── test2.apk
├── proguard-project.txt
├── project.properties
├── res
│ ├── drawable-hdpi
│ │ └── ic_launcher.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ └── values
│ │ └── strings.xml
└── src
│ └── com
│ └── dianping
│ └── example
│ └── fragmentloader
│ ├── FragmentLoader.java
│ ├── ListApkFragment.java
│ └── MyApplication.java
├── MIT-LICENSE.txt
├── README.md
├── plframework
├── .classpath
├── .project
├── AndroidManifest.xml
├── assets
│ └── apks
│ │ └── pluginActivity.apk
├── ic_launcher-web.png
├── libs
│ └── android-support-v4.jar
├── proguard-project.txt
├── project.properties
├── res
│ ├── drawable-hdpi
│ │ ├── ic_launcher.png
│ │ └── othercontact_icon.png
│ ├── drawable-mdpi
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ │ └── ic_launcher.png
│ ├── layout
│ │ ├── activity_main.xml
│ │ └── msg_item.xml
│ ├── menu
│ │ └── main.xml
│ ├── values-sw600dp
│ │ └── dimens.xml
│ ├── values-sw720dp-land
│ │ └── dimens.xml
│ ├── values-v11
│ │ └── styles.xml
│ ├── values-v14
│ │ └── styles.xml
│ └── values
│ │ ├── color.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
└── src
│ └── com
│ └── example
│ └── plframework
│ ├── Config.java
│ ├── ExtPoint
│ ├── ExtPointInvocationHandler.java
│ └── MessageExtPointInterace.java
│ ├── MainActivity.java
│ ├── MyApplication.java
│ ├── Smith.java
│ └── stub
│ ├── SampleActivity.java
│ └── stubActivity.java
└── pluginActivity
├── .classpath
├── .project
├── AndroidManifest.xml
├── ic_launcher-web.png
├── libs
└── android-support-v4.jar
├── proguard-project.txt
├── project.properties
├── res
├── drawable-hdpi
│ └── ic_launcher.png
├── drawable-mdpi
│ └── ic_launcher.png
├── drawable-xhdpi
│ └── ic_launcher.png
├── drawable-xxhdpi
│ └── ic_launcher.png
├── drawable
│ └── ios.png
├── layout
│ └── activity_main.xml
├── menu
│ └── main.xml
├── values-sw600dp
│ └── dimens.xml
├── values-sw720dp-land
│ └── dimens.xml
├── values-v11
│ └── styles.xml
├── values-v14
│ └── styles.xml
└── values
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
└── src
└── com
└── example
└── plframework
├── ExtPoint
└── MessageExtPointInterace.java
└── stub
├── BaseStubActivity.java
├── Config.java
├── SampleActivity.java
└── stubActivity.java
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | bin/
3 | gen/
4 |
--------------------------------------------------------------------------------
/ActivityDeveloper/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ActivityDeveloper/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | ActivityDeveloper
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/ActivityDeveloper/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | #Fri Jul 27 00:59:18 CST 2012
2 | eclipse.preferences.version=1
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
4 | org.eclipse.jdt.core.compiler.compliance=1.5
5 | org.eclipse.jdt.core.compiler.source=1.5
6 |
--------------------------------------------------------------------------------
/ActivityDeveloper/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
10 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/ActivityDeveloper/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/ActivityDeveloper/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-8
15 |
--------------------------------------------------------------------------------
/ActivityDeveloper/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/simpleton/AndroidDynamicLoader/41f23f1ccb519786b7aa09890216b1c208748c81/ActivityDeveloper/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ActivityDeveloper/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/simpleton/AndroidDynamicLoader/41f23f1ccb519786b7aa09890216b1c208748c81/ActivityDeveloper/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ActivityDeveloper/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/simpleton/AndroidDynamicLoader/41f23f1ccb519786b7aa09890216b1c208748c81/ActivityDeveloper/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ActivityDeveloper/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ActivityDeveloper
3 |
4 |
--------------------------------------------------------------------------------
/ActivityDeveloper/src/com/dianping/example/activity/SampleActivity.java:
--------------------------------------------------------------------------------
1 | package com.dianping.example.activity;
2 |
3 | import android.app.Activity;
4 | import android.os.Bundle;
5 | import android.view.ViewGroup;
6 | import android.widget.TextView;
7 |
8 | public class SampleActivity extends Activity {
9 | TextView text;
10 |
11 | @Override
12 | protected void onCreate(Bundle savedInstanceState) {
13 | super.onCreate(savedInstanceState);
14 | text = new TextView(this);
15 | text.setLayoutParams(new ViewGroup.LayoutParams(
16 | ViewGroup.LayoutParams.FILL_PARENT,
17 | ViewGroup.LayoutParams.FILL_PARENT));
18 | setContentView(text);
19 |
20 | text.setText("You can change this activity and generate the unsigned apk file to ActivityLoader/assets/apks. The SampleActivity will be replaced.");
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/ActivityLoader/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ActivityLoader/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | ActivityLoader
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/ActivityLoader/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | #Thu Jul 26 23:58:04 CST 2012
2 | eclipse.preferences.version=1
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
4 | org.eclipse.jdt.core.compiler.compliance=1.5
5 | org.eclipse.jdt.core.compiler.source=1.5
6 |
--------------------------------------------------------------------------------
/ActivityLoader/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
12 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/ActivityLoader/assets/apks/ActivityDeveloper_1.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/simpleton/AndroidDynamicLoader/41f23f1ccb519786b7aa09890216b1c208748c81/ActivityLoader/assets/apks/ActivityDeveloper_1.apk
--------------------------------------------------------------------------------
/ActivityLoader/assets/apks/ActivityDeveloper_2.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/simpleton/AndroidDynamicLoader/41f23f1ccb519786b7aa09890216b1c208748c81/ActivityLoader/assets/apks/ActivityDeveloper_2.apk
--------------------------------------------------------------------------------
/ActivityLoader/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/ActivityLoader/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-8
15 |
--------------------------------------------------------------------------------
/ActivityLoader/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/simpleton/AndroidDynamicLoader/41f23f1ccb519786b7aa09890216b1c208748c81/ActivityLoader/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ActivityLoader/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/simpleton/AndroidDynamicLoader/41f23f1ccb519786b7aa09890216b1c208748c81/ActivityLoader/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ActivityLoader/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/simpleton/AndroidDynamicLoader/41f23f1ccb519786b7aa09890216b1c208748c81/ActivityLoader/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ActivityLoader/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | ActivityLoader
3 |
4 |
--------------------------------------------------------------------------------
/ActivityLoader/src/com/dianping/example/activity/SampleActivity.java:
--------------------------------------------------------------------------------
1 | package com.dianping.example.activity;
2 |
3 | import android.app.Activity;
4 | import android.os.Bundle;
5 | import android.view.ViewGroup;
6 | import android.widget.TextView;
7 |
8 | public class SampleActivity extends Activity {
9 | TextView text;
10 |
11 | @Override
12 | protected void onCreate(Bundle savedInstanceState) {
13 | super.onCreate(savedInstanceState);
14 | text = new TextView(this);
15 | text.setLayoutParams(new ViewGroup.LayoutParams(
16 | ViewGroup.LayoutParams.FILL_PARENT,
17 | ViewGroup.LayoutParams.FILL_PARENT));
18 | setContentView(text);
19 |
20 | text.setText("This is SampleActivity");
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/ActivityLoader/src/com/dianping/example/activityloader/ActivityLoader.java:
--------------------------------------------------------------------------------
1 | package com.dianping.example.activityloader;
2 |
3 | import java.io.File;
4 | import java.io.FileOutputStream;
5 | import java.io.InputStream;
6 | import java.util.ArrayList;
7 | import java.util.HashMap;
8 | import java.util.List;
9 | import java.util.Map;
10 |
11 | import android.app.ListActivity;
12 | import android.content.Context;
13 | import android.content.Intent;
14 | import android.content.res.AssetManager;
15 | import android.os.Bundle;
16 | import android.view.View;
17 | import android.widget.ListView;
18 | import android.widget.SimpleAdapter;
19 | import android.widget.Toast;
20 | import dalvik.system.DexClassLoader;
21 |
22 | public class ActivityLoader extends ListActivity {
23 | private List