aapt、dxなどを使用してapkを手動で構築しています。
いくつかの外部jarファイルがあります。LibGDXを使用しています。コードをコンパイルすると、gdxはクラスパス(jarファイル自体)にいくつかのリソースファイルを含めます。dxは.classファイルのみを処理し、リソースを破棄します(たとえば、gdxにはjarファイルのcom / badlogic / gdx / utils / arial-15.pngにあるデフォルトのフォント)これらのリソースファイルもバンドルするにはどうすればよいのでしょうか。gdxで作成された別のゲームのapkを抽出したので、そのように見えます。ファイルはapkroot / com / badlogic / gdx /のようにapkのルートに配置されます。IDEはどのようにそれを行いますか?jarファイルを手動で抽出してリソースを取得する必要がありますか?
しばらく経ち、誰も私に答えませんでした、それまで私はさまざまなものを試し続けました、そして私は最終的に手動で抽出しない方法を見つけました、それで基本的に私のビルドフローでaaptに最初のapkファイルを作らせないで私はそれを作ります代わりにdxすなわち
dx --dex --verbose --num-threads=4 --output=file.apk obj libs/dex
objは私のコードからコンパイルされた.classファイルを含むフォルダーであり、libs /には外部jarファイルが含まれ、libs / dexはlibs /のキャッシュされたjarを保持します。 apk内のリソースapkは期待どおりのリソースを持っているので、dxの後にaaptを使用します(実際には、R.javaを明確にするためにdxの前に1回使用しますが、aaptでapkを作成しないでください)aaptを使用してpackageコマンドを使用しますいつものように-uフラグを含めて、apkを変更し、書き換えないようにします。これで、通常のandroidリソースと外部jarのリソースを最終的なapkにパッケージ化できます。明確にするために、これは、apkを手動で作成するための完全な明確なガイドを意味するものではありませんでした。すでにaapt / dxツールチェーンを知っていることが期待されています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加