2016-04-10 10 views
0

Androidプロジェクトのロジックファイルのいくつかをj2objcツールを使ってobjectiveCコードに変換しようとしています。"オブジェクトを型に解決できません"

例えば、私は私の実際のプロジェクトで型エラーの多くを得るので、私は、少なくともHelloWorldのを変換しようとしている:

public class Test { 
    public static void main(String args[]) { 
     System.out.println("Hello"); 
    } 

} 

私が実行しようとすると、これはしかし、javacを使用して完全にコンパイルすることができますその上j2objc、それは奇怪なエラーを返します。

The type java.lang.Object can not be resolved. It is indirectly referenced from required .class files. 

何ここでの問題であり、そして最も重要なのは、私はこれで何をすべきでしょうか?

編集:

コマンドラインは次のように

j2objc -sourcepath src/main/java src/main/java/org/takino/mtga/impl/datatypes/*java 

環境:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home 

(これは/usr/libexec/java_homeによって返された)

+0

コマンドの実行方法の詳細が必要ですが、通常はJDKのパスの問題を示します。 – chrylis

+0

私はMac OS Xでの経験はありません(私はほとんどLinuxユーザです)。私はポストをいくつかの情報で更新しました。回答が私が言及しなかった何かを必要とするかどうか教えてください –

答えて

1

Getting Startedページの手順を通過しますこれはあなたがすでにやっていることに似ています。 LinuxとOS Xはコマンドラインからの使用方法がそれほど変わらないので、bashは両方のためのデフォルトのシェルであるため、あまり問題はありません。

@chrylisは、j2objcスクリプトが関連するlib/jre_emul.jarを使用するブートクラスパスとして指定するため、パスについては良い点があります。これはすべてのJREクラス(Objectを含む)です。おそらく、あなたのj2objcディストリビューションが乱れていたかもしれません。

j2objcディストリビューションをもう一度ダウンロードして解凍してくださいが、ファイルは移動しないでください。次に、/ j2objcコマンドを使用して、正しいjre_emul.jarを見つけます。

+0

ええ、バイナリ配布を再びダウンロードして私を助けました。ありがとう! –

関連する問題