2010-09-12 37 views
5

Tôi muốn chạy một ứng dụng helloworld với AOSP và xem nó trong trình giả lập. [Không thông qua thiết lập SDK Android]Cách biên dịch Helloworld với mã nguồn Android

Tôi đã làm theo các bước trong http://source.android.com/source/download.html và biên dịch thành công mã đầy đủ từ/thư mục.

Tôi có thể thấy danh bạ.apk, camera.apk tất cả ứng dụng apk trong ~/mydroid/out/target/product/generic/system/app.

Tôi đã thử hai thứ.

1 - Đã đến thư mục/gói/ứng dụng. Lấy một ứng dụng helloworld (thư mục helloworld được tạo trong android-sdk) và sao chép tệp 'Android.mk' từ thư mục Launcher2, giữ tên mới của tôi cho ứng dụng và đặt thư mục vào gói/thư mục ứng dụng và biên dịch tại /. Tôi không thể thấy tệp .apk được tạo cho ~/mydroid/out/target/product/generic/system/app.

2 - Tôi đã thay đổi tên gói cho Launcher2 trong gói/thư mục ứng dụng trong tệp 'Android, mk' và được biên dịch tại gốc. Tôi không thể thấy một gói ứng dụng mới được tạo trên tên được đóng gói mới theo số ~/mydroid/out/target/product/generic/system/app.

Tôi đã thử nhiều lần với các thay đổi về tên hoạt động, tên ứng dụng trong tệp manifest.xml. Không có gì phản ánh. Nhưng đó là chắc chắn, cả helloworld, và thay đổi trong tên gói là nhận được chọn trong khi biên dịch. Tôi có thể thấy các lớp trung gian được tạo ra. ~/mydroid/out/target/common/obj/APPS/manifirst_intermediates/src/com/android/mani -> manifirst giống như một helloworld mà tôi đã tạo và chạy. ~/mydroid/out/target/common/obj/APPS/Launcher2_intermediates/src/com/android/launcher

Có ai vui lòng chia sẻ các bước biên soạn một chương trình Helloworld đơn giản trong AOSP.

Cảm ơn, Mani

Trả lời

6

Sao chép Android.mk từ bất kỳ gói khác và chỉ phải thay đổi LOCAL_PACKAGE_NAME và chắc rằng một phù hợp với tên thư mục trong gói/ứng dụng.

Ngoài ra, thêm gói bạn trong danh sách trong /build/target/product/core.mk

Sau khi biên dịch, bạn nên tìm ra apk mà bạn mong đợi nó ... (trong/target/sản phẩm/.. ./system/app)

+0

Cảm ơn Matthieu, nó hoạt động. !! – Mani

+2

Rất vui khi được giúp, sau đó bạn có thể xác thực câu trả lời ... – Matthieu

+0

core.mk, tôi đã bỏ lỡ bước này .. +1 – Farhan

Các vấn đề liên quan