简体   繁体   English

在Gluon Mobile中导入android文件时出错

[英]Error while importing android files in Gluon Mobile

I had the same problem here . 我在这里有同样的问题。 I solved it by adding the android.jar and the jfxjdk-8.60.9.jar to my build path. 我通过将android.jarjfxjdk-8.60.9.jar到我的构建路径来解决此问题。 Now the imports are resolved. 现在,进口已解决。 However when running the project The following errors are shown in the console: 但是,在运行项目时,控制台中显示以下错误:

:compileJavaC:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:3: error: package android.content.res does not exist
import android.content.res.AssetFileDescriptor;
                          ^
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:4: error: package android.media does not exist
import android.media.AudioManager;
                    ^
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:5: error: package android.media does not exist
import android.media.MediaPlayer;
                    ^
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:7: error: package javafxports.android does not exist
import javafxports.android.FXActivity;
                          ^
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:11: error: cannot find symbol
    private MediaPlayer mp;
            ^
  symbol:   class MediaPlayer
  location: class AndroidNativeAudio
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:23: error: cannot find symbol
            mp = new MediaPlayer();
                     ^
  symbol:   class MediaPlayer
  location: class AndroidNativeAudio
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:24: error: cannot find symbol
            AssetFileDescriptor afd = FXActivity.getInstance().getAssets().openFd("Cannon-Sound.mp3");
            ^
  symbol:   class AssetFileDescriptor
  location: class AndroidNativeAudio
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:24: error: cannot find symbol
            AssetFileDescriptor afd = FXActivity.getInstance().getAssets().openFd("Cannon-Sound.mp3");
                                      ^
  symbol:   variable FXActivity
  location: class AndroidNativeAudio
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:27: error: cannot find symbol
            mp.setAudioStreamType(AudioManager.STREAM_RING);
                                  ^

Any idea how to solve this? 任何想法如何解决这个问题?

You are adding the Android classes in the main package: 您将在main包中添加Android类:

BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java

You should use the android package instead: 您应该改用android软件包:

BangBangGame\src\android\java\com\gluonapplication\AndroidNativeAudio.java

Anyway, if you are adding a native service like those provided by Charm Down, you should first check the existing ones: Charm Down already provides a video service the can be used to play audio as well. 无论如何,如果要添加像Charm Down提供的本机服务,则应首先检查现有服务:Charm Down已经提供了视频服务 ,也可以用来播放音频。

Also, to implement a native service you should try to follow the design of those services in Charm Down, what includes using same package names like com.gluonhq.charm.down.plugins . 另外,要实现本机服务,您应尝试遵循Charm Down中这些服务的设计,包括使用com.gluonhq.charm.down.plugins类的相同程序包名称。

A good example of a native service can be found in the Go Native sample. Go Native示例中可以找到本地服务的一个很好的例子。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM