Androidアプリ(.apk)を既存のAndroidプロジェクトに統合する
-
27-10-2019 - |
質問
これがユースケースです:
友人と私はAndroidアプリを構築しており、それと一緒にゲームを統合したいと考えています。アプリのコアはEclipseで構築されていますが、Google Appinventerのようなアプリビルディングツールを使用してゲームの構築を検討しています(http://appinventor.googlelabs.com/about/)またはコロナ(http://www.anscamobile.com/corona/)。これらのユーティリティのいずれかを使用してビルドするゲームを起動する「プレイゲーム」のようなボタンを持っているように構築した既存のアプリが欲しいです。
しかし、Google App Inventorをめちゃくちゃにしたとき、私はプロジェクトをバイナリファイルである.apkとしてのみエクスポートできることに気付きました。理想的には、Appinventorでアプリを構築し、ソースコードをエクスポートし、Eclipseの既存のプロジェクトにパッケージを追加します。 .apkファイルにのみアクセスできるので、それほど簡単ではありません。それで、私の質問はこれを行うことができますか?どのように?
いくつかは、を使用することを提案しています APKディセパイラー, 、しかし、これはそれだけの価値があるでしょうか?頭痛が大きすぎることなく、いくつかのソースコード(Javaファイル、XMLファイル、リソース)にアクセスできる優れたAPK逆コンパイラはありますか?ソースコードをエクスポートできる別のツールはありますか? 2つの個別の.apkを統合する他の方法はありますか?
または、2つの別々のアプリを構築する必要がありますか? :(
解決
App Inventorで書かれたプロジェクトは、Eclipseにエクスポートすることはできません。
作成された.apkファイルはバイナリファイルではありません。これはいくつかのファイルとフォルダーのzipアーカイブですが、それらのどれもJavaコードではありません。
App InventorアプリとAndroid SDKで作成されたアプリを組み合わせるためにできることは、APP Inventor内のActivityStarterコンポーネントを利用することです。その詳細はこちら:http://appinventor.googlelabs.com/learn/reference/other/activitystarter.html
最後に、APP Inventorアプリを市場に直接アップロードできないことに留意してください。ただし、一部のユーザーは、それを可能にするプロセスを作成しました。これはMarketizerと呼ばれます。
このフォーラムの投稿を読むのに時間を費やすと、アプリのプログラミングでプログラミング(Google Groups Forum)があれば、さらに良いアイデアを得るかもしれません。
他のヒント
依存関係プロジェクトの構築を瓶として検討し、依存プロジェクトBのビルドパスにその瓶ファイルを含めることができます。
Eclipseでそれを行うには、クリックする必要があります エクスポート> java> jar> {project&unselect androidmanifest.xml}> finish
プロジェクトAからandroidManifest.xmlを除外しない場合、説明されているマニフェストファイルが複製されているという問題が発生します ここ.
また、次のエラーが発生する場合があります。
Dalvik形式への変換は、エラー1で失敗しました
それを修正するために プロジェクトをきれいにして再構築します
Android SDKと同じバージョンの参照を持つ2つのプロジェクトでそれを試しましたが、うまくいきました。プロジェクトAからアクティビティを実行する必要がある場合は、プロジェクトBのマニフェストで宣言する必要があることに注意してください。