12月 022019
 
一、整体试验步骤

1.建立子apk,新建一个android应用项目,叫firstplugin

2.在java根目录下新建一个类,叫LoginImpl

3.在LoginImpl.java中实现一个静态方法, login(),此方法只输出一个Log

4.编译生成apk,push到手机的/sdcard目录,此处生成的文件名为firstplugin-debug.apk

5.开始建宿主apk,新建另外一个Android应用项目PlugInHostApp

6.在MainActivity的onCreate中增加如下代码:

7.编译运行,看log中是否输出了login这个字符串

二、遇到的问题和解决方法

1.java.lang.ClassNotFoundException: Didn’t find class “com.zht.car.firstplugin.LoginImpl” on path错误

解决方法:

  1. 查看是否有访问外部存储目录的权限(笔者遇到的就是这个问题,程序不会在new DexClassLoader时报无权限访问或者找不到文件的错误,而会在loadClass时报找不到类的错误)
  2. 关闭Android Studio的Instant run选项,在菜单Settings->Build, Execution, Deployment中(笔者是在Ubuntu中使用Android Studio,没找到此选项)
打赏
 Posted by on 2019-12-02

Sorry, the comment form is closed at this time.