相关疑难解决方法(0)

如何在android/dalvik上动态加载Java类?

我想知道是否以及如何在dalvik中动态加载dex或类文件,我写的一些quick'n'dirty测试函数是这样的:

    public void testLoader() { 
            InputStream in; 
            int len; 
            byte[] data = new byte[2048]; 
            try { 
                    in = context.getAssets().open("f.dex"); 
                    len = in.read(data); 
                    in.close(); 
                    DexFile d; 
                    Class c = defineClass("net.webvm.FooImpl", data, 0, len); 
                    Foo foo = (Foo)c.newInstance(); 
            } catch (IOException e1) { 
                    // TODO Auto-generated catch block 
                    e1.printStackTrace(); 
            } catch (IllegalAccessException e) { 
                    // TODO Auto-generated catch block 
                    e.printStackTrace(); 
            } catch (InstantiationException e) { 
                    // TODO Auto-generated catch block 
                    e.printStackTrace(); 
            } 
    } 
Run Code Online (Sandbox Code Playgroud)

而Foo界面就是这样

    public interface Foo { 
            int get42(); 
    } 
Run Code Online (Sandbox Code Playgroud)

和f.dex包含该接口的一些dx'ed实现: …

java android classloader dalvik

32
推荐指数
1
解决办法
4万
查看次数

为Android应用程序编写插件

我将尝试开发一个应用程序,该应用程序已启用插件,如windows-.Net-world DLLs.

我将在我的应用程序中使用小矩形线性布局,用户可以通过可见的开/关来管理它们.稍后在我或其他人将给用户一个新的插件,应用程序现在显示.

可能吗?如果是的话:怎么样?那里有好的网站你可以指导我吗?

问候飞

android

28
推荐指数
1
解决办法
2万
查看次数

使用Gradle在自定义类加载Dalvik(Android新建系统)

根据Fred Chung在Android开发者博客上介绍Dalvik中Custom Class Loading:

Dalvik VM为开发人员提供了执行自定义类加载的工具.应用程序可以从其他位置(如内部存储)或通过网络加载它们,而不是从默认位置加载Dalvik可执行文件("dex").

但是,没有多少开发人员需要进行自定义类加载.但那些按照博客文章中的说明进行操作的人可能会在使用Gradle(Google I/O 2013中引入的Android新构建系统)模仿相同行为时遇到一些问题.

究竟如何调整新构建系统以执行与旧(基于Ant)构建系统相同的中间步骤?

android dalvik dynamic-class-loaders gradle

18
推荐指数
1
解决办法
6341
查看次数

android中面向方面的编程

在Android应用程序中实现面向方面编程(AOP)的最佳方法是什么?

移动电池会有效吗?

java aop android

17
推荐指数
1
解决办法
8307
查看次数

Android动态加载模块

我想写一个可以用模块扩展的android应用程序(android库).模块应在运行时加载.因此,它们将从URL下载并存储在目录中.这些模块是aar文件.

有没有办法在运行时动态加载aar文件?

我知道可以使用URLClassLoader加载包含的classes.jar.但比我无法加载布局,字符串,...资源.HM

有谁知道如何解决这个问题?

编辑:

我找到了一些相关的主题:

由于第一个链接的答案,它似乎不起作用.我希望我的想法是错的.

android module aar

8
推荐指数
1
解决办法
3309
查看次数

标签 统计

android ×5

dalvik ×2

java ×2

aar ×1

aop ×1

classloader ×1

dynamic-class-loaders ×1

gradle ×1

module ×1