8 | * * RePlugin.registerGlobalBinderDelayed
9 | *
10 | * @author RePlugin Team
11 | */
12 | interface IBinderGetter {
13 |
14 | /**
15 | * 获取IBinder对象
16 | */
17 | IBinder get();
18 | }
19 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/aidl/com/qihoo360/replugin/component/service/server/IPluginServiceServer.aidl:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.component.service.server;
2 |
3 | import android.content.ComponentName;
4 | import android.os.Messenger;
5 |
6 | import com.qihoo360.loader2.mgr.IServiceConnection;
7 |
8 | /**
9 | * 负责Server端的服务调度、提供等工作,是服务的提供方,核心类之一
10 | *
11 | * @hide 框架内部使用
12 | * @author RePlugin Team
13 | */
14 | interface IPluginServiceServer {
15 | ComponentName startService(in Intent intent, in Messenger client);
16 | int stopService(in Intent intent, in Messenger client);
17 |
18 | int bindService(in Intent intent, in IServiceConnection conn, int flags, in Messenger client);
19 | boolean unbindService(in IServiceConnection conn);
20 |
21 | String dump();
22 | }
--------------------------------------------------------------------------------
/replugin-host-library/src/main/aidl/com/qihoo360/replugin/model/PluginInfo.aidl:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.model;
2 |
3 | parcelable PluginInfo;
--------------------------------------------------------------------------------
/replugin-host-library/src/main/aidl/com/qihoo360/replugin/packages/PluginRunningList.aidl:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.packages;
2 |
3 | parcelable PluginRunningList;
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/i/IModule.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.i;
18 |
19 | /**
20 | * 所有可查询的接口都从此interface继承
21 | * 在插件体系中,module是一种略高于interface的概念
22 | * 一个插件可导出一个到多个module,这些module可输出自己业务的各种interface
23 | *
24 | * @author RePlugin Team
25 | *
26 | */
27 | public interface IModule {
28 |
29 | /**
30 | * 万能接口:当不能升级adapter.jar的时候再考虑使用
31 | * @param args
32 | * @return
33 | */
34 | Object invoke(Object...args);
35 | }
36 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/i/IPlugin.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.i;
18 |
19 |
20 | /**
21 | * 此接口由插件负责导出
22 | * 表示一个具体的物理上的插件实体,例如barcode.jar
23 | * 具体导出细节可看Factory
24 | *
25 | * @author RePlugin Team
26 | *
27 | */
28 | public interface IPlugin {
29 |
30 | /**
31 | * @param c 需要查询的interface的类
32 | * @return
33 | */
34 | IModule query(Class extends IModule> c);
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/loader2/ProcessStates.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.loader2;
18 |
19 | /**
20 | * 保存自定义进程中,每个进程里的坑位信息
21 | *
22 | * @author RePlugin Team
23 | */
24 |
25 | class ProcessStates {
26 |
27 | /**
28 | * 保存非默认 TaskAffinity 下,坑位的状态信息。
29 | */
30 | TaskAffinityStates mTaskAffinityStates = new TaskAffinityStates();
31 |
32 | /**
33 | * 保存默认 TaskAffinity 下,坑位的状态信息。
34 | */
35 | LaunchModeStates mLaunchModeStates = new LaunchModeStates();
36 | }
37 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/mobilesafe/api/AppVar.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.mobilesafe.api;
18 |
19 | import android.content.Context;
20 |
21 | /**
22 | * @author RePlugin Team
23 | */
24 | public class AppVar {
25 |
26 | /**
27 | * API模块内部使用,记得初始化
28 | */
29 | public static Context sAppContext;
30 | }
31 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/mobilesafe/loader/s/DummyService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.mobilesafe.loader.s;
18 |
19 | import android.app.Service;
20 | import android.content.Intent;
21 | import android.os.IBinder;
22 |
23 | /**
24 | * @author RePlugin Team
25 | */
26 | public class DummyService extends Service {
27 |
28 | @Override
29 | public IBinder onBind(Intent intent) {
30 | return null;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/mobilesafe/parser/manifest/bean/ComponentBean.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.mobilesafe.parser.manifest.bean;
18 |
19 | import android.content.IntentFilter;
20 |
21 | import java.util.List;
22 |
23 | /**
24 | * @author RePlugin Team
25 | */
26 | public class ComponentBean {
27 |
28 | public String name;
29 | public List intentFilters;
30 |
31 | @Override
32 | public String toString() {
33 | return String.format("{name:%s, intent-filter.size():%s}", name, intentFilters.size());
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/DefaultRePluginCallbacks.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin;
2 |
3 | import android.content.Context;
4 |
5 | /**
6 | * @deprecated Use RePluginCallbacks instead
7 | * @see RePluginCallbacks
8 | * @author RePlugin Team
9 | */
10 |
11 | public class DefaultRePluginCallbacks extends RePluginCallbacks {
12 |
13 | /**
14 | * @deprecated Use RePluginCallbacks instead
15 | * @see RePluginCallbacks#RePluginCallbacks(Context)
16 | */
17 | public DefaultRePluginCallbacks(Context context) {
18 | super(context);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/DefaultRePluginEventCallbacks.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin;
2 |
3 | import android.content.Context;
4 |
5 | /**
6 | * @deprecated Use RePluginEventCallbacks instead
7 | * @see RePluginEventCallbacks
8 | * @author RePlugin Team
9 | */
10 |
11 | public class DefaultRePluginEventCallbacks extends RePluginEventCallbacks {
12 |
13 | /**
14 | * @deprecated Use RePluginEventCallbacks instead
15 | * @see RePluginEventCallbacks#RePluginEventCallbacks(Context)
16 | */
17 | public DefaultRePluginEventCallbacks(Context context) {
18 | super(context);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/IHostBinderFetcher.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin;
18 |
19 | import android.os.IBinder;
20 |
21 | /**
22 | * 用来实现主程序提供IBinder给其他插件
23 | *
26 | * TODO 未来会废弃Factory类,并做些调整
27 | *
28 | * @author RePlugin Team
29 | */
30 | public interface IHostBinderFetcher {
31 |
32 | /**
33 | * 主程序需实现此方法,来返回一个IBinder对象,供插件使用
34 | *
35 | * @param module 模块名
36 | * @return 一个IBinder对象
37 | */
38 | IBinder query(String module);
39 | }
40 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/compat/LocalBroadcastManager.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.compat;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 | import android.content.IntentFilter;
7 |
8 | /**
9 | * LocalBroadcastManager 兼容层
10 | *
11 | * @author LQR
12 | * @since 2021/12/8
13 | */
14 | public abstract class LocalBroadcastManager {
15 |
16 | public static LocalBroadcastManager getInstance(Context context) {
17 | if (CompatConfig.DEPENDENCY_ANDROIDX) {
18 | return new LocalBroadcastManagerAndroidX(context);
19 | } else if (CompatConfig.DEPENDENCY_SUPPORT) {
20 | return new LocalBroadcastManagerSupport(context);
21 | }
22 | return null;
23 | }
24 |
25 | public abstract void registerReceiver(BroadcastReceiver receiver, IntentFilter filter);
26 |
27 | public abstract void unregisterReceiver(BroadcastReceiver receiver);
28 |
29 | public abstract boolean sendBroadcast(Intent intent);
30 |
31 | public abstract void sendBroadcastSync(Intent intent);
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/compat/LocalBroadcastManagerSupport.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.compat;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 | import android.content.IntentFilter;
7 |
8 | /**
9 | * AndroidSupport 的 LocalBroadcastManager
10 | *
11 | * @author LQR
12 | * @since 2021/12/8
13 | */
14 | public class LocalBroadcastManagerSupport extends LocalBroadcastManager {
15 |
16 | private final android.support.v4.content.LocalBroadcastManager localBroadcastManager;
17 |
18 | public LocalBroadcastManagerSupport(Context context) {
19 | localBroadcastManager = android.support.v4.content.LocalBroadcastManager.getInstance(context);
20 | }
21 |
22 | @Override
23 | public void registerReceiver(BroadcastReceiver receiver, IntentFilter filter) {
24 | localBroadcastManager.registerReceiver(receiver, filter);
25 | }
26 |
27 | @Override
28 | public void unregisterReceiver(BroadcastReceiver receiver) {
29 | localBroadcastManager.unregisterReceiver(receiver);
30 | }
31 |
32 | @Override
33 | public boolean sendBroadcast(Intent intent) {
34 | return localBroadcastManager.sendBroadcast(intent);
35 | }
36 |
37 | @Override
38 | public void sendBroadcastSync(Intent intent) {
39 | localBroadcastManager.sendBroadcastSync(intent);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/process/ProcessPitProviderLoader0.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.process;
18 |
19 | /**
20 | * @author RePlugin Team
21 | */
22 | public class ProcessPitProviderLoader0 extends ProcessPitProviderBase {
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/process/ProcessPitProviderLoader1.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.process;
18 |
19 | /**
20 | * @author RePlugin Team
21 | */
22 | public class ProcessPitProviderLoader1 extends ProcessPitProviderBase {
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/process/ProcessPitProviderP0.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.process;
18 |
19 | /**
20 | * @author RePlugin Team
21 | */
22 | public class ProcessPitProviderP0 extends ProcessPitProviderBase {
23 | }
24 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/process/ProcessPitProviderP1.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.process;
18 |
19 | /**
20 | * @author RePlugin Team
21 | */
22 | public class ProcessPitProviderP1 extends ProcessPitProviderBase {
23 | }
24 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/process/ProcessPitProviderP2.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.process;
18 |
19 | /**
20 | * @author RePlugin Team
21 | */
22 | public class ProcessPitProviderP2 extends ProcessPitProviderBase {
23 | }
24 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/process/ProcessPitProviderUI.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.process;
18 |
19 | /**
20 | * @author RePlugin Team
21 | */
22 | public class ProcessPitProviderUI extends ProcessPitProviderBase {
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/provider/PluginPitProviderP0.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.provider;
18 |
19 | /**
20 | * ProcessPitProviderLoader0
21 | *
22 | * @author RePlugin Team
23 | */
24 | public class PluginPitProviderP0 extends PluginPitProviderBase {
25 | public static final String AUTHORITY = AUTHORITY_PREFIX + "0";
26 |
27 | public PluginPitProviderP0() {
28 | super(AUTHORITY);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/provider/PluginPitProviderP1.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.provider;
18 |
19 | /**
20 | * ProcessPitProviderLoader1
21 | *
22 | * @author RePlugin Team
23 | */
24 | public class PluginPitProviderP1 extends PluginPitProviderBase {
25 | public static final String AUTHORITY = AUTHORITY_PREFIX + "1";
26 |
27 | public PluginPitProviderP1() {
28 | super(AUTHORITY);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/provider/PluginPitProviderP2.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.provider;
18 |
19 | /**
20 | * ProcessProviderLoader2
21 | *
22 | * @author RePlugin Team
23 | */
24 | public class PluginPitProviderP2 extends PluginPitProviderBase {
25 | public static final String AUTHORITY = AUTHORITY_PREFIX + "2";
26 |
27 | public PluginPitProviderP2() {
28 | super(AUTHORITY);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/provider/PluginPitProviderPersist.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.provider;
18 |
19 | /**
20 | * @author RePlugin Team
21 | */
22 | public class PluginPitProviderPersist extends PluginPitProviderBase {
23 | public static final String AUTHORITY = AUTHORITY_PREFIX + "PSP";
24 |
25 | public PluginPitProviderPersist() {
26 | super(AUTHORITY);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/replugin-host-library/src/main/java/com/qihoo360/replugin/component/provider/PluginPitProviderUI.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.component.provider;
18 |
19 | /**
20 | * @author RePlugin Team
21 | */
22 | public class PluginPitProviderUI extends PluginPitProviderBase {
23 | public static final String AUTHORITY = AUTHORITY_PREFIX + "UIP";
24 |
25 | public PluginPitProviderUI() {
26 | super(AUTHORITY);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/replugin-plugin-gradle/README.md:
--------------------------------------------------------------------------------
1 | # RePlugin Plugin Gradle
2 |
3 | RePlugin Plugin Gradle是一个Gradle插件,由 **插件** 负责引入。
4 |
5 | 该Gradle插件主要负责在插件的编译期中做一些事情,是“动态编译方案”的主要实现者。此外,开发者可通过修改其属性而做一些自定义的操作。
6 |
7 | 大致包括:
8 |
9 | * 动态修改主要调用代码,改为调用RePlugin Plugin Gradle(如Activity的继承、Provider的重定向等)
10 |
11 | 开发者需要依赖此Gradle插件,以实现对RePlugin的接入。请参见WiKi以了解接入方法。
12 |
13 | 有关RePlugin Host Gradle的详细描述,请访问我们的WiKi,以了解更多的内容。
14 | (文档正在完善,请耐心等待)
--------------------------------------------------------------------------------
/replugin-plugin-gradle/config.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | *
16 | */
17 |
18 | ext {
19 | config = this.&readConfig()
20 | }
21 |
22 | def readConfig() {
23 | Properties configProperties = new Properties()
24 | file('config.properties').withInputStream {
25 | configProperties.load(it)
26 | }
27 | configProperties
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/replugin-plugin-gradle/config.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | #
4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | # use this file except in compliance with the License. You may obtain a copy of
6 | # the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed To in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | # License for the specific language governing permissions and limitations under
14 | # the License.
15 | #
16 | #
17 |
18 | repoUrl =
19 |
20 | groupId = com.qihoo360.replugin
21 | artifactId = replugin-plugin-gradle
22 |
23 | # --- android config ---
24 | compileSdkVersion = 21
25 | buildToolsVersion = 23.0.3
26 | minSdkVersion = 10
27 | targetSdkVersion = 21
28 |
29 | # --- user info ---
30 | # 注意:1、仅研发一组同事能修改此URL;
31 | # 2、切勿去除,以免误上传到Maven中心库,引发代码泄露危机。
32 | username =
33 | password =
34 |
35 |
--------------------------------------------------------------------------------
/replugin-plugin-gradle/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-plugin-gradle/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/replugin-plugin-gradle/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | #
4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | # use this file except in compliance with the License. You may obtain a copy of
6 | # the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed To in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | # License for the specific language governing permissions and limitations under
14 | # the License.
15 | #
16 | #
17 |
18 | #Mon Dec 28 10:00:20 PST 2015
19 | distributionBase=GRADLE_USER_HOME
20 | distributionPath=wrapper/dists
21 | zipStoreBase=GRADLE_USER_HOME
22 | zipStorePath=wrapper/dists
23 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
24 |
--------------------------------------------------------------------------------
/replugin-plugin-gradle/src/main/groovy/com/qihoo360/replugin/gradle/plugin/injector/BaseInjector.groovy:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | *
16 | */
17 |
18 | package com.qihoo360.replugin.gradle.plugin.injector
19 |
20 | import org.gradle.api.Project
21 |
22 | /**
23 | * @author RePlugin Team
24 | */
25 | public abstract class BaseInjector implements IClassInjector {
26 |
27 | protected Project project
28 |
29 | protected String variantDir
30 |
31 | @Override
32 | public Object name() {
33 | return getClass().getSimpleName()
34 | }
35 |
36 | public void setProject(Project project) {
37 | this.project = project;
38 | }
39 |
40 | public void setVariantDir(String variantDir) {
41 | this.variantDir = variantDir;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/replugin-plugin-gradle/src/main/groovy/com/qihoo360/replugin/gradle/plugin/manifest/IManifest.groovy:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | *
16 | */
17 |
18 | package com.qihoo360.replugin.gradle.plugin.manifest;
19 |
20 | /**
21 | * @author RePlugin Team
22 | */
23 | public interface IManifest {
24 |
25 | /**
26 | * 获取 AndroidManifest 中声明的所有 Activity
27 | */
28 | List getActivities()
29 |
30 | /**
31 | * 应用程序包名
32 | */
33 | String getPackageName()
34 | }
35 |
--------------------------------------------------------------------------------
/replugin-plugin-gradle/src/main/groovy/com/qihoo360/replugin/gradle/plugin/util/FileUtil.groovy:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.gradle.plugin.util;
2 |
3 | /**
4 | * 文件工具类
5 | * @author LQR*
6 | * @since 2022/9/25
7 | */
8 | class FileUtil {
9 |
10 | /**
11 | * 获取文件夹下所有文件
12 | * @param dir 文件夹
13 | * @param targetList 存放文件的列表
14 | */
15 | static void getFileListDeep(File dir, List targetList) {
16 | def files = dir.listFiles()
17 | for (File file : files) {
18 | if (file.isDirectory()) {
19 | getFileListDeep(file, targetList)
20 | } else {
21 | targetList.add(file)
22 | }
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/replugin-plugin-gradle/src/main/resources/META-INF/gradle-plugins/replugin-plugin-gradle.properties:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | #
4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | # use this file except in compliance with the License. You may obtain a copy of
6 | # the License at
7 | #
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 | #
10 | # Unless required by applicable law or agreed To in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | # License for the specific language governing permissions and limitations under
14 | # the License.
15 | #
16 | #
17 |
18 | implementation-class=com.qihoo360.replugin.gradle.plugin.ReClassPlugin
--------------------------------------------------------------------------------
/replugin-plugin-library/replugin-library-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in ./sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 | -keep class com.qihoo360.replugin.Entry { *; }
27 |
--------------------------------------------------------------------------------
/replugin-plugin-library/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/replugin-plugin-library/src/main/aidl/com/qihoo360/loader2/IPlugin.aidl:
--------------------------------------------------------------------------------
1 | package com.qihoo360.loader2;
2 |
3 | /**
4 | * @author RePlugin Team
5 | */
6 | interface IPlugin {
7 |
8 | IBinder query(String name);
9 | }
10 |
--------------------------------------------------------------------------------
/replugin-plugin-library/src/main/aidl/com/qihoo360/replugin/IBinderGetter.aidl:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin;
2 |
3 | /**
4 | * Binder的获取器,可用于延迟加载IBinder的情况。
5 | *
6 | * 目前用于:
7 | *
8 | * * RePlugin.registerGlobalBinderDelayed
9 | *
10 | * @author RePlugin Team
11 | */
12 | interface IBinderGetter {
13 |
14 | /**
15 | * 获取IBinder对象
16 | */
17 | IBinder get();
18 | }
19 |
--------------------------------------------------------------------------------
/replugin-plugin-library/src/main/java/com/qihoo360/replugin/compat/CompatConfig.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.compat;
2 |
3 | /**
4 | * 兼容层配置
5 | *
6 | * @author LQR
7 | * @since 2021/12/8
8 | */
9 | public final class CompatConfig {
10 |
11 | private static volatile CompatConfig sInstance;
12 |
13 | public static final boolean DEPENDENCY_ANDROIDX;
14 | public static final boolean DEPENDENCY_SUPPORT;
15 |
16 | static {
17 | DEPENDENCY_ANDROIDX = findClassByClassName("androidx.fragment.app.FragmentActivity");
18 | DEPENDENCY_SUPPORT = findClassByClassName("android.support.v4.app.FragmentActivity");
19 | }
20 |
21 | private CompatConfig() {
22 | }
23 |
24 | public static CompatConfig getInstance() {
25 | if (sInstance == null) {
26 | synchronized (CompatConfig.class) {
27 | if (sInstance == null) {
28 | sInstance = new CompatConfig();
29 | }
30 | }
31 | }
32 | return sInstance;
33 | }
34 |
35 | private static boolean findClassByClassName(String className) {
36 | boolean hasDependency;
37 | try {
38 | Class.forName(className);
39 | hasDependency = true;
40 | } catch (ClassNotFoundException e) {
41 | hasDependency = false;
42 | }
43 | return hasDependency;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/replugin-plugin-library/src/main/java/com/qihoo360/replugin/i/IPluginManager.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.i;
18 |
19 |
20 | /**
21 | * 负责插件和插件之间的interface互通,可通过插件Entry得到,也可通过wrapper类Factory直接调用
22 | *
23 | * @author RePlugin Team
24 | */
25 | public interface IPluginManager {
26 |
27 | /**
28 | * 自动分配插件进程
29 | */
30 | int PROCESS_AUTO = Integer.MIN_VALUE;
31 |
32 | /**
33 | * UI进程
34 | */
35 | int PROCESS_UI = -1;
36 |
37 | /**
38 | * 常驻进程
39 | */
40 | int PROCESS_PERSIST = -2;
41 | }
42 |
--------------------------------------------------------------------------------
/replugin-sample-extra/README.md:
--------------------------------------------------------------------------------
1 | # replugin-sample-extra 中是一些更高级的示例
2 |
3 | 其中,replugin-sample-extra/fresco 是对 Fresco 的使用,实现了宿主和插件公用一份Fresco代码。
4 |
5 | FrescoHost是宿主代码,FrescoPlugin是插件代码。
6 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .externalNativeBuild
10 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/libs/armeabi/libimagepipeline.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/libs/armeabi/libimagepipeline.so
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/libs/drawee-modified-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/libs/drawee-modified-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/libs/fbcore-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/libs/fbcore-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/libs/fresco-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/libs/fresco-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/libs/imagepipeline-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/libs/imagepipeline-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/libs/imagepipeline-base-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/libs/imagepipeline-base-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\Android\android-sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/assets/plugins/plugin1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/assets/plugins/plugin1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/layout/activity_host_fresco.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
15 |
16 |
21 |
22 |
27 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | FrescoHost
3 |
4 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | { p, cfg = "rpx-config.gradle" -> if (new File(p, cfg).exists()) apply from: "${p}/${cfg}" else if (p.exists()) call(p.parentFile) }(buildscript.sourceFile.parentFile)
5 | repositories repositoriesExt
6 | dependencies {
7 | classpath classpathExt['android-build-tools']
8 | classpath classpathExt['replugin-host-gradle']
9 | }
10 | }
11 |
12 | allprojects {
13 | repositories repositoriesExt
14 | }
15 |
16 | task clean(type: Delete) {
17 | delete rootProject.buildDir
18 | }
19 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoHost/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jan 05 17:10:53 CST 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | #distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
8 | #distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
9 | #distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
10 | #distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
11 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoHost/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .externalNativeBuild
10 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/libs/armeabi/libimagepipeline.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/libs/armeabi/libimagepipeline.so
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/libs/drawee-modified-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/libs/drawee-modified-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/libs/fbcore-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/libs/fbcore-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/libs/fresco-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/libs/fresco-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/libs/imagepipeline-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/libs/imagepipeline-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/libs/imagepipeline-base-1.7.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/libs/imagepipeline-base-1.7.1.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\Android\android-sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/java/com/qihoo360/replugin/fresco/plugin/PluginApp.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.fresco.plugin;
18 |
19 | import android.app.Application;
20 |
21 | import com.facebook.drawee.backends.pipeline.Fresco;
22 | import com.facebook.fresco.patch.FrescoPatch;
23 |
24 | /**
25 | * @author RePlugin Team
26 | */
27 | public class PluginApp extends Application {
28 |
29 | @Override
30 | public void onCreate() {
31 | super.onCreate();
32 |
33 | Fresco.initialize(this);
34 | FrescoPatch.initialize(this);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
24 |
25 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3C3C3B
4 | #000000
5 | #FF4081
6 |
7 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | FrescoPlugin
3 |
4 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | { p, cfg = "rpx-config.gradle" -> if (new File(p, cfg).exists()) apply from: "${p}/${cfg}" else if (p.exists()) call(p.parentFile) }(buildscript.sourceFile.parentFile)
5 | repositories repositoriesExt
6 | dependencies {
7 | classpath classpathExt['android-build-tools']
8 | classpath classpathExt['replugin-plugin-gradle']
9 | }
10 | }
11 |
12 | /**
13 | * 作为插件运行,设置为true;作为单独APK运行,设置为false
14 | *
15 | */
16 | project.ext {
17 | isPlugin = true
18 | }
19 |
20 | allprojects {
21 | repositories repositoriesExt
22 | }
23 |
24 | task clean(type: Delete) {
25 | delete rootProject.buildDir
26 | }
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample-extra/fresco/FrescoPlugin/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jan 05 16:45:51 CST 2018
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | #distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
8 | #distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
9 | #distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
10 | #distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
11 |
--------------------------------------------------------------------------------
/replugin-sample-extra/fresco/FrescoPlugin/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------
/replugin-sample/README.md:
--------------------------------------------------------------------------------
1 | # RePlugin Sample
2 |
3 | RePlugin Sample工程主要为您展现RePlugin插件的主要用法。
4 |
5 | 它并非是“纯粹”的工程,其内部包含了大量可供参考的调用代码,并含有一些测试代码,帮助开发者在接入时能够对RePlugin有所了解。
6 |
7 | 包括下列内容:
8 |
9 | * host → 主程序的Sample
10 | * plugin-demo1 → 插件1Sample,大部分逻辑都在其中(内置插件实例)
11 | * plugin-demo2 → 插件2的Sample,主要是配合插件1而做的工作(内置插件实例)
12 | * plugin-demo3-kotlin → 插件3的Sample,kotlin插件实例(外置插件实例)
13 |
14 | 阅读Sample代码需要和RePlugin的用法相结合。请访问我们的WiKi,以了解更多的内容。
15 |
--------------------------------------------------------------------------------
/replugin-sample/host/app/libs/common-utils-lib-1.0.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/libs/common-utils-lib-1.0.0.jar
--------------------------------------------------------------------------------
/replugin-sample/host/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\***\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/assets/external/README:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 |
18 | 外置插件的模拟安装说明:
19 | 1.为演示安装外置插件的过程,此处临时将外置插件放在Host的assets/external/目录下,其实开发者完全可以将待安装的外置插件放到/sdcard、/data等其他目录下(注意存储权限);
20 | 2.其中拷贝assets/external/目录下的××.apk文件到/data/data/packageName/files/目录下的过程类似于外置插件在首次安装时的下载过程;
21 | 3.其中demo3.apk为replugin-sample/plugin/plugin-demo3-kotlin工程所编译生成的安装包文件;
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/assets/plugins/demo1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/assets/plugins/demo1.jar
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/assets/plugins/demo2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/assets/plugins/demo2.jar
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/assets/plugins/webview.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/assets/plugins/webview.jar
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/layout/activity_plugin_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
16 |
20 |
21 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-hdpi/notification_out.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-hdpi/notification_out.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | #3F51B5
20 | #303F9F
21 | #FF4081
22 |
23 |
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/values/public.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | RePlugin Sample
19 | Start plugin demo1
20 | Start Kotlin Plugin (demo3)
21 | Start plugin webview
22 | Start plugin demo1(forResult)
23 | Start plugin demo1(Fragment from demo1)
24 | Install or update external plugin
25 |
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/replugin-sample/host/app/src/main/res/xml/fileprovider_path.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/replugin-sample/host/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | buildscript {
17 | { p, cfg = "rpx-config.gradle" -> if (new File(p, cfg).exists()) apply from: "${p}/${cfg}" else if (p.exists()) call(p.parentFile) }(buildscript.sourceFile.parentFile)
18 | repositories repositoriesExt
19 | dependencies {
20 | classpath classpathExt['android-build-tools']
21 | classpath classpathExt['replugin-host-gradle']
22 | }
23 | }
24 |
25 | allprojects {
26 | repositories repositoriesExt
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/replugin-sample/host/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/host/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/replugin-sample/host/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jul 05 11:26:00 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | #distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
8 | #distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
9 | #distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
10 | #distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
11 |
--------------------------------------------------------------------------------
/replugin-sample/host/settings.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | rootProject.name = 'replugin-sample.host'
18 | include ':app', ':utils'
19 |
--------------------------------------------------------------------------------
/replugin-sample/host/utils/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\Liuzhiwei-ms\Android\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/replugin-sample/host/utils/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo1/README.md
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/case.gradle:
--------------------------------------------------------------------------------
1 |
2 | dependencies {
3 |
4 | if (android.defaultConfig.multiDexEnabled){
5 |
6 | compile 'com.squareup.okhttp3:okhttp:3.4.1'
7 | compile 'com.google.code.gson:gson:2.6.2'
8 | compile 'com.squareup.pagerduty:pagerduty-incidents:2.0.0'
9 | compile 'com.google.android.gms:play-services:9.6.1'
10 |
11 | }
12 |
13 | }
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/libs/common-utils-lib-1.0.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo1/app/libs/common-utils-lib-1.0.0.jar
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/libs/fragment.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo1/app/libs/fragment.jar
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/libs/plugin-library.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo1/app/libs/plugin-library.aar
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\***\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # ---------------------------------------------
20 | # **不要改动**
21 | # 插件框架、崩溃后台等需要
22 | -repackageclasses 'demo1'
23 | -allowaccessmodification
24 |
25 | -renamesourcefileattribute demo1
26 | -keepattributes SourceFile,LineNumberTable
27 |
28 | # ---------------------------------------------
29 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/aidl/com/qihoo360/replugin/sample/demo2/IDemo2.aidl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | package com.qihoo360.replugin.sample.demo2;
17 |
18 | /**
19 | * @author RePlugin Team
20 | */
21 | interface IDemo2 {
22 | void hello(String str);
23 | }
24 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/TestItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo1;
18 |
19 | import android.view.View;
20 |
21 | /**
22 | * @author RePlugin Team
23 | */
24 | public class TestItem {
25 |
26 | public String title;
27 |
28 | public View.OnClickListener mClickListener;
29 |
30 | public TestItem(String title, View.OnClickListener listener) {
31 | this.title = title;
32 | this.mClickListener = listener;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/activity/for_result/ForResultActivity.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.sample.demo1.activity.for_result;
2 |
3 | import android.content.Intent;
4 | import android.os.Bundle;
5 |
6 | import com.qihoo360.replugin.loader.a.PluginActivity;
7 |
8 | /**
9 | * @author RePlugin Team
10 | */
11 | public class ForResultActivity extends PluginActivity {
12 |
13 | @Override
14 | protected void onCreate(Bundle savedInstanceState) {
15 | super.onCreate(savedInstanceState);
16 |
17 | Intent intent = new Intent();
18 | intent.putExtra("data", "data from demo1 plugin, resultCode is 0x012");
19 | setResult(0x012, intent);
20 |
21 | finish();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/activity/intent_filter/IntentFilterDemoActivity1.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo1.activity.intent_filter;
18 |
19 | import android.view.View;
20 |
21 | import com.qihoo360.replugin.sample.demo1.BaseActivity;
22 |
23 | /**
24 | * @author RePlugin Team
25 | */
26 | public class IntentFilterDemoActivity1 extends BaseActivity {
27 |
28 | @Override
29 | public void jump(View v) {
30 |
31 | }
32 |
33 | @Override
34 | public String title() {
35 | return IntentFilterDemoActivity1.class.getSimpleName();
36 | }
37 |
38 | @Override
39 | public String btnTxt() {
40 | return "null";
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/activity/single_instance/TIActivity1.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo1.activity.single_instance;
18 |
19 | import android.view.View;
20 |
21 | import com.qihoo360.replugin.sample.demo1.BaseActivity;
22 |
23 | /**
24 | * @author RePlugin Team
25 | */
26 | public class TIActivity1 extends BaseActivity {
27 |
28 | @Override
29 | public void jump(View v) {
30 | finish();
31 | }
32 |
33 | @Override
34 | public String title() {
35 | return this.getClass().getSimpleName();
36 | }
37 |
38 | @Override
39 | public String btnTxt() {
40 | return "back";
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/activity/task_affinity/TAActivity4.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo1.activity.task_affinity;
18 |
19 | import android.view.View;
20 |
21 | import com.qihoo360.replugin.sample.demo1.BaseActivity;
22 |
23 | /**
24 | * @author RePlugin Team
25 | */
26 | public class TAActivity4 extends BaseActivity {
27 |
28 | @Override
29 | public void jump(View v) {
30 | }
31 |
32 | @Override
33 | public String title() {
34 | return this.getClass().getSimpleName();
35 | }
36 |
37 | @Override
38 | public String btnTxt() {
39 | return "";
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/fragment/DemoCodeFragment.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.sample.demo1.fragment;
2 |
3 | import android.os.Bundle;
4 | import android.view.View;
5 | import android.widget.TextView;
6 |
7 | import com.qihoo360.replugin.sample.demo1.R;
8 |
9 | /**
10 | * 描述类作用
11 | *
16 | * 作者 coder
17 | * 创建时间 2017/7/5
18 | */
19 |
20 | public class DemoFragment extends Fragment {
21 |
22 | public DemoFragment() {
23 | }
24 |
25 | private static final String TAG = "DemoFragment";
26 |
27 | @Override
28 | public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
29 | Log.d(TAG, "onCreateView() called with: inflater = [" + inflater + "], container = [" + container + "], savedInstanceState = [" + savedInstanceState + "]");
30 | /**
31 | * 需要注意不能使用inflater及container因为他们的Context是宿主的
32 | */
33 | return LayoutInflater.from(RePlugin.getPluginContext()).inflate(R.layout.main_fragment, container, false);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/webview/IWebPage.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo1.webview;
18 |
19 | import android.webkit.WebView;
20 |
21 | /**
22 | * @author RePlugin Team
23 | */
24 | public interface IWebPage {
25 |
26 | /**
27 | * 获取WebView对象
28 | * @return
29 | */
30 | WebView getWebView();
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
24 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/res/layout/main_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/res/layout/simple_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/res/layout/simple_4.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
22 |
23 |
28 |
29 |
33 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/res/mipmap-xhdpi/app_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo1/app/src/main/res/mipmap-xhdpi/app_icon.png
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | DEMO1
19 |
20 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/res/xml/fileprovider_path.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/app/src/main/res/xml/pref_headers.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
16 |
17 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | buildscript {
17 | { p, cfg = "rpx-config.gradle" -> if (new File(p, cfg).exists()) apply from: "${p}/${cfg}" else if (p.exists()) call(p.parentFile) }(buildscript.sourceFile.parentFile)
18 | repositories repositoriesExt
19 | dependencies {
20 | classpath classpathExt['android-build-tools']
21 | classpath classpathExt['replugin-plugin-gradle']
22 | }
23 | }
24 |
25 | allprojects {
26 | repositories repositoriesExt
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo1/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jul 05 11:29:37 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | #distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
8 | #distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
9 | #distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
10 | #distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
11 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/library/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/library/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\Android\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/library/src/androidTest/java/com/qihoo360/replugin/sample/library/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.sample.library;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumentation test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() throws Exception {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("com.qihoo360.replugin.sample.library.test", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/library/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
7 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/library/src/main/java/com/qihoo360/replugin/sample/library/LibMainActivity.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.sample.library;
2 |
3 | import android.app.Activity;
4 | import android.os.Bundle;
5 |
6 | public class LibMainActivity extends Activity {
7 |
8 | @Override
9 | protected void onCreate(Bundle savedInstanceState) {
10 | super.onCreate(savedInstanceState);
11 | setContentView(R.layout.lib_activity_main);
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/library/src/main/res/layout/content_lib_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/library/src/main/res/layout/lib_activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/library/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | library
3 |
4 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/library/src/test/java/com/qihoo360/replugin/sample/library/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.sample.library;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo1/settings.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | rootProject.name = 'replugin-sample.plugin-demo1'
18 | include ':app', ':library'
19 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo2/README.md
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/case.gradle:
--------------------------------------------------------------------------------
1 |
2 | dependencies {
3 |
4 | if (android.defaultConfig.multiDexEnabled){
5 |
6 | compile 'com.squareup.okhttp3:okhttp:3.4.1'
7 | compile 'com.google.code.gson:gson:2.6.2'
8 | compile 'com.squareup.pagerduty:pagerduty-incidents:2.0.0'
9 | compile 'com.google.android.gms:play-services:9.6.1'
10 |
11 | }
12 |
13 | }
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\***\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # ---------------------------------------------
20 | # **不要改动**
21 | # 插件框架、崩溃后台等需要
22 | -repackageclasses 'demo2'
23 | -allowaccessmodification
24 |
25 | -renamesourcefileattribute demo2
26 | -keepattributes SourceFile,LineNumberTable
27 |
28 | # ---------------------------------------------
29 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/src/main/aidl/com/qihoo360/replugin/sample/demo2/IDemo2.aidl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | package com.qihoo360.replugin.sample.demo2;
17 |
18 | /**
19 | * @author RePlugin Team
20 | */
21 | interface IDemo2 {
22 | void hello(String str);
23 | }
24 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/src/main/java/com/qihoo360/replugin/sample/demo2/Demo2Impl.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | package com.qihoo360.replugin.sample.demo2;
17 |
18 | import android.os.RemoteException;
19 | import android.widget.Toast;
20 |
21 | import com.qihoo360.replugin.RePlugin;
22 |
23 | /**
24 | * @author RePlugin Team
25 | */
26 | public class Demo2Impl extends IDemo2.Stub {
27 | @Override
28 | public void hello(String str) throws RemoteException {
29 | Toast.makeText(RePlugin.getPluginContext(), str, Toast.LENGTH_SHORT).show();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/src/main/java/com/qihoo360/replugin/sample/demo2/MainApp.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo2;
18 |
19 | import android.app.Application;
20 | import android.content.Context;
21 | import android.widget.Toast;
22 |
23 | import com.qihoo360.replugin.RePlugin;
24 |
25 | /**
26 | * @author RePlugin Team
27 | */
28 | public class MainApp extends Application {
29 |
30 | @Override
31 | public void onCreate() {
32 | super.onCreate();
33 |
34 | RePlugin.registerPluginBinder("demo2test", new Demo2Impl());
35 | }
36 |
37 | public static void helloFromDemo1(Context c, String text) {
38 | Toast.makeText(c, "Demo2: hello! " + text, Toast.LENGTH_SHORT).show();
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/src/main/java/com/qihoo360/replugin/sample/demo2/activity/appcompat/AppCompatActivityDemo.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.sample.demo2.activity.appcompat;
2 |
3 | import android.os.Bundle;
4 | import android.support.annotation.Nullable;
5 | import android.support.v7.app.AppCompatActivity;
6 | import android.view.Gravity;
7 | import android.widget.FrameLayout;
8 | import android.widget.TextView;
9 |
10 | import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
11 |
12 | /**
13 | * @author RePlugin Team
14 | */
15 | public class AppCompatActivityDemo extends AppCompatActivity {
16 |
17 | @Override
18 | protected void onCreate(@Nullable Bundle savedInstanceState) {
19 | super.onCreate(savedInstanceState);
20 | TextView textView = new TextView(this);
21 | textView.setText("This is an AppCompactActivity");
22 | textView.setGravity(Gravity.CENTER);
23 | FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(MATCH_PARENT, MATCH_PARENT);
24 | textView.setLayoutParams(layoutParams);
25 | setContentView(textView);
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/src/main/java/com/qihoo360/replugin/sample/demo2/activity/for_result/ForResultActivity.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.sample.demo2.activity.for_result;
2 |
3 | import android.content.Intent;
4 | import android.os.Bundle;
5 |
6 | import com.qihoo360.replugin.loader.a.PluginActivity;
7 |
8 | /**
9 | * @author RePlugin Team
10 | */
11 | public class ForResultActivity extends PluginActivity {
12 |
13 | @Override
14 | protected void onCreate(Bundle savedInstanceState) {
15 | super.onCreate(savedInstanceState);
16 |
17 | Intent intent = new Intent();
18 | intent.putExtra("data", "data from demo2 plugin, resultCode is 0x022");
19 | setResult(0x022, intent);
20 |
21 | finish();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/src/main/res/layout/from_demo1.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/src/main/res/mipmap-xhdpi/app_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo2/app/src/main/res/mipmap-xhdpi/app_icon.png
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | DEMO2
19 |
20 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | buildscript {
17 | { p, cfg = "rpx-config.gradle" -> if (new File(p, cfg).exists()) apply from: "${p}/${cfg}" else if (p.exists()) call(p.parentFile) }(buildscript.sourceFile.parentFile)
18 | repositories repositoriesExt
19 | dependencies {
20 | classpath classpathExt['android-build-tools']
21 | classpath classpathExt['replugin-plugin-gradle']
22 | }
23 | }
24 |
25 | allprojects {
26 | repositories repositoriesExt
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo2/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jul 05 11:57:44 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | #distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
8 | #distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
9 | #distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
10 | #distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
11 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo2/settings.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | rootProject.name = 'replugin-sample.plugin-demo2'
18 | include ':app'
19 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo3-kotlin/README.md
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/libs/fragment.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo3-kotlin/app/libs/fragment.jar
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\***\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # ---------------------------------------------
20 | # **不要改动**
21 | # 插件框架、崩溃后台等需要
22 | -repackageclasses 'demo1'
23 | -allowaccessmodification
24 |
25 | -renamesourcefileattribute demo1
26 | -keepattributes SourceFile,LineNumberTable
27 |
28 | # ---------------------------------------------
29 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/src/main/aidl/com/qihoo360/replugin/sample/demo2/IDemo2.aidl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | package com.qihoo360.replugin.sample.demo2;
17 |
18 | /**
19 | * @author RePlugin Team
20 | */
21 | interface IDemo2 {
22 | void hello(String str);
23 | }
24 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/src/main/java/com/qihoo360/replugin/sample/demo3/BaseActivity.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo3
18 |
19 | import android.app.Activity
20 | import android.os.Bundle
21 |
22 | /**
23 | * @author RePlugin Team
24 | */
25 | abstract class BaseActivity : Activity() {
26 |
27 | override fun onCreate(savedInstanceState: Bundle?) {
28 | super.onCreate(savedInstanceState)
29 | setContentView(R.layout.simple)
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/src/main/java/com/qihoo360/replugin/sample/demo3/MainApp.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo3
18 |
19 | import android.app.Application
20 |
21 | /**
22 | * @author RePlugin Team
23 | */
24 | class MainApp : Application() {
25 |
26 | override fun onCreate() {
27 | super.onCreate()
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/src/main/java/com/qihoo360/replugin/sample/demo3/TestItem.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo3
18 |
19 | import android.view.View
20 |
21 | /**
22 | * @author RePlugin Team
23 | */
24 | class TestItem(var title: String, var mClickListener: View.OnClickListener)
25 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/src/main/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
23 |
24 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/src/main/res/layout/main_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/src/main/res/mipmap-xhdpi/app_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo3-kotlin/app/src/main/res/mipmap-xhdpi/app_icon.png
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | DEMO3
19 |
20 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | buildscript {
17 | { p, cfg = "rpx-config.gradle" -> if (new File(p, cfg).exists()) apply from: "${p}/${cfg}" else if (p.exists()) call(p.parentFile) }(buildscript.sourceFile.parentFile)
18 | repositories repositoriesExt
19 | dependencies {
20 | classpath classpathExt['android-build-tools']
21 | classpath classpathExt['replugin-plugin-gradle']
22 | classpath classpathExt['kotlin-gradle-plugin']
23 | }
24 | }
25 |
26 | allprojects {
27 | repositories repositoriesExt
28 | }
29 |
30 | task clean(type: Delete) {
31 | delete rootProject.buildDir
32 | }
33 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/gradle.properties:
--------------------------------------------------------------------------------
1 | ## Project-wide Gradle settings.
2 | #
3 | # For more details on how to configure your build environment visit
4 | # http://www.gradle.org/docs/current/userguide/build_environment.html
5 | #
6 | # Specifies the JVM arguments used for the daemon process.
7 | # The setting is particularly useful for tweaking memory settings.
8 | # Default value: -Xmx1024m -XX:MaxPermSize=256m
9 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
10 | #
11 | # When configured, Gradle will run in incubating parallel mode.
12 | # This option should only be used with decoupled projects. More details, visit
13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
14 | # org.gradle.parallel=true
15 | #Tue Jul 11 21:08:48 CST 2017
16 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-demo3-kotlin/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jul 05 11:29:37 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | #distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
8 | #distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
9 | #distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
10 | #distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
11 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-demo3-kotlin/settings.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | rootProject.name = 'replugin-sample.plugin-demo3-kotlin'
18 | include ':app'
19 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-webview/README.md
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\***\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # ---------------------------------------------
20 | -repackageclasses 'webview'
21 | -allowaccessmodification
22 |
23 | -renamesourcefileattribute webview
24 | -keepattributes SourceFile,LineNumberTable
25 |
26 | -keep class com.qihoo360.replugin.sample.webview.views.SimpleWebPage {
27 | public *;
28 | }
29 | # ---------------------------------------------
30 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/app/src/main/java/com/qihoo360/replugin/sample/webview/MainApp.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.webview;
18 |
19 | import android.app.Application;
20 |
21 | /**
22 | * @author RePlugin Team
23 | */
24 | public class MainApp extends Application {
25 |
26 | @Override
27 | public void onCreate() {
28 | super.onCreate();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/app/src/main/res/drawable/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-webview/app/src/main/res/drawable/ic_launcher.png
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/app/src/main/res/layout/web_page.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/app/src/main/res/layout/webview.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | #FFFFFF
20 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | WebView
19 |
20 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | buildscript {
17 | { p, cfg = "rpx-config.gradle" -> if (new File(p, cfg).exists()) apply from: "${p}/${cfg}" else if (p.exists()) call(p.parentFile) }(buildscript.sourceFile.parentFile)
18 | repositories repositoriesExt
19 | dependencies {
20 | classpath classpathExt['android-build-tools']
21 | classpath classpathExt['replugin-plugin-gradle']
22 | }
23 | }
24 |
25 | allprojects {
26 | repositories repositoriesExt
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/replugin-sample/plugin/plugin-webview/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jul 05 11:57:44 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | #distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
8 | #distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
9 | #distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
10 | #distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
11 |
--------------------------------------------------------------------------------
/replugin-sample/plugin/plugin-webview/settings.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | rootProject.name = 'replugin-sample.plugin-webview'
18 | include ':app'
19 |
--------------------------------------------------------------------------------
/repluginx-sample/host/app/libs/common-utils-lib-1.0.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/libs/common-utils-lib-1.0.0.jar
--------------------------------------------------------------------------------
/repluginx-sample/host/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\***\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/assets/external/README:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 |
18 | 外置插件的模拟安装说明:
19 | 1.为演示安装外置插件的过程,此处临时将外置插件放在Host的assets/external/目录下,其实开发者完全可以将待安装的外置插件放到/sdcard、/data等其他目录下(注意存储权限);
20 | 2.其中拷贝assets/external/目录下的××.apk文件到/data/data/packageName/files/目录下的过程类似于外置插件在首次安装时的下载过程;
21 | 3.其中demo3.apk为replugin-sample/plugin/plugin-demo3-kotlin工程所编译生成的安装包文件;
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/assets/plugins/demo1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/assets/plugins/demo1.jar
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/assets/plugins/demo2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/assets/plugins/demo2.jar
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/assets/plugins/webview.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/assets/plugins/webview.jar
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/layout/activity_plugin_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
16 |
20 |
21 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-hdpi/notification_out.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-hdpi/notification_out.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | #3F51B5
20 | #303F9F
21 | #FF4081
22 |
23 |
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/values/public.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | RePlugin Sample
19 | Start plugin demo1
20 | Start Kotlin Plugin (demo3)
21 | Start plugin webview
22 | Start plugin demo1(forResult)
23 | Start plugin demo1(Fragment from demo1)
24 | Install or update external plugin
25 |
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/repluginx-sample/host/app/src/main/res/xml/fileprovider_path.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/repluginx-sample/host/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | buildscript {
17 | { p, cfg = "rpx-config.gradle" -> if (new File(p, cfg).exists()) apply from: "${p}/${cfg}" else if (p.exists()) call(p.parentFile) }(buildscript.sourceFile.parentFile)
18 | repositories repositoriesExt
19 | dependencies {
20 | classpath classpathExt['android-build-tools']
21 | classpath classpathExt['replugin-host-gradle']
22 | }
23 | }
24 |
25 | allprojects {
26 | repositories repositoriesExt
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/repluginx-sample/host/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/host/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/repluginx-sample/host/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jul 05 11:26:00 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | #distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
8 | #distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
9 | #distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
10 | #distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
11 |
--------------------------------------------------------------------------------
/repluginx-sample/host/settings.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | rootProject.name = 'repluginx-sample.host'
18 | include ':app', ':utils'
19 |
--------------------------------------------------------------------------------
/repluginx-sample/host/utils/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\Liuzhiwei-ms\Android\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/repluginx-sample/host/utils/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/plugin/plugin-demo1/README.md
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/case.gradle:
--------------------------------------------------------------------------------
1 |
2 | dependencies {
3 |
4 | if (android.defaultConfig.multiDexEnabled){
5 |
6 | compile 'com.squareup.okhttp3:okhttp:3.4.1'
7 | compile 'com.google.code.gson:gson:2.6.2'
8 | compile 'com.squareup.pagerduty:pagerduty-incidents:2.0.0'
9 | compile 'com.google.android.gms:play-services:9.6.1'
10 |
11 | }
12 |
13 | }
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-activity.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-activity.jar
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-fragment.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-fragment.jar
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-lifecycle-common-2.4.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-lifecycle-common-2.4.0.jar
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-lifecycle-viewmodel.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-lifecycle-viewmodel.jar
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-savedstate.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/plugin/plugin-demo1/app/libs/androidx-savedstate.jar
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/libs/common-utils-lib-1.0.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/plugin/plugin-demo1/app/libs/common-utils-lib-1.0.0.jar
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/libs/plugin-library.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GitLqr/RePluginX/744bedf6c8e89849a2cb42da9a24e93b22a5faf0/repluginx-sample/plugin/plugin-demo1/app/libs/plugin-library.aar
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in C:\Users\***\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | -include ../../../../proguard-rules-android.pro
20 |
21 | -keepclasseswithmembers class com.qihoo360.replugin.sample.demo1.** {
22 | }
23 |
24 | # ---------------------------------------------
25 | # **不要改动**
26 | # 插件框架、崩溃后台等需要
27 | -repackageclasses 'demo1'
28 | -allowaccessmodification
29 |
30 | -renamesourcefileattribute demo1
31 | -keepattributes SourceFile,LineNumberTable
32 |
33 | # ---------------------------------------------
34 |
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/src/main/aidl/com/qihoo360/replugin/sample/demo2/IDemo2.aidl:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 | package com.qihoo360.replugin.sample.demo2;
17 |
18 | /**
19 | * @author RePlugin Team
20 | */
21 | interface IDemo2 {
22 | void hello(String str);
23 | }
24 |
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/TestItem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo1;
18 |
19 | import android.view.View;
20 |
21 | /**
22 | * @author RePlugin Team
23 | */
24 | public class TestItem {
25 |
26 | public String title;
27 |
28 | public View.OnClickListener mClickListener;
29 |
30 | public TestItem(String title, View.OnClickListener listener) {
31 | this.title = title;
32 | this.mClickListener = listener;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/activity/for_result/ForResultActivity.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.sample.demo1.activity.for_result;
2 |
3 | import android.content.Intent;
4 | import android.os.Bundle;
5 |
6 | import com.qihoo360.replugin.loader.a.PluginActivity;
7 |
8 | /**
9 | * @author RePlugin Team
10 | */
11 | public class ForResultActivity extends PluginActivity {
12 |
13 | @Override
14 | protected void onCreate(Bundle savedInstanceState) {
15 | super.onCreate(savedInstanceState);
16 |
17 | Intent intent = new Intent();
18 | intent.putExtra("data", "data from demo1 plugin, resultCode is 0x012");
19 | setResult(0x012, intent);
20 |
21 | finish();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/activity/intent_filter/IntentFilterDemoActivity1.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo1.activity.intent_filter;
18 |
19 | import android.view.View;
20 |
21 | import com.qihoo360.replugin.sample.demo1.BaseActivity;
22 |
23 | /**
24 | * @author RePlugin Team
25 | */
26 | public class IntentFilterDemoActivity1 extends BaseActivity {
27 |
28 | @Override
29 | public void jump(View v) {
30 |
31 | }
32 |
33 | @Override
34 | public String title() {
35 | return IntentFilterDemoActivity1.class.getSimpleName();
36 | }
37 |
38 | @Override
39 | public String btnTxt() {
40 | return "null";
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/activity/single_instance/TIActivity1.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo1.activity.single_instance;
18 |
19 | import android.view.View;
20 |
21 | import com.qihoo360.replugin.sample.demo1.BaseActivity;
22 |
23 | /**
24 | * @author RePlugin Team
25 | */
26 | public class TIActivity1 extends BaseActivity {
27 |
28 | @Override
29 | public void jump(View v) {
30 | finish();
31 | }
32 |
33 | @Override
34 | public String title() {
35 | return this.getClass().getSimpleName();
36 | }
37 |
38 | @Override
39 | public String btnTxt() {
40 | return "back";
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/activity/task_affinity/TAActivity4.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005-2017 Qihoo 360 Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5 | * use this file except in compliance with the License. You may obtain a copy of
6 | * the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed To in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 | * License for the specific language governing permissions and limitations under
14 | * the License.
15 | */
16 |
17 | package com.qihoo360.replugin.sample.demo1.activity.task_affinity;
18 |
19 | import android.view.View;
20 |
21 | import com.qihoo360.replugin.sample.demo1.BaseActivity;
22 |
23 | /**
24 | * @author RePlugin Team
25 | */
26 | public class TAActivity4 extends BaseActivity {
27 |
28 | @Override
29 | public void jump(View v) {
30 | }
31 |
32 | @Override
33 | public String title() {
34 | return this.getClass().getSimpleName();
35 | }
36 |
37 | @Override
38 | public String btnTxt() {
39 | return "";
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/repluginx-sample/plugin/plugin-demo1/app/src/main/java/com/qihoo360/replugin/sample/demo1/fragment/DemoCodeFragment.java:
--------------------------------------------------------------------------------
1 | package com.qihoo360.replugin.sample.demo1.fragment;
2 |
3 | import android.os.Bundle;
4 | import android.view.View;
5 | import android.widget.TextView;
6 |
7 | import com.qihoo360.replugin.sample.demo1.R;
8 |
9 | /**
10 | * 描述类作用
11 | *