私はあなたの質問app1はあなたのものではないことを理解していますが、あなたはあなたのアプリ(app2)内からその機能を使用したいと思っています。この場合、インテントであるAndroidのアプリ間通信のルールに従う必要があります。app1が汎用ユーティリティアプリケーション(バーコードリーダーや画像エディターなど)である場合、それらの必要なインテントは(開発者として)あなたによく知られており、問題なく使用できます。
これで、app1がユーザーのデバイスにインストールされていない場合でも、いつでもチェックを実行して、ユーザーにインストールを求めることができます。さらに、app1のライセンスポリシーに問題がない場合は、apkをアプリケーションと一緒に配布して、ユーザーのデバイスにインストールできます。
アプリケーションがインストールされているかどうかを確認するためのコードサンプルを次に示します(実際には、アプリケーションを起動できるかどうかを確認するため、インストールされています)。
public static boolean isAppInstalled(Context cx, String packagename) {
PackageManager pm = cx.getPackageManager();
Intent i = pm.getLaunchIntentForPackage(packagename);
return (i != null);
}
ダウンロードしてインストールするようにユーザーに促す場合は、ここから開始できます
また、アプリケーション内からapkを配布している場合は、ここでapkを起動する方法を確認できます。
最後に、apkをjarに変換することについて、これが可能かどうかはわかりませんが、可能であれば、アプリケーションを作成するためのベストプラクティスではないある種のハックになります。一方、非常に幅広い機能分野をカバーする無料のAndroidライブラリ(jarファイル)が数多くあり、それらをアプリケーションに非常に簡単に統合できます。
お役に立てれば...