依存関係やモジュールを使用せず、アクティビティが1つで、レイアウトファイルが1つあるAndroidアプリを作成しました。
Gradle(または他の「ビルドシステム」または「依存関係管理」ソフトウェア)を使用せずに、コマンドラインでアプリのapkファイルをビルドするにはどうすればよいですか?
Ant/graldeを使用してビルドしたくない場合は、次の手順を使用してapkを手動でビルドします。ただし、少なくともAndroid SDKがインストールされている必要があります。
aapt
からR.Java
を作成します
javac
を使用してすべてのJavaソースを*.class
にコンパイルします
dx
を使用してすべての*.class
をdex
ファイルに変換します。たとえば、出力はclasses.dex
です。
アセット、リソース、およびAndroidManfiest.mk
からAPKの初期バージョンを作成します。たとえば、出力はMyApplication.apk.unaligned
です。
aapt
を使用して、手順3で生成されたclasses.dex
をMyApplication.apk.unaligned
に追加します
jarsignerを使用して、デバッグキーまたはリリースキーでMyApplication.apk.unaligned
に署名します
zipalign
を使用して、最終的なAPKを調整します。たとえば、リリースキーで署名する場合、出力はMyApplication-debug.apk
またはMyApplication-release.apk
です。
完了
上記のすべてのことを行うためのサンプルスクリプトを作成しました。 ここ を参照してください。
実際、いくつかの記事でこのトピックについて説明されています。次のリンクを参照してください。
https://www.apriorit.com/dev-blog/233-how-to-build-apk-file-from-command-line
https://spin.atomicobject.com/2011/08/22/building-Android-application-bundles-apks-by-hand/
alijandro完璧な答えを出しました。私はなんとか書きました単純なANTスクリプト AdMobを使用し、gradleを使用せずに本番APKをビルドします。いくつかの有用なコメント:
クラスを難読化したい場合は、コンパイルされたクラス(javac
ステップとdx
ステップの間)をjarにして、その上でproguard
を実行する必要があります。
AdMob
の場合、Zipアーカイブから次のjarファイルを抽出する必要があります(C:\Users\<User>\AppData\Local\Android\sdk\extras\google\m2repository\com\google\Android\gms\play-services-ads\10.2.6\play-services-ads-10.2.6.aar
など)。
これらのアーカイブは、javac
およびdx
で渡す必要があります
AdMob
の場合、いくつかの追加の簡単な設定手順もありますGradle
はAndroidプロジェクトで多くの混乱を引き起こすため、独自のスクリプトは、本番環境に移行するプロジェクトの単一のソリューションのように見えます
簡単な答えは:Uはできません
そして長いのは:
Apkを作成するプロセスは、継ぎ目ほど簡単ではありません。 https://developer.Android.com/studio/build/index.html
したがって、次のことを行う必要があるだけではありません。
しかし、よくやる、そして私は本当に それを意味する
少しあります。
使用する場合Android studio
さらに良いことに、簡単なコマンドを使用してこれらのタスクを実行できます
./gradlew assembleRelease
コマンドラインからサポートライブラリを使用してアプリを構築するには、これを試してください。 https://github.com/HemanthJabalpuri/AndroidExplorer