草庐IT

Android-JNI

全部标签

Xamarin Android结合会导致界面和无类

我正在为我的XamarinAndroid项目绑定第三方罐子文件。它没有错误的束缚,但有关“隐藏”(CS0108)和“不隐藏”(CS0109)可访问成员的警告。当我在Android项目中进行编码时,我期望不存在的类,但是相应的接口是。这使得该库的使用变得困难,因为我引用了他们的帮助系统和样本。谁能回答为什么会发生这种情况,将界面与课程相提并论?我可以使用MetaData.xml档案以防止这种情况?如果是这样,有一个很好的例子将是很棒的,因为我发现各种条目都没有太直觉。罐子被绑定为嵌入式罐子。我在VS2017中所有可能的排列中都使用了“Android类解析器”和“CodeGenTargets”。它

java - 使用 JNI 加载另一个 JNI 库?

我需要实现一个本地方法,比方说“publicnativevoidsomeFunc();”。我有两个库,libabc.so和libdef.so。Java使用System.loadLibrary();加载libabc.so(它没有实现该方法),但JNI实现在libdef.so中。目前,我正在libabc.so中执行以下操作。JNIEXPORTjintJNICALLJNI_OnLoad(JavaVM*jvm,void*reserved){JNIEnv*env;jclasscls;jmethodIDget_load_id;jstringname;jvm->GetEnv((void**)&env

java - JNI 将空参数传递给 Java 方法

编辑我终于发现问题是由null值毕竟不是null引起的,因为其中一个构造函数没有将值初始化为零。有了这些知识,我想将我的问题改写为以下内容:如果参数应该为null,通过JNI将NULL/0/nullptr传递给Java方法是否安全?到目前为止,我找到的来源给出了不同的结果——其中一些人说在使用JNI时,C语言中的NULL和Java中的null是一回事。有些,例如remudada的回答中链接的那个,表明它可能不完全正确。老问题在使用JNI时是否可以使用空参数调用Java方法?我试过传递null(0、NULL或nullptr),但这会导致段错误。我也尝试过使用null参数的NewGloba

Android NDK打包armeabi平台架包

NDK打包armeabi1.降低NDK版本和Cmake版本sdk.dir=E\:\\Android\\sdk//指定ndk版本,不指定默认使用最新的NDKndk.dir=E\:\\Android\\sdk\\ndk\\16.1.4479499修改builde.gradle(app)android{ defaultConfig{ ... //配置AS工程的C/C++源文件编译参数 externalNativeBuild{cmake{cppFlags''}}ndk{ //打包生成的so平台abiFilters'armeabi'} } ... externalNativeBuild{cmake

java - 无法使用JNI从java调用C++的成员函数

我按照以下链接中给出的说明进行操作CallcfunctionfromJava之后我就可以调用C++函数了。但是现在我想从Java调用C++类的成员函数。为了清楚地描述它,我引用了下面的场景。java。有一个类叫做HelloWorld.java它有一个名为print()的原生函数现在使用Java的JNI我创建了HelloWorld的等效头文件。之后我写了实现HelloWorld.cpp中的这个头文件现在我想从“HelloWorld.cpp”调用“rectangle.cpp”的成员函数我创建了“矩形”对象,并且调用了它对应的函数。但是在编译代码时它给了我一个错误称为“未解析的外部符号”。在

使用NPM/节点检查Android手机上的USB调试

我正在尝试检查USB调试是否打开还是关闭NPM/节点。一旦将Android手机连接到我的系统并关闭USB调试,我就需要向用户显示提示以启用USB在他的手机上调试。根据我的研究,连接到我的系统的每个设备(扫描仪/电话/USB)都有一个独特的指导这有助于我区分哪种设备已连接。此外,我无法获取USB调试细节。请帮忙!到目前为止,我撰写的代码是基于Iserialnumber,但我想根据Bus-TypeGuid进行区分。varusb=require('usb');usb.on('attach',function(device){vardevices=usb.getDeviceList();varchec

Android Split APK介绍

文章目录SplitAPKSplitAPK详细介绍概念AndroidAppBundle(AAB)SplitAPK的优势动态分发减小安装包大小模块化和渠道分发SplitAPK的类型基于屏幕密度###基于CPU架构基于语言实现SplitAPKSplitAPKSplitAPK是Android中一种应用程序安装文件的格式,它将一个应用程序拆分成多个独立的APK文件。这种拆分的设计有助于在设备上更有效地使用存储空间,并提供一些灵活性,特别是在多模块应用或多渠道发布的情况下。SplitAPK通常与AndroidAppBundle(AAB)一起使用。SplitAPK详细介绍以下是关于SplitAPK的详细介绍

Android Studio - 新版 logcat 过滤使用记录

由于as在每次升级都有很多问题,因此去年升级到 Dolphin 就一直未升级,Dolphin 版本就可以在设置中打开新版的logcat过滤功能,觉得不太习惯又关掉了。这次刚好asfp的下载重新学习下新版的功能。在此简单记录下。我们可以在输入框输入"p"然后就会有提示p开头的过滤名称。旧版的只能在过滤包名的条件下再过滤一个名称,新版的可以自行创建过滤规则。输入包名也会有提示的。常用的使用方式1、过滤包名 package:org.sipdroid.sipua2、过滤字段 message:sipua3、过滤包名加字段  package:org.sipdroid.sipuamessage:alarm 

我为Android Studio创建插件,但我得到了

该插件在ToolsMenu或菜单中的任何位置中仅包含一个动作,但我总是会得到NullJava.lang.nullpointerexception,即使是空的动作AndroidStudio2.3.3空iNTEAMProjectIntellijIdeatintellijIdeas2017.1.5我尝试了两个版本社区和Ultimate,nulljava.lang.nullpoInterException在com.intellij.ide.systemhealthmonitor.getActionName(systemHealthMonitor.java:542)上,位于com.intellij.id

在服用ADB UIAUTOMATOR转储时重新启动Android可访问性服务

我为项目创建了自定义可访问性服务。启用后,它运行良好并实现我的目的。我需要对某些要求进行转储。但是,当我使用ADBUIAUTOMATOR命令进行转储时,Android系统正在禁用和重新实现可访问性服务。我没有发现任何地方记录的这种行为。是否有任何解决方法可以阻止Android系统禁用服务?看答案不,那里没有。旧版本的Android有限制。一次只能连接到AccessiblityAPI。例如,如果您试图在服务开启时打开对讲,您会看到类似的行为。对讲机不会打开,或者您的服务将崩溃。UIAUTOMATORHERIRATRACTOR扫描仪依靠可访问性服务以及其他自动测试功能。这是一个平台限制,如果不购买