Logo vi.androidermagazine.com
Logo vi.androidermagazine.com

Dự án cuối tuần: xây dựng boot của mozilla để tắc kè cho điện thoại thông minh Android của bạn

Mục lục:

Anonim

Tôi không phải là lập trình viên. Tôi hầu như không biết G từ G ot và tôi không thể nhớ được bao nhiêu lần tôi đã tự hỏi tại sao adb không hoạt động, chỉ để khám phá tôi đã quên bật gỡ lỗi USB - một lần nữa. Tôi đã có Linux trên một hộp ở đây, nhưng tôi chỉ sử dụng nó khi tôi có tâm trạng ném nửa tá câu hỏi cho Jerry trong khoảng thời gian năm phút.

Ngoài ra, tôi không có vòng cổ.

Vì vậy, trong thế giới thể thao rộng lớn, rộng lớn, tôi đang tải xuống Xcode trên MacBook Air của mình (đừng bận tâm rằng đến mùa xuân này tôi sẽ là một anh chàng Windows suốt đời), đồng bộ hóa từ Git repos, biên dịch mã và flash hệ điều hành Cho đến bây giờ tôi vẫn lờ đi - đặc biệt là tôi đã dành 24 giờ để đối phó với một đứa trẻ bị bệnh, lo lắng về một người bạn ốm yếu và chuẩn bị cho một cơn bão có thể xảy ra, chủ yếu bỏ qua công việc thực tế của tôi?

Tôi, rõ ràng, có một vấn đề với nhấp nháy. Và đó là cách mà gần đây tôi thấy mình đã đặt hệ điều hành non trẻ của Mozilla, còn được gọi là "Tắc kè" trên Samsung Nexus S.

Chào mừng bạn đến với dự án Boot to Gecko.

Như tôi đã nói, tôi không phải là một lập trình viên. Nhưng tôi thích lộn xộn với mọi thứ. Và tôi đã xoay sở để làm điều này, vì những đứa con gái nhỏ của tôi muốn nói, tất cả … bởi … chính tôi …. Và bạn cũng có thể.

Đợi đã - tại sao bạn lại làm điều này?

Đây là phần đầu tiên trong chuỗi chúng tôi sẽ gọi Dự án cuối tuần của mình. Những điều mà bạn có thể không cố gắng. Nhưng nếu chúng ta có thể làm điều đó, bạn cũng có thể.

Điều đó nói rằng, có một vài điều mà tôi sẽ không làm cho bạn ở đây. Đây không phải là một cái nhìn chi tiết về cách xây dựng và flash dự án Boot to Gecko. Tôi sẽ cung cấp cho bạn những nét rộng của kinh nghiệm của tôi. Mozilla có một số tài liệu tuyệt vời và bạn thực sự nên đọc nó nếu bạn định thử nó. (Tôi cũng có khả năng sẽ thất bại trong việc dịch mọi thứ ngay trong bản dịch.)

Một điều khác tôi sẽ không làm là hướng bạn đến bản dựng của người khác, có thể flash được mặc dù ClockworkMod. Bạn có thể tự mình tìm kiếm. Những gì tôi muốn làm là thực sự biên dịch xây dựng điều này trên chính điện thoại của tôi cho điện thoại.

Và đó là những gì tôi đã làm.

Liên kết bạn sẽ cần

Google là bạn của bạn. Một tìm kiếm đơn giản cho "B2G" đã tìm thấy mọi thứ tôi cần.

  • Mozilla - Khởi động lên Gecko (để giải thích về B2G không phải là mọt sách)
  • B2G trên Mạng của Nhà phát triển Mozilla (đây là nơi công việc thực sự bắt đầu)
  • Xây dựng và cài đặt Boot to Gecko

OK - bây giờ bạn đang làm cái quái gì thế này?

Để xây dựng từ đầu, theo Mozilla, bạn cần có máy Mac hoặc máy Linux. Tôi đã có cả hai ở đây. Nhưng các hướng dẫn Mac chỉ đơn giản là nhìn dễ dàng hơn. (Không có gì xấu hổ trong điều đó, phải không?) Nhưng điều đó cũng có ý nghĩa. Có thể nếu bạn đang chạy Linux, bạn có thể dễ dàng cài đặt tất cả các công cụ được liệt kê của Mozilla. Tôi? Không nhiều lắm. Vì vậy, Mac đã được.

Nó thực sự đơn giản như thế này đối với tôi: Cài đặt Xcode từ Mac App Store, sau đó kích hoạt Terminal và chạy một vài lệnh. Tôi đã thực hiện đủ việc mày mò trong Android để ổn với điều đó. Mozilla có một kịch bản tuyệt vời để cài đặt mọi thứ bạn cần. Sau đó, bạn đồng bộ hóa kho git, biên dịch mã và flash nó vào thiết bị Android của bạn như mọi ROM tùy chỉnh khác. (Và Mozilla cũng có một kịch bản cho phần cuối cùng đó, khiến mọi thứ trở nên dễ dàng hơn.)

Theo như thiết bị mục tiêu mà bạn đang xây dựng, bạn có các tùy chọn. Mozilla chia chúng thành ba tầng:

  • Bậc 1: Otoro (một số loại thiết bị phát triển mà Mozilla đang sử dụng); Bọ ngựa; trình giả lập ARM hoặc x86; hoặc máy tính để bàn. Không phải những gì tôi đang tìm kiếm.
  • Bậc 2: Samsung Nexus S và Nexus S 4G. Tôi cảm thấy một chủ đề phổ biến ở đây. Điện thoại có thể mở khóa dễ dàng và Mozilla cho biết đây là những thay đổi "thứ hai". Tôi đã có một chiếc Nexus S được đặt xung quanh, vì vậy đó là những gì tôi đã đi.
  • Bậc 3: Samsung Galaxy S2 và Galaxy Nexus. Mọi người đang mày mò, nhưng Cấp 2 là bức ảnh đẹp nhất của bạn.

Vậy đó là một nửa trận chiến. Bây giờ để tải xuống, biên dịch và flash B2G.

Có một vài sự lựa chọn ở đó. Một là xây dựng trên một hộp Linux. Mozilla đánh vần tất cả các công cụ cần thiết mà bạn cần, nhưng nó không chỉ cho bạn nơi để có được chúng. Tôi là một Linux n00b, đó là một điều xấu. Đối với hầu hết các phần còn lại của mọt sách sử dụng một bản phân phối này hoặc bản phân phối khác, nó sẽ ít hơn một điều.

Tùy chọn khác là xây dựng trên máy Mac. Và Mozilla đã làm cho nó đơn giản một cách ngu ngốc.

Vậy bạn đã làm điều đó như thế nào?

Một lần nữa, tôi đã làm điều này trên máy Mac. Và thực sự chỉ có một vài bước cơ bản mà ngay cả cái cổ không râu của tôi cũng có thể làm theo.

  1. Tôi đã phải cài đặt Xcode, đây là môi trường phát triển cho Mac.
  2. Tôi đã cài đặt Homebrew cho Mac.
  3. Tôi đã chạy một đoạn script mà Mozilla cung cấp, nó đã kiểm tra các điều kiện tiên quyết khác và nhắc tôi cài đặt chúng nếu cần.

Tại thời điểm này, tôi sẽ lưu ý rằng các hướng dẫn của Mozilla dường như chỉ ra rằng tất cả những gì tôi phải làm là cài đặt Xcode và sau đó chạy tập lệnh; phần còn lại sẽ tự chăm sóc bản thân. Nhưng tôi phải tự cài đặt Homebrew trước. Tôi không chắc đó có phải là do tôi đã làm (hoặc không) làm gì hay không. Nhưng đó là cách nó làm việc cho tôi.

Tiếp theo: Lấy tất cả mã từ Git. Điều đó đơn giản như sao chép và dán một vài dòng khác vào Terminal. Mát mẻ.

Sau đó: Biên dịch.

Bây giờ, vài bước cuối cùng này mất một lúc. Tôi không chắc bao lâu. Tôi đã đi và làm công cụ. Làm một ít cà phê. Ran một số việc vặt. Đã viết một cuốn sách. Phải mất một lúc trên chiếc MacBook Air nhỏ của tôi. Tôi mong chờ rằng. Đây không phải là một dự án quá khó, nhưng cũng không quá nhanh. Tôi để mọi thứ chạy khóa học của họ và kết thúc với một hình ảnh có thể flash trong thư mục "B2G" mới của MBA của tôi.

Thời gian để flash

Vì thế. Đã đến lúc lấy Nexus S. Tất nhiên, nó sẽ cần phải có bộ tải khởi động đã được mở khóa và nó cần phải chạy Android 4.0 Ice Cream Sandwich. (Mozilla không nói gì về Jelly Bean, nhưng tôi cũng đã làm việc với nó. Không quá ngạc nhiên.)

Bật điện thoại vào chế độ fastboot và cắm điện thoại. Chúng tôi chưa từng làm gì với Android, phải /

Bây giờ, một lần nữa, Mozilla đã làm điều này thực sự dễ dàng. Tôi đã không bận tâm đến việc sửa các biến đường dẫn của mình, vì vậy adb và fastboot thường sống trong một thư mục của SDK Android của tôi và đó là điều đó. Tôi có thể đối phó với điều đó. Mozilla thông minh bao gồm tất cả những điều đó. Nhưng thậm chí tốt hơn là nó đã tạo ra một kịch bản nhỏ làm mọi thứ. Nó kiểm tra xem bộ nạp khởi động đã được mở khóa chưa. Nó xóa tất cả các phân vùng cần xóa. Sau đó, nó nhấp nháy những hình ảnh mới. Hoàn toàn thực hành. Đó là điều tôi không thể tự làm, nhưng tôi chẳng là gì nếu không thỉnh thoảng lười biếng. Chúc mừng, Mozilla.

Khởi động lại, và, bùng nổ. Chúng tôi đã khởi động để tắc kè.

Đặt nó cùng nhau và những gì bạn có?

Và bây giờ, cho thành quả lao động của chúng tôi.

Điểm mấu chốt

Vì vậy, đó thực sự là Boot Boot Gecko của Mozilla trên Samsung Nexus S. Thực ra không phải là một dự án nhỏ. Phải mất vài giờ, Nexus S hoạt động và một số dung lượng ổ cứng, nhưng nó không quá đánh vào não. Khi bạn đã flash nó vào điện thoại, bạn có thể sao lưu nó bằng cách phục hồi tùy chỉnh Android, sau đó đến và đi tùy ý.

Tôi sẽ cho điểm 6 trên 10 ở mức độ khó, chỉ vì tôi thực sự không biết mình đang làm gì khi biên dịch mã. Nhưng tôi làm theo chỉ dẫn khá tốt, và Mozilla làm mọi thứ tốt đẹp và dễ dàng. Đây là một trong những bạn có thể tự cố gắng.

Chúng tôi có thể kiếm được một khoản hoa hồng cho việc mua hàng bằng cách sử dụng các liên kết của chúng tôi. Tìm hiểu thêm.