問題タブ [j2objc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
890 参照

java - jsoupをObjective-Cに変換するには?

jsoupObjective-Cに変換するには? 私は初心者で、Java にあまり詳しくありません。最近、j2objc による iOS プロジェクトで jsoup を使用したいのですが、難しいようです。

実行すると

など、見つからないパッケージが多数ありますorg.w3c.dom。これらのファイルをダウンロードしorg.w3c.domましたが、見つからないパッケージが多すぎて処理が困難です。それらは javax.net などの Java の標準ライブラリに属している可能性がありますが、どうすれば jsoup の翻訳を完了できますか? それは可能ですか?ありがとう!

0 投票する
1 に答える
1087 参照

java - Android のロジックから UI を分離する

最近、Gmail チームが Inbox for Gmail のさまざまなプラットフォーム バージョンを開発するために使用したアプローチに関するブログ記事を読みました。簡単に言うと、彼らはすべてを Java で記述しますが (基本的には Android の場合)、すべての UI コードを共有ロジック コードから分離します。次に、iOS の場合、プラットフォーム固有の iOS の方法で UI を再実装しますが、J2ObjCと呼ばれる開発 (およびオープンソース化) したプログラムを使用して、共有ロジックを Java から Objective C に変換します。

iOSでこれを機能させる方法は理解していますが、Androidでクラスをどのように配置すればよいですか? 共有ロジックのさまざまな部分に対して個別のクラスを作成する必要があることは理解していますが、a) すべての共有ロジックが独自のディレクトリにあるため、それ自体を簡単に参照でき、b) できるようにするにはどうすればよいですか?今でも私の活動から参照しています。

私の検索に基づいて、 MVPパターンを使用する必要があると思いますが、100% 確実ではありません。

0 投票する
1 に答える
1816 参照

xcode - XCode mvn: そのようなファイルまたはディレクトリはありません

Mac OSX Yosemite に Maven をインストールしました。端末の maven -version にバージョンが表示されます。最初はbrewでも試してみましたが、成功しましたが、XCodeの問題は解決しませんでした。私は Mac OSX と XCode を初めて使用するので、ステップバイステップのガイドをよろしくお願いします。プロジェクトのビルドにプラグインが必要かどうかわかりません

0 投票する
1 に答える
382 参照

objective-c - J2Objc トランスレータが Eclipse Luna でファイルを生成しない

バージョン 10.10 の Mac で Eclipse Luna を使用しています。Eclipse Market Place から J2Objc プラグインをインストールしてみました。以下は、J2Objc 設定、プロパティ、出力フォルダー、および出力に対する構成です。ただし、ファイルはそれぞれのディレクトリに生成されません。親切に解決策を優先してください。

J2Objc プリファレンス 環境設定 プロパティ プロパティ 出力フォルダ 出力フォルダ 出力 出力

0 投票する
1 に答える
916 参照

java - j2objc gradle plugin - パス「test」のタスクがプロジェクトアプリに見つかりません

j2obc for gradle を使用して Android アプリケーションを iOS に移植しようとしていますが、このエラーが発生し、修正方法がわかりません。

完全なもの:

0 投票する
1 に答える
308 参照

ios - グアバを追加するj2objcエラー(When.oがありません)

プロジェクトでグアバを使用できるかどうかを確認するために j2objc で遊んでいます。

私のプロジェクトは非常に単純です: j2obcj ( https://github.com/google/j2objc/wiki/Xcode-Build-Rules ) 用に構成された単一のビュー アプリケーションで、カスタム行が追加されています。appDelegete.m

コンパイルしようとすると、次のエラーが発生します。

リンク中に問題があるようです。 にはありませWhen.olibjre_emul.a

javaxパッケージがそこにあることを確認するためだけに、問題なく次の行を実行しようとしました

SAXParser.i入っていることも確認libjre_emul

しかし、試してみるとWhen

グアバと同様のエラーが発生しました

確認したらlibjre_emul無いですWhen.o

私の設定は次のとおりです。

別のバージョン (0.9.5、0.9.4、0.9.3、0.9) を試しましたが、エラーが残ります。

結論として、私が知る限り、j2objc で guava を使用する方法はありません。これは、欠落しているシンボルに依存するためです。

うまくいけば、誰かが私が間違っていることを証明できますか? 実際のプロジェクトで j2objc を使い始めたいです。

前もって感謝します!メリークリスマス!

0 投票する
1 に答える
1073 参照

xcode - pthread_kill の svc #128 が予期せずデバッガに侵入しますか?

svc #128別のスレッドにシグナルを送るための pthread_kill の呼び出しからの ARM 命令に関連して、Xcode のデバッガーに予期しない中断が見られます。iOS でのこの問題に関連する StackOverflow の質問でこれを見てきましたが、役に立ちませんでした。この場合、Debug->Continue (^⌘Y) を繰り返し実行すると、問題が解決され、明らかな副作用なしに実行が続行されます。また、デバッガーの外部で実行されている場合、アプリは正常に動作します。私の目標は、なぜこれが起こっているのかを理解し、意図した場合を除いてデバッガーに侵入しないようにすることです。

これらのシグナルで壊れる、誤って設定した可能性のある Xcode 設定はありますか?

私は Google の Java to Objective-C Transpiler (j2objc) を使用していますが、他の iOS 開発者は j2objc とは関係のないこの問題について言及しているので、それが原因だとは思いません。これは、j2objc Java ランタイム環境エミュレーション プロジェクトが他のブロックされたスレッドを通知しているときに発生します。一貫してシグナルするスレッドが 3 つあります。Debug->Continue を 3 回実行した後、プログラムの実行は問題や明らかな副作用なしに続行されます。プロジェクトにブレークポイントはありません。

アプリは、起動時に Java DatagramSocket クラスを使用する別のスレッドを生成します。Java コードは正しく機能します。トランスパイルされた Objective-C コードも、デバッガーへの煩わしいブレークを除いて正しく動作します。

これは割り込み時のスタック フレームです。

カーネル pthread_kill メソッドのローカル アセンブリ...

スタック フレームで最も近い非カーネル関数は ですsignalBlockedThreads。私のコードがソケットを閉じると、signalBlockedThreadsすべてのスレッドを繰り返し処理し、特定のファイル記述子に対してブロックされているスレッドを探します (これは、閉じたばかりのポート番号に対応すると思います)。関連するブロックされたスレッドについては、それぞれ pthread_kill で通知されます。メソッドコードを以下にコピーします。

ファイル リンクの場合、これは Java ファイルですが、j2objc トランスパイラーによって保持される Objective-C コードが埋め込まれています。

https://github.com/google/j2objc/blob/765354b620b2c0248945b27062209620d4cf5e40/jre_emul/android/libcore/luni/src/main/java/libcore/io/AsynchronousCloseMonitor.java#L89

成功しないデバッグ試行: * 「すべての例外」ブレークポイントを追加および削除 - これによって何も明らかにされない * closeSocket 呼び出しを削除 - 問題を回避しますが、明らかにソケットを開いたままにする解決策ではありません