Kinh nghiệm Vài điểm cần lưu ý khi port app từ ROM khác hoặc từ máy khác

Thảo luận trong 'Dev Android' bắt đầu bởi hoangnova, 21 Tháng chín 2013.

  1. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
    Nhân tiện Súp Heo hỏi về việc port app, mình lưu lại 1 số điểm khi port app để anh em quan tâm có thể tìm hiểu thêm

    Có thể sẽ gặp nhiều vấn đề khi copy sang:

    - Cái đầu tiên và nguy hiểm ko khả thi nhất là app đó chạy với quyền system/ Với quyền này app đó phải đảm bảo có chung sign với các app hệ thống khác trên ROM: Trường hợp này có thể liệt kê ra các app: Power widget control, Home selector, TelephonyProvider ... Gặp trường hợp này phải thực sự hiểu biết mới port đc. Đa số bỏ cuộc ở cái đầu tiên này.

    Trên LGViet, ngoài mình ra thì chỉ biết 2 người có thể làm đc việc này là mrdrg10yeucongnghe có thể xử lý đc (còn ai khác thì mình không biết).
    Bạn yeucongnghe rất ít online và comment nhưng mình thì biết bạn ấy làm đc nhiều việc nhưng ko có thời gian để tham gia thôi.
    Bài viết bởi hoangnova từ LGviet.com/ Port app, LG Stock App, Lu6200 App, LTE2 App, G2 app...

    - Thứ 2 là ko tương thích với android version: ví dụ 1 số app chỉ từ G2 chỉ chạy trên sdk 17 (android 4.2.x) / Cái này có thể nhìn thấy ngay là khi dùng Root Explore ko thấy hiện ra icon mà chỉ có icon con Rô bô màu xanh. / Cái này có thể sửa manifest để min sdk xuống thấp rồi sign lại app.

    - Thứ 3 Lỗi thiếu thư viện native hoặc thiếu các method cần thiết để chạy/ 1 số app stock như của LG luôn có các method kèm theo framework hoặc các thư viện mở rộng hoặc các thư viện native (lib .so). Cái này thì phụ thuộc vào kinh nghiệm code và kinh nghiệm đọc catlog để tìm và xử lý để nó chạy đc/ Những app này kể đến là CameraApp, LockScreen....

    - Thứ 4 là khác sign với app đang có: Trường hợp này xảy ra khi có 1 app trên máy, nhưng muốn lấy từ ROM khác có version cao hơn, nhiều tính năng hơn. Chúng ta thường làm thế này: Copy đè app mới vào system/app rồi khởi động lại, khởi động lại ko thấy app đó show ra ở app draw. Lý do là app trước có sign khác với app mới. Muốn chép sang đc cần xóa app cũ, reboot để máy xóa data đi rồi mới copy vào.

    Còn nhiều vấn đề khác nhưng điểm quan trọng để nắm đc là phải có kinh nghiệm và biết đọc catlog.

    Port app, LG Stock App, Lu6200 App, LTE2 App, G2 app...
     
  2. minh mũ đỏ

    minh mũ đỏ Active Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    727
    Đã được thích:
    155
    cho em hỏi một chút là có trường hợp app bị giới hạn trong một dòng rom nhất định không ạ? em muốn port app từ rom MIUI sang
     
  3. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
    Về cơ bản các app từ ROM bất ky đều có thể port sang trừ những phần liên quan tới native method như thằng CameraApp3b có chức năng dual cam.
     
  4. minh mũ đỏ

    minh mũ đỏ Active Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    727
    Đã được thích:
    155
    e muốn port cái music, không biết nó có liên quan j không
     
  5. gts8003

    gts8003 Quản lý là phụ - chém gió là chính Staff Member

    Tham gia ngày:
    10 Tháng sáu 2013
    Bài viết:
    8,057
    Đã được thích:
    3,851
    Thử đê, XDA cũng có mấy bản mod mà dở tệ :D
     
  6. yeucongnghe

    yeucongnghe Moderator Staff Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    1,284
    Đã được thích:
    3,371
    Bạn hoangnova cho hỏi tý:
    - Mình có làm cho gts8003 cái dragonsetting để thêm vào mấy lựa chọn nữa. Lúc đầu viết trên eclipse đã chạy được ngon lành trên môi trường ảo của eclipse, nhưng khi chép vào máy thật chạy thì cứ thay đổi giá trị của các lựa chọn thì lỗi. Xem logcat thì nó báo lỗi permission denied (không có quyền ghi) dù trong android manifest mình đã gán 3 quyền cho nó như source code bạn gửi cho gts8003. Ko hiểu tại sao nữa.
    - Lúc đầu mình nghĩ có lẽ do phải là system app mới được, nhưng khi chuyển nó thành system app vẫn lỗi như trước.
    - Cuối cùng phải mod từ lte2setting.apk v1 có mỗi lựa chọn, mất nhiều công quá. Nếu làm được trên eclipse thì nhàn hơn nhiều.
    Tóm lại mình nghĩ chủ yếu do vấn đề phân quyền cho ứng dụng, nhưng ko biết ở chỗ nào. Mình cũng đã xem qua source code của bạn, làm 1 cái tương tự (mới luôn từ đầu, ko phải sửa trên code của bạn) thì gặp phải lỗi đó. Nếu được thì chỉ mình, có thể sau này còn cần đến những app có chức năng ghi vào hệ thống tương tự như thằng này.
    Cảm ơn bạn
     
    VEGASTORE VN thích bài này.
  7. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
    Hôm trước mình có gửi cho GTS source code của sphinx settings v3. Cái đó chạy ngon lành mà bạn. Nó chỉ có nhõn tác dụng là ghi vào settings nên đâu cần phân quyền gì.
    Mã:
        <uses-permission android:name="android.permission.WRITE_SETTINGS" />
        <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
    Mai mốt đăng ký cái github, có source gì code mình sẽ comit lên cho các bạn lấy xuống sửa theo ý mình.
    sourcode đây:

    https://docs.google.com/file/d/0B3J7gOQH7ViEeko1akdJclBKd0U/edit?usp=sharing
     
    duongphuc and f120ltn like this.
  8. Trần Anh

    Trần Anh Well-Known Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    3,245
    Đã được thích:
    1,281
    music của miui thì xin gts8003 :D
     
    minh mũ đỏ thích bài này.
  9. yeucongnghe

    yeucongnghe Moderator Staff Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    1,284
    Đã được thích:
    3,371
    Mình nói là mình làm 1 cái tương tự như cái của bạn, nó cũng đã chạy tôt trên môi trường ảo của eclipse (mình lập trình trên đó), nhưng khi biẻn dịch ra file apk để chạy trên lu6200 thì nó vẫn lên các tùy chọn bình thường, chỉ khi tích vào lựa chọn nào đó nó mới báo lỗi và thoát ra. Xem logcat thì nó báo ko có quyền ghi (lệnh ghi cũng là putin y như của bạn thôi). Vậy nên mình mới hỏi. Tất nhiên mình đã đăng ký mấy quyền như trong source code của bạn vào manifest rồi.
     
  10. hunter

    hunter Member

    Tham gia ngày:
    9 Tháng sáu 2013
    Bài viết:
    97
    Đã được thích:
    53
    bài viết của anh rất hay, anh hoangnova cho e hỏi trưởng hợp 1 muốn port 1 app mình đưa app vào rom, sign nguyên cả rom liệu app đó có chạy dc ko:confused:
     
  11. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
    Ko nên, như vậy dễ chết đó :D Nó phân quyền là có lý do của nó cả. Tuy nhiên a khuyến khích bọn em nên thử, vì a từng thử nhiều lần rồi :D
     
    duongphuc and hunter like this.
  12. f120ltn

    f120ltn Active Member

    Tham gia ngày:
    21 Tháng tám 2013
    Bài viết:
    266
    Đã được thích:
    45
    Các bác cho em 1 chân với. máy e là F120L.
    Hiện e vẫn gà mong các cụ chỉ bảo
     
  13. f120ltn

    f120ltn Active Member

    Tham gia ngày:
    21 Tháng tám 2013
    Bài viết:
    266
    Đã được thích:
    45
    cho e hỏi ngu:
    1-thể sửa manifest để min sdk xuống thấp rồi sign lại app.(e sửa rùi nhưng cho vào nó ko nhận)
    2-biết đọc catlog (đọc đâu, làm thể nào để đọc)

     
  14. f120ltn

    f120ltn Active Member

    Tham gia ngày:
    21 Tháng tám 2013
    Bài viết:
    266
    Đã được thích:
    45
    anh ơi em cài cái này thành công trên F120L rùi. nhưng mọi thứ lại ko hoạt động.
    tích vào dc, khi thoát ra nó bảo phải reset, reset song nó ko thay đổi dc gì.
    hay phải có code trên LGSystemUI.apk nữa, hãy giúp e với
     
  15. cauvong81

    cauvong81 Member

    Tham gia ngày:
    2 Tháng mười hai 2013
    Bài viết:
    64
    Đã được thích:
    22
    mong bác chủ thớt giúp e cái này với. e muốn port cái quick remote của G2 sang Gk để dùng tính năng học lệnh. nhưng mày mò ko đc.
     
  16. Văn Chức

    Văn Chức Life Good

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    7,613
    Đã được thích:
    4,920
    Up lên nào
     
    duongphuc thích bài này.
  17. hoangnova

    hoangnova Captain Staff Member

    Tham gia ngày:
    20 Tháng năm 2013
    Bài viết:
    6,738
    Đã được thích:
    15,889
    Vậy chờ rom SphinX nhé :D hồi này bận quá ko nghiên cứu đc gì. Có gì thông cảm nha.
     
    Văn Chức thích bài này.
  18. Văn Chức

    Văn Chức Life Good

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    7,613
    Đã được thích:
    4,920
    Quẩy lên nhể Topic có ích vậy mà để nó lắng xuống. :D
     
    stories_cat thích bài này.
  19. cauvong81

    cauvong81 Member

    Tham gia ngày:
    2 Tháng mười hai 2013
    Bài viết:
    64
    Đã được thích:
    22
    làm 1 cái quà tặng ae nhân dịp tết đi bác.
     
  20. ProReturn

    ProReturn Active Member

    Tham gia ngày:
    8 Tháng sáu 2013
    Bài viết:
    740
    Đã được thích:
    303
    Lên cho anh em nào sắp sửa port apps g3 cho dòng máy của mình !!!
     

Chia sẻ trang này