好的,所以我发现的唯一方法是生成我自己的附加版本,以及附加服务。有 2 个步骤(粗体)是出乎意料的:
A.复制https://github.com/gluonhq/attach
-
创建一个新模块“例如mynative”作为现有模块的副本。在新模块中相应地重命名文件和ID
-
在 settings.gradle 添加行:
include 'mynative'
...
project(':mynative...
- 在 ./util/src/main/native/android/c/util.c,
添加行:
static jclass jMynativeServiceClass;
...
jclass substrateGetRinkainativeServiceClass() {
return GETREGISTERCLASS(jMynativeServiceClass,
"com/gluonhq/helloandroid/DalvikMynativeService");
}
- 安装
./gradlew publishToMavenLocal
B.复制https://github.com/gluonhq/client-maven-plugin
- 在 ./src/main/java/com/gluonhq/attach/AttachService.java 添加“MYNATIVE”枚举值
- 安装:
mvn clean package install
C.在您的 gluon 移动应用中使用服务
client-maven-plugin 插件的更新版本和 attach 依赖于上述步骤中使用的那些,即 xxx-SNAPSHOT
在 com.gluonhq:client-maven-plugin 配置中添加 mynative 到附件列表
用作其他附加服务,例如
Services.get(MynativeService.class).ifPresent(service -> {
System.err.println("connected:"+service.connectedProperty().get());
});
然后在android上运行:
mvn -o -P android clean client:build client:package client:install client:run
IOS没试过