0

私のIPを保護しながら、パートナーが使用するjarとしてプラットフォームを配布できるように、私が持っているアプリを「プラットフォーム」レイヤーと「アプリ」レイヤーに細分化しています。

現在、2 つの Eclipse プロジェクトがあります。ビルドにはリソースを jar にコンパイルする機能がないため、すべてのリソース参照をアプリ プロジェクトに移動しました (プラットフォーム プロジェクトの gen/ ディレクトリは空です)。プラットフォームをコンパイルし、jdk を手動で使用して jar し、その jar をアプリ プロジェクトにインポートし、アプリ プロジェクトでエクスポート用に jar をマークし、テスト アプリを正常にコンパイルしてインストールしました。

public class NotifyService extends Service {
    ...
    @Override
    public void onStart(Intent intent, int startId) {
        myNotify(intent.getIntExtra(EXTRA_ICON),...));
    }

    private void myNotify(int iconResource, String s1, String s2, String s3) {
        Context c = getApplicationContext();
        if (H.VERBOSE) Log.d(TAG, "myNotify()"); //$NON-NLS-1$
        Notification n = new Notification(iconResource, s1, currentTime);
        Intent nextStep = new Intent(Intent.ACTION_VIEW,Uri));
        PendingIntent pending = PendingIntent.getActivity(c, 0, nextStep, 0);
        n.setLatestEventInfo(c, s2, s3, pending);
        mgr.notify(1, n);
    }... 

テスト アクティビティは期待どおりに起動し、このサービスから LogCat() メッセージを受け取ります。ただし、通知は表示されず、エラーはログに記録されません。ただ黙っているだけです。...

とにかく、パートナーアプリには、サービス、コンテンツプロバイダー、Web、作品に接続する私のプラットフォームを活用してもらいたい. 誰でもガイダンスを提供できますか?

アップデート!

はぁ...典型的な...すべてのリソースをプラットフォームからアプリに移動したとき、アプリレイヤーからこれらを適切に渡しませんでした。したがって、私が示したコード例にはエラーはありませんでした。もちろん、「渡された引数」を「期待される引数」から切り離すのではなく、インテントを使用すると、コンパイラは文句を言いません。修正されたアプリでは、これは機能します。

バイナリ配布プラットフォームを作成することは珍しいことではないと思いますが、それに関するドキュメントがあまり見つからないので、ドアを開けながら重要な発見を追加し続けます...誰かに役立つことを願っています.

4

2 に答える 2

1

「ライブラリ プロジェクト」の概念を確認する必要があります。

ライブラリ プロジェクトの操作

[編集]

@DJC - なるほど...その場合は、AndEngine プロジェクトを検討することをお勧めします。そのプロジェクトの出力は JAR であり、AndEngineExamples プロジェクト (それを使用するサンプル アプリ) で使用されます。

AndEngine - JAR として配布されるスタンドアロン ライブラリ

AndEngineExamples - AndEngine JAR を使用するサンプル アプリ

于 2010-09-01T18:35:34.673 に答える
0

小包の使用を検討してください。これは、Android 固有の Jar のようなものです。私はそれらを使った経験はあまりありませんが、アクティビティやビューなどを再利用するという点では非常に強力だと思います。

「それ(小包)は、JAR と、その JAR を効果的に使用するために必要なその他の Android 関連ファイルをラップします。」-高度な Android 開発

于 2010-09-01T18:54:24.203 に答える