素白年代
素白年代
  • 发布:2021-01-04 14:24
  • 更新:2021-01-13 09:21
  • 阅读:1887

plus.android.importClass()导入安卓第三方库的类对象,返回null

分类:5+ SDK

目的:离线生成自定义基座,然后把安卓第三方包的jar包,so文件打进去,以供js调用。
问题:基座打包好了,但是第三方包里有一个java类,用plus.android.importClass()导入其类对象,返回null。而同个包下的其他java类则可以导入成功,不明所以,不知从何下手。
求救于各位前辈大佬们。

离线打包按照官方文档https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android中的方式一操作。

mui.plusReady(function() {  
    try{  
           var addr = "/dev/ttyMT1";  

           var JniModuleAPI = plus.android.importClass('com.uhf.api.cls.JniModuleAPI');  
           alert("JniModuleAPI:\n"+JniModuleAPI);//返回:null  

           //导入类对象  
           var Reader = plus.android.importClass('com.uhf.api.cls.Reader');  
           //alert(Reader.MAXANTCNT);//可以拿到值,16(静态对象)  
           //创建实例对象  
           var mReader = new Reader();//不import JniModuleAPI类报:SyntaxError:Unexpected identifier;  
           //import JniModuleAPI类,报java.lang.NoClassDefFoundError:com.uhf.api.cls.JniModuleAPI;at new com.uhf.api.cls.Reader  

    }catch(e){  
        alert(e);  
    }  
})  

以下是JniModuleAPI类代码:

package com.uhf.api.cls;  

public class JniModuleAPI  
{  

    public JniModuleAPI()  
    {  
    }  

    public native int InitReader(int ai[], String s, int i);  

    public native int InitReader_Notype(int ai[], String s, int i);  

    static   
    {  
        System.loadLibrary("ModuleAPIJni");  
    }  
}
2021-01-04 14:24 负责人:无 分享
已邀请:
吾逍遥

吾逍遥 - 北京九思自然科技

楼主真好,有问题解决了也及时回复,并提醒了关键词,有利于后来人查阅,点个赞先

素白年代

素白年代 (作者)

没有大佬指教吗?---

  • 素白年代 (作者)

    已解决,没有在android studio配置ndk。

    2021-01-05 21:15

该问题目前已经被锁定, 无法添加新回复