我已经设法classes.jar
从 aar 文件中提取并将其作为依赖项添加到 Gluon 项目中。
接下来,我将活动添加到AndroidManifest.xml
文件中,在 main 之后FXActivity
:
<activity android:name="com.cloudrail.si.servicecode.commands.awaitCodeRedirect.AuthenticationActivity" />
然后我在 Android 包中创建了一个类,提供了访问 Google Drive 所需的凭据。
public AndroidTestAar() {
GoogleDrive cs = new GoogleDrive(FXActivity.getInstance(), "****","****");
new Thread() {
@Override
public void run() {
List<CloudMetaData> metas = cs.getChildren("/");
Log.i("info", "Folder has " + metas.size() + " children");
for (CloudMetaData meta : metas) {
Log.i("info", "Child: " + meta.getName());
}
}
}.start();
}
这个类是从视图中调用的:
public BasicView(String name) {
...
button.setOnAction(e -> {
try {
Class c = Class.forName("com.testaar.AndroidTestAar");
c.newInstance();
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException ex) {}
});
}
我可以部署 apk 并运行它。
该活动在 JavaFX 应用程序之外的 Android WebView 中运行。
首先它要求我使用我的用户名/密码登录,然后它询问我是否允许离线访问,最后在控制台上它成功列出了我的所有文件。