Giter Site home page Giter Site logo

dynamic-load-apk's People

Contributors

1liufeilong avatar bboyfeiyu avatar chufuxi avatar coffe1891 avatar gavinboy avatar hehonghui avatar singwhatiwanna avatar slovx2 avatar t12x3456 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dynamic-load-apk's Issues

master 分支gradle下编译不通过

OS:Yosemite
gradle 2.2.1
未修改build.gradle

trace

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':tasks'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
Caused by: org.gradle.api.GradleException: Could not determine the dependencies of task ':buildLib'.
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.resolve(CachingTaskDependencyResolveContext.java:65)
    at org.gradle.api.internal.tasks.AbstractTaskDependency.getDependencies(AbstractTaskDependency.java:27)
    at org.gradle.api.internal.tasks.DefaultTaskContainer$1.getNodeValues(DefaultTaskContainer.java:178)
    at org.gradle.api.internal.tasks.DefaultTaskContainer$1.getNodeValues(DefaultTaskContainer.java:176)
    at org.gradle.internal.graph.CachingDirectedGraphWalker$GraphWithEmpyEdges.getNodeValues(CachingDirectedGraphWalker.java:200)
    at org.gradle.internal.graph.CachingDirectedGraphWalker.doSearch(CachingDirectedGraphWalker.java:112)
    at org.gradle.internal.graph.CachingDirectedGraphWalker.findValues(CachingDirectedGraphWalker.java:64)
    at org.gradle.api.internal.tasks.DefaultTaskContainer.actualize(DefaultTaskContainer.java:176)
    at org.gradle.api.internal.project.DefaultProjectTaskLister.listProjectTasks(DefaultProjectTaskLister.java:29)
    at org.gradle.api.tasks.diagnostics.TaskReportTask.generate(TaskReportTask.java:61)
    at org.gradle.api.tasks.diagnostics.AbstractReportTask.generate(AbstractReportTask.java:73)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:218)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:579)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:562)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 44 more
Caused by: org.gradle.api.UnknownTaskException: Task with path 'compileReleaseJava' not found in root project 'DynamicLoadApk'.
    at org.gradle.api.internal.tasks.DefaultTaskContainer.getByPath(DefaultTaskContainer.java:150)
    at org.gradle.api.internal.tasks.DefaultTaskContainer.resolveTask(DefaultTaskContainer.java:144)
    at org.gradle.api.internal.tasks.DefaultTaskDependency.resolve(DefaultTaskDependency.java:80)
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext$TaskGraphImpl.getNodeValues(CachingTaskDependencyResolveContext.java:86)
    at org.gradle.internal.graph.CachingDirectedGraphWalker$GraphWithEmpyEdges.getNodeValues(CachingDirectedGraphWalker.java:200)
    at org.gradle.internal.graph.CachingDirectedGraphWalker.doSearch(CachingDirectedGraphWalker.java:112)
    at org.gradle.internal.graph.CachingDirectedGraphWalker.findValues(CachingDirectedGraphWalker.java:64)
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.doResolve(CachingTaskDependencyResolveContext.java:74)
    at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.resolve(CachingTaskDependencyResolveContext.java:63)
    ... 62 more

Lab 中 DLIntent 会报错(Log见类容)

lab中的DLIntent会报错:
04-10 21:24:55.057: E/AndroidRuntime(28032): FATAL EXCEPTION: main
04-10 21:24:55.057: E/AndroidRuntime(28032): java.lang.IllegalArgumentException: Unknown URI type: -1
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.os.Parcel.readException(Parcel.java:1429)
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.os.Parcel.readException(Parcel.java:1379)
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1761)
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1411)
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.app.Activity.startActivityFromChild(Activity.java:3805)
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.app.Activity.startActivityFromChild(Activity.java:3781)
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.app.Activity.startActivityForResult(Activity.java:3382)
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.app.Activity.startActivityForResult(Activity.java:3318)
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.app.Activity.startActivity(Activity.java:3528)
04-10 21:24:55.057: E/AndroidRuntime(28032): at android.app.Activity.startActivity(Activity.java:3496)

其实错误原因应该是由于 Parcelable.Creator CREATOR = new Parcelable.Creator();引起来的,如果把DLIntent再转化成Intent使用就不会报错。
(在DLPluginManager中的startPluginActivityForResult方法中又new了一个Intent来使用,然后把DLIntent的相应参数再赋值一次,不知道是不是转化DLIntent的意思)

但是如果每次使用DLIntent的地方都要转化一下变成Intent,感觉好麻烦。所以请教怎么修改既可以使用DLIntent 也不需要再转化成Intent呢?

如何在动态加载apk引入so呢

我们使你的框架时,发现我们引入的so,分不清是x86还是arm的so 我仔细查看你的文档时,也没有对方面的说明

是否能增加插件工程使用RoboGuice的功能?

我修改了DL 的部分代码,可以使 主工程支持 roboGuice , 但是 由于插件的启动方式,是通过反射创建出来,由代理Activity 启动管理生命周期,和资源,所以 依赖注入在 插件中就失效了。 不知道 插件支持Ioc 这样的模式 是否可行。

使用DLIntent报错

使用Intent不能使用
DLIntent intent = new DLIntent(that.getPackageName(),LoginAnimationActivity.class);
that.startActivity(intent);

android.content.ActivityNotFoundException: No Activity found to handle Intent { }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
at android.app.Activity.startActivityForResult(Activity.java:3433)
at android.app.Activity.startActivityForResult(Activity.java:3394)
at android.app.Activity.startActivity(Activity.java:3636)
at android.app.Activity.startActivity(Activity.java:3604)

服务停止的问题

现在DL支持启动服务嘛,但是我的一个服务启动起来了,如何停止了?应该用什么对象俩调用stopService方法呢?求高手指教啊?

测试发现三星note3启动插件时候报错,屏幕黑屏,独立运行无问题,检查所有控件都带有layout_height属性

11-07 10:49:38.935: W/System.err(16700): java.lang.RuntimeException: Binary XML file line #31: You must supply a layout_height attribute.
11-07 10:49:38.935: W/System.err(16700): at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:492)
11-07 10:49:38.935: W/System.err(16700): at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:6176)
11-07 10:49:38.935: W/System.err(16700): at android.view.ViewGroup$MarginLayoutParams.(ViewGroup.java:6344)
11-07 10:49:38.935: W/System.err(16700): at android.widget.LinearLayout$LayoutParams.(LinearLayout.java:1837)
11-07 10:49:38.935: W/System.err(16700): at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1749)
11-07 10:49:38.935: W/System.err(16700): at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:58)
11-07 10:49:38.935: W/System.err(16700): at android.view.LayoutInflater.rInflate(LayoutInflater.java:768)
11-07 10:49:38.935: W/System.err(16700): at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
11-07 10:49:38.935: W/System.err(16700): at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
11-07 10:49:38.935: W/System.err(16700): at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
11-07 10:49:38.935: W/System.err(16700): at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:3253)
11-07 10:49:38.935: W/System.err(16700): at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3327)
11-07 10:49:38.935: W/System.err(16700): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:336)
11-07 10:49:38.935: W/System.err(16700): at android.app.Activity.setContentView(Activity.java:1973)
11-07 10:49:38.935: W/System.err(16700): at com.xx.MainActivity.onCreate(MainActivity.java:148)
11-07 10:49:38.940: W/System.err(16700): at com.ryg.dynamicload.internal.DLProxyImpl.launchTargetActivity(DLProxyImpl.java:114)
11-07 10:49:38.940: W/System.err(16700): at com.ryg.dynamicload.internal.DLProxyImpl.onCreate(DLProxyImpl.java:97)
11-07 10:49:38.940: W/System.err(16700): at com.ryg.dynamicload.DLProxyFragmentActivity.onCreate(DLProxyFragmentActivity.java:45)
11-07 10:49:38.940: W/System.err(16700): at android.app.Activity.performCreate(Activity.java:5389)
11-07 10:49:38.940: W/System.err(16700): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
11-07 10:49:38.940: W/System.err(16700): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2246)
11-07 10:49:38.940: W/System.err(16700): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2340)
11-07 10:49:38.940: W/System.err(16700): at android.app.ActivityThread.access$800(ActivityThread.java:157)
11-07 10:49:38.940: W/System.err(16700): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
11-07 10:49:38.940: W/System.err(16700): at android.os.Handler.dispatchMessage(Handler.java:102)
11-07 10:49:38.940: W/System.err(16700): at android.os.Looper.loop(Looper.java:157)
11-07 10:49:38.940: W/System.err(16700): at android.app.ActivityThread.main(ActivityThread.java:5293)
11-07 10:49:38.940: W/System.err(16700): at java.lang.reflect.Method.invokeNative(Native Method)
11-07 10:49:38.940: W/System.err(16700): at java.lang.reflect.Method.invoke(Method.java:515)

Jar文件过大

你好,我用的是mac上的Androidstudio,编译生成的lib.jar和doi-common.jar有25G大,每个jar文件大约12.5G,这个太夸张了吧。

DL 1.0.0 2014.10.31 版本调起时报错

11-03 16:21:25.359: E/AndroidRuntime(26382): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xx.airplan/com.ryg.dynamicload.DLProxyFragmentActivity}: java.lang.NullPointerException: Attempt to read from field 'android.content.res.AssetManager com.ryg.dynamicload.internal.DLPluginPackage.assetManager' on a null object reference
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.access$800(ActivityThread.java:135)
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.os.Handler.dispatchMessage(Handler.java:102)
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.os.Looper.loop(Looper.java:136)
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.main(ActivityThread.java:5001)
11-03 16:21:25.359: E/AndroidRuntime(26382): at java.lang.reflect.Method.invoke(Native Method)
11-03 16:21:25.359: E/AndroidRuntime(26382): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
11-03 16:21:25.359: E/AndroidRuntime(26382): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
11-03 16:21:25.359: E/AndroidRuntime(26382): Caused by: java.lang.NullPointerException: Attempt to read from field 'android.content.res.AssetManager com.ryg.dynamicload.internal.DLPluginPackage.assetManager' on a null object reference
11-03 16:21:25.359: E/AndroidRuntime(26382): at com.ryg.dynamicload.internal.DLProxyImpl.onCreate(DLProxyImpl.java:92)
11-03 16:21:25.359: E/AndroidRuntime(26382): at com.ryg.dynamicload.DLProxyFragmentActivity.onCreate(DLProxyFragmentActivity.java:45)
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.Activity.performCreate(Activity.java:5231)
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
11-03 16:21:25.359: E/AndroidRuntime(26382): ... 9 more

Class ForName时候错误

你好,运行master分支上面hots,点击插件工程,运行到loadPluginClass找不到类,求解

插件中微博分享的回调地址问题

微博默认会回调回跳转过去的页面,但是插件的页面地址是aa.aa.aa/.bb.bb.xxactivity
aa.aa.aa是宿主的包名,bb.bb.xxactivity是插件的activity地址,这样就会直接崩溃。

如何在插件中添加activity属性呢?

//全屏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
//导航条透明
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
比如我在主包写了这样的属性后,主包就会全屏了,但是插件包写了会报错,但是不加,一旦跳转到插件包就没法全屏了

导入master项目之后报错如下

Class resolved by unexpected DEX: Lcom/ryg/dynamicload/sample/mainpluginb/MainActivityBB;(0x4252a8c8):0x663e9000 ref [Lcom/ryg/dynamicload/DLBasePluginActivity;] Lcom/ryg/dynamicload/DLBasePluginActivity;(0x424aff60):0x65d66000
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/dalvikvm﹕ (Lcom/ryg/dynamicload/sample/mainpluginb/MainActivityBB; had used a different Lcom/ryg/dynamicload/DLBasePluginActivity; during pre-verification)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/dalvikvm﹕ Unable to resolve superclass of Lcom/ryg/dynamicload/sample/mainpluginb/MainActivityBB; (51)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/dalvikvm﹕ Link of class 'Lcom/ryg/dynamicload/sample/mainpluginb/MainActivityBB;' failed
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ java.lang.ClassNotFoundException: com.ryg.dynamicload.sample.mainpluginb.MainActivityBB
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at java.lang.Class.classForName(Native Method)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at java.lang.Class.forName(Class.java:217)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at com.ryg.dynamicload.internal.DLPluginManager.loadPluginClass(DLPluginManager.java:397)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at com.ryg.dynamicload.internal.DLPluginManager.startPluginActivityForResult(DLPluginManager.java:246)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at com.ryg.dynamicload.internal.DLPluginManager.startPluginActivity(DLPluginManager.java:216)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at com.ryg.dynamicload.sample.mainhost.MainActivity.onItemClick(MainActivity.java:173)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at android.widget.AdapterView.performItemClick(AdapterView.java:298)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at android.widget.AbsListView.performItemClick(AbsListView.java:1244)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at android.widget.AbsListView$PerformClick.run(AbsListView.java:3013)
08-21 14:01:05.195 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at android.widget.AbsListView$1.run(AbsListView.java:3718)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at android.os.Handler.handleCallback(Handler.java:615)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:92)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at android.os.Looper.loop(Looper.java:137)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:4914)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:511)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at dalvik.system.NativeStart.main(Native Method)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ Caused by: java.lang.NoClassDefFoundError: com/ryg/dynamicload/sample/mainpluginb/MainActivityBB
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ ... 19 more
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ Caused by: java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at dalvik.system.DexFile.defineClass(Native Method)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:211)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at dalvik.system.DexPathList.findClass(DexPathList.java:315)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:58)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
08-21 14:01:05.205 15001-15001/com.ryg.dynamicload.sample.mainhost W/System.err﹕ ... 19 more

Sample中的DL-sample-main-host点击插件报错

Process: com.ryg.dynamicload.sample.mainhost, PID: 22376
java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
at dalvik.system.DexFile.defineClassNative(Native Method)
at dalvik.system.DexFile.defineClass(DexFile.java:222)
at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:215)
at dalvik.system.DexPathList.findClass(DexPathList.java:322)
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at com.ryg.dynamicload.internal.DLPluginManager.startPluginActivityForResult(DLPluginManager.java:185)
at com.ryg.dynamicload.internal.DLPluginManager.startPluginActivity(DLPluginManager.java:150)
at com.ryg.dynamicload.sample.mainhost.MainActivity.onItemClick(MainActivity.java:164)
at android.widget.AdapterView.performItemClick(AdapterView.java:299)
at android.widget.AbsListView.performItemClick(AbsListView.java:1113)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904)
at android.widget.AbsListView$3.run(AbsListView.java:3638)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:212)
at android.app.ActivityThread.main(ActivityThread.java:5151)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:875)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)
at dalvik.system.NativeStart.main(Native Method)

开发工具:Android studio
有人说是两个相同类的但是由不同的类加载器加载造成的错误,求解

关于横竖屏限制的问题

如何限定横竖屏,现在只有DLProxyFragmentActivity上的才生效,但是这样全部的都被限制了,我想对指定页面限制

doi-host异常

运行doi-host项目回报以下异常
11-03 01:49:05.137: E/AndroidRuntime(1125): java.lang.NullPointerException: disallow null packageName.

11-03 01:49:05.137: E/AndroidRuntime(1125): at com.ryg.dynamicload.internal.DLPluginManager.startPluginActivityForResult(DLPluginManager.java:170)
11-03 01:49:05.137: E/AndroidRuntime(1125): at com.ryg.dynamicload.internal.DLPluginManager.startPluginActivity(DLPluginManager.java:150)
11-03 01:49:05.137: E/AndroidRuntime(1125): at com.ryg.dynamicload.sample.doihost.MainActivity.onItemClick(MainActivity.java:165)

插件APK动态注册广播报错

插件apk中我已经注册了广播

that.registerReceiver(mAlarmReceiver, alarmFilter);

that.registerReceiver(mPhoneStateReceiver, mPhoneStatefilter);

ondestroy调用

that.unregisterReceiver(mAlarmReceiver);
that.unregisterReceiver(mPhoneStateReceiver);

报错

12-04 15:15:46.199: E/AndroidRuntime(27075): Caused by: java.lang.IllegalArgumentException: Receiver not registered: com.easy.numberlockactivity.MainActivity$1@42bcb278
12-04 15:15:46.199: E/AndroidRuntime(27075): at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:667)
12-04 15:15:46.199: E/AndroidRuntime(27075): at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1743)
12-04 15:15:46.199: E/AndroidRuntime(27075): at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:475)
12-04 15:15:46.199: E/AndroidRuntime(27075): at com.easy.numberlockactivity.MainActivity.onDestroy(MainActivity.java:170)
12-04 15:15:46.199: E/AndroidRuntime(27075): at com.ryg.dynamicload.DLProxyActivity.onDestroy(DLProxyActivity.java:112)
12-04 15:15:46.199: E/AndroidRuntime(27075): at android.app.Activity.performDestroy(Activity.java:5543)
12-04 15:15:46.199: E/AndroidRuntime(27075): at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1134)
12-04 15:15:46.199: E/AndroidRuntime(27075): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3619)

如何支持多个服务的加载

根据目前现有的代码,代理activity重复启动是会有多个不同地址的对象,但是service重复启动还只是一个,无法支持多个服务动态加载。

Issue about working principle of dynamic-load-apk

I have a question. With library of 'dynamic-load-apk' imported, I can prepare a host app by Activity or DLBasePluginActivity included in this lib. Then, If I want some plugin apps plugged in, I need to prepare plugin app by this lib. So, whether could I interface with other plugin apps from the current one? And if I only want to update part of one of my plugin apps, how could I do it?

Fragment中的startActivityForResult怎么调用?Parcelable包装的值通过Bundle传输报错。

10-30 10:08:55.089: E/Parcel(14355): Class not found when unmarshalling: xx.model.Video
10-30 10:08:55.089: E/Parcel(14355): java.lang.ClassNotFoundException: xx.Video
10-30 10:08:55.089: E/Parcel(14355): at java.lang.Class.classForName(Native Method)
10-30 10:08:55.089: E/Parcel(14355): at java.lang.Class.forName(Class.java:305)
10-30 10:08:55.089: E/Parcel(14355): at android.os.Parcel.readParcelableCreator(Parcel.java:2133)
10-30 10:08:55.089: E/Parcel(14355): at android.os.Parcel.readParcelable(Parcel.java:2097)
10-30 10:08:55.089: E/Parcel(14355): at android.os.Parcel.readValue(Parcel.java:2013)
10-30 10:08:55.089: E/Parcel(14355): at android.os.Parcel.readArrayMapInternal(Parcel.java:2314)
10-30 10:08:55.089: E/Parcel(14355): at android.os.Bundle.unparcel(Bundle.java:249)
10-30 10:08:55.089: E/Parcel(14355): at android.os.Bundle.getString(Bundle.java:1118)
10-30 10:08:55.089: E/Parcel(14355): at android.content.Intent.getStringExtra(Intent.java:4624)
10-30 10:08:55.089: E/Parcel(14355): at com.ryg.dynamicload.DLProxyFragmentActivity.onCreate(DLProxyFragmentActivity.java:95)
10-30 10:08:55.089: E/Parcel(14355): at android.app.Activity.performCreate(Activity.java:5231)
10-30 10:08:55.089: E/Parcel(14355): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-30 10:08:55.089: E/Parcel(14355): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
10-30 10:08:55.089: E/Parcel(14355): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
10-30 10:08:55.089: E/Parcel(14355): at android.app.ActivityThread.access$800(ActivityThread.java:135)
10-30 10:08:55.089: E/Parcel(14355): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
10-30 10:08:55.089: E/Parcel(14355): at android.os.Handler.dispatchMessage(Handler.java:102)
10-30 10:08:55.089: E/Parcel(14355): at android.os.Looper.loop(Looper.java:136)
10-30 10:08:55.089: E/Parcel(14355): at android.app.ActivityThread.main(ActivityThread.java:5001)
10-30 10:08:55.089: E/Parcel(14355): at java.lang.reflect.Method.invoke(Native Method)
10-30 10:08:55.089: E/Parcel(14355): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
10-30 10:08:55.089: E/Parcel(14355): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
10-30 10:08:55.089: E/Parcel(14355): Caused by: java.lang.ClassNotFoundException: Didn't find class "xx.Video" on path: DexPathList[[zip file "/data/app/xx-1.apk"],nativeLibraryDirectories=[/data/app-lib/xx-1, /vendor/lib, /system/lib]]
10-30 10:08:55.089: E/Parcel(14355): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

如何动态加载多个没有界面的插件?

目前的代码是启动一个界面的activity,然后用代理的activity做为context给插件使用的。
那么现在遇到不能出现界面的插件,应该传递什么context给插件使用?

尝试想过创建一个看不见的activity,但是这样有多个无界面的插件要启动,那么无谓多出来N多个activity浪费系统资源,而且这个activity一旦关闭了,context就失效了,但是又不能传递getApplicationContext给插件用,这样插件里面的context没法获取对应的resource。

尝试想过传递服务的context给插件用,但是无法支持多个插件,因为重复启动服务,它的context都是同一个。
请问如何支持多个无界面的插件使用context来工作呢?

关于模块化后可以读取的路径

我看了一下加载的方式,现有的方式好像是放在sd上进行模块化加载。有没有把插件化的模块放在宿主的 Assets文件夹下加载的方式吗?
我提这个问题是因为,我是做游戏开发的,游戏开发中在后期接入很多第三方sdk后也会导致函数过多,无法编译,所以就考虑了动态加载,但如果放到sd下的话对游戏来说并不是很好的解决方法,如果能放在宿主的assets文件夹下去加载的话,这会是一个很好的解决方法。

插件升级(插件版本更新)

插件升级(插件版本更新)需要改进的地方:
在com.mwan.dynamicload.internal
public DLPluginPackage loadApk(String dexPath){
...
mPackagesHolder.get(packageInfo.packageName);
...
}
插件加载是根据包名加载, 若插件文件从版本1升级到版本2, 在没有结束整个进程时,
loadApk(plugin2)得到的DLPluginPackage跟loadApk(plugin1)一致,插件升级后运行的还是版本1,
只有进程重启才会运行版本2.
mPackagesHolder.get(packageInfo.packageName); 最好加个版本判断~

运行Demo测试so库加载crash

运行Demo测试so库加载,crash,异常:
03-06 21:58:26.802: E/dalvikvm(27280): dlopen("/data/data/com.ryg.dynamicload.sample.mainhost/app_pluginlib/libtest.so") failed: dlopen failed: "/data/data/com.ryg.dynamicload.sample.mainhost/app_pluginlib/libtest.so" is too small to be an ELF executable

手机型号:Nexus 5

andorid 4.4 启动时报错 nullpointer

ava.lang.RuntimeException: Unable to start activity ComponentInfo{com.dike.sharetravel/com.ryg.dynamicload.DLProxyFragmentActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.ryg.dynamicload.internal.c.a(Unknown Source)
at com.ryg.dynamicload.DLProxyFragmentActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
... 11 more

解决this引用的问题

通过在DLBasePluginActivity的attach方法里面增加 attachBaseContext(mProxyActivity.getBaseContext());
可以解决this变量引起的大部分空指针问题。
但是后面碰到一个问题,调用LayoutInflater去inflate一个layout的时候,对于layout里面的控件的属性,无法读出资源引用,报错:
08-05 12:03:52.610: E/java.lang.Thread(10286): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f0202d2 a=-1 r=0x7f0202d2}
08-05 12:03:52.610: E/java.lang.Thread(10286): at android.content.res.Resources.loadDrawable(Resources.java:2192)
08-05 12:03:52.610: E/java.lang.Thread(10286): at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
08-05 12:03:52.610: E/java.lang.Thread(10286): at android.view.View.(View.java:3555)
08-05 12:03:52.610: E/java.lang.Thread(10286): at android.widget.ImageView.(ImageView.java:140)
08-05 12:03:52.610: E/java.lang.Thread(10286): at android.widget.ImageView.(ImageView.java:136)

layout的加载方式如下:
LayoutInflater inflater = (LayoutInflater) mPluginActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
XmlResourceParser parser =mPluginActivity.getResources().getLayout(resId);
try {
content = newInflater.inflate(parser, null, false);
} finally {
parser.close();
}

有什么好的建议么?

android:theme="@style/AppTheme"位置引发的问题

若在application标签下放置android:theme则会引发java.lang.RuntimeException: Binary XML file line #31: You must supply a layout_height attribute.这个错误
若去掉application下的android:theme则正常
出问题的文件1 AndroidManifest.xml



        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

没问题的文件2 AndroidManifest.xml



        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>     

错误日志
11-26 13:56:50.531 29391-29391/com.abc.soft D/DLPluginManager﹕ launch com.ryg.dynamicload.sample.mainplugin.MainActivity
11-26 13:56:50.581 29391-29391/com.abc.soft D/DLProxyImpl﹕ mClass=com.ryg.dynamicload.sample.mainplugin.MainActivity mPackageName=com.ryg.dynamicload.sample.mainplugina
11-26 13:56:50.581 29391-29391/com.abc.soft D/DLProxyImpl﹕ handleActivityInfo, theme=16973836
11-26 13:56:50.586 29391-29391/com.abc.soft D/DLProxyImpl﹕ instance = com.ryg.dynamicload.sample.mainplugin.MainActivity@4250c3c8
11-26 13:56:50.586 29391-29391/com.abc.soft D/DLBasePluginActivity﹕ attach: proxyActivity= com.ryg.dynamicload.DLProxyActivity@42508be8
11-26 13:56:50.586 29391-29391/com.abc.soft D/DLBasePluginActivity﹕ onCreate: from= FROM_EXTERNAL
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ java.lang.RuntimeException: Binary XML file line #31: You must supply a layout_height attribute.
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:492)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:6187)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.view.ViewGroup$MarginLayoutParams.(ViewGroup.java:6355)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.widget.LinearLayout$LayoutParams.(LinearLayout.java:1837)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1749)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:58)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.view.LayoutInflater.rInflate(LayoutInflater.java:768)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:3296)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3359)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:381)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:375)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at android.app.Activity.setContentView(Activity.java:2053)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at com.ryg.dynamicload.sample.mainplugin.MainActivity.initView(MainActivity.java:31)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at com.ryg.dynamicload.sample.mainplugin.MainActivity.onCreate(MainActivity.java:27)
11-26 13:56:50.591 29391-29391/com.abc.soft W/System.err﹕ at com.ryg.dynamicload.internal.DLProxyImpl.launchTargetActivity(DLProxyImpl.java:114)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at com.ryg.dynamicload.internal.DLProxyImpl.onCreate(DLProxyImpl.java:97)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at com.ryg.dynamicload.DLProxyActivity.onCreate(DLProxyActivity.java:45)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at android.app.Activity.performCreate(Activity.java:5453)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at android.app.ActivityThread.access$900(ActivityThread.java:175)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at android.os.Looper.loop(Looper.java:146)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5602)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:515)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
11-26 13:56:50.596 29391-29391/com.abc.soft W/System.err﹕ at dalvik.system.NativeStart.main(Native Method)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.