Androidソースコード環境でプロジェクトAPKをコンパイルし、Android.bpを記述する操作手順

Android ソース コード環境でプロジェクト APK をコンパイルしたい場合は、Android.bp ファイルをプロジェクト プロジェクトに追加する必要があります。以前は .mk ファイルを使用していましたが、今では bp の方が実際には便利であることが分かりました。実用的。

1. まず、ソースコード環境の git を介して指定したディレクトリにプロジェクトをアップロードし、bp ファイルを書き込む必要があります。

2. APK をコンパイルする必要がある構成ファイル bp を作成し、Android.bp をルート ディレクトリに配置し、libs をルート ディレクトリに配置します。

3. Android.bp ファイルの記述例。プロジェクトには jar パッケージが含まれているため、jar パッケージは java_import によってコンパイルされます。

java_import { 
name: "logcatzz_jar", (logcat の jar パッケージに名前を付けるときは、logcat を使用しないように注意する必要があります。そうしないと、システムによって別の名前の jar 名としてラベル付けされるため、このパッケージが検出され、エラーが報告されます) jars: ["libs/ 
logcat.jar "], 

android_app { 
name: "プロジェクト名", 
証明書: "プラットフォーム", 
platform_apis: true, 
特権: true, (priv-app に出力されます)ディレクトリ) 
system_ext_specific: true、 
optimize: { 
有効: false、 
}、 
dxflags: ["--multi-dex"]、 
dex_preopt: { 
有効: false、 
}、 
srcs: [ 
"app/src/main/java/** /*.java", 
], resource_dirs: ["res", ], 
マニフェスト: "AndroidManifest.xml", 
libs: [ 
"logcatzz_jar", 
]、 
静的ライブラリ: [ 
"androidx.appcompat_appcompat", 
], 

bp ファイルを作成した後、プロジェクトの APK のコンパイルを開始し、同じコマンドを実行できます。

4.apkのコンパイルを開始する 

$ source build/envsetup.sh 
$ Lunch userdebug (独自のソース コードの userdebug ディレクトリ。各プロジェクトは異なります。自分で見つけてください)
$ mmm プロジェクト パス (または、現在コンパイルされているプロジェクト ディレクトリで mm を実行します) 

5. コンパイル時に発生したバグ
1. 表示スタイルのテーマ属性が見つからないため、 
Android.bp の static_libs に「androidx.appcompat_appcompat」を追加する必要があります。

2. パッケージ登録用のファイルでは、
bp で設定された名前がプロジェクト内の文字列名と一致するかどうかを確認する必要はありません。

3. jar パッケージの依存関係が見つからないため、依存関係が見つからないというメッセージが表示されます。ソース コードの android\out\soong\.intermediates に移動して、 jar パッケージ名が Android の libs 名と一致しているかどうかを確認できます。 bp を
独自のプロジェクト ディレクトリに追加

4. プロンプト コード内のメソッド シンボルは、
コード内のメソッドがスタジオ システム自体によって生成されたものであるかどうかを最初に確認する必要があります。独自に生成された場合は、変更する必要があります。そうでない場合は、
このメソッドが信頼できないことが示されます。 。

おすすめ

転載: blog.csdn.net/qq_37870139/article/details/131485588