°²×¿ÊµÏÖÇ©ÃûУ¼ì(apkÇ©ÃûУÑé)

Éú»î³£Ê¶ 2025-05-21 19:31Éú»î³£Ê¶www.baidianfengw.cn

°²×¿Ó¦ÓÃÇ©ÃûУÑéÉîÈëÀí½âÓë²Ù×÷Ö¸ÄÏ

½«´øÄúÉîÈëÁ˽ⰲ׿ӦÓõÄÇ©ÃûУÑé¹ý³Ì£¬°üÀ¨ÈçºÎ²é¿´Ó¦ÓÃÇ©Ãû¡¢ÏµÍ³Ç©Ãû¡¢Ç©Ãû»úÖÆÖÐÇ©ÃûÎļþºÍÊý×ÖÖ¤ÊéµÄ×÷Óã¬ÒÔ¼°ÈçºÎ½øÐÐAndroid APPµÄÇ©ÃûµÈ¡£ÈÃÎÒÃÇÒ»Æð¿ªÊ¼Õâ¸öÂó̡£

Ò»¡¢ÈçºÎ²é¿´AndroidÓ¦ÓÃÇ©Ãû

²é¿´Ó¦ÓÃÇ©Ãû£¬¿ÉÒÔͨ¹ýAndroid Studio½øÐС£Ñ¡ÔñGradle±êÇ©£¬Ñ¡ÔñÄúµÄÏîÄ¿£¬È»ºóÑ¡ÔñsigningReportÕâ¸öTask£¬Ë«»÷ÔËÐС£ÔÚGradle ConsoleÖУ¬Äú¿ÉÒÔ¿´µ½Ç©ÃûÐÅÏ¢¡£Äú»¹¿ÉÒÔʹÓýâѹ¹¤¾ß´ò¿ªAPKÎļþ£¬ÔÚMETA-INFÎļþ¼ÐÕÒµ½CERT.RSAÎļþ£¬Í¨¹ýÃüÁîÐлñȡǩÃûÐÅÏ¢¡£Èç¹ûÄúµÄÇ©ÃûÎļþÊÇjks¸ñʽµÄ£¬Í¬Ñù¿ÉÒÔͨ¹ýÃüÁîÐв鿴ÆäÖеÄÇ©ÃûÐÅÏ¢¡£

¶þ¡¢AndroidϵͳǩÃû

ÔÚijЩÇé¿öÏ£¬ÎÒÃÇ¿ª·¢µÄapk¿ÉÄÜÐèҪϵͳȨÏÞ¡£Õâʱ£¬ÐèÒªÔÚAndroidManifest.xmlÖÐÌí¼Ó¹²Ïíϵͳ½ø³ÌÊôÐÔ¡£ÎªÁËÈÃapkÄÜÕý³£Ê¹Óã¬ÆäÇ©Ãû±ØÐëÊÇϵͳǩÃû£¬Èçplatform¡¢shared»òmedia¡£»ñȡϵͳǩÃûͨ³£ÐèÒªÒ»¸ö±àÒë¹ýµÄÔ´Âë»·¾³£¬½«AppÔ´Âë·ÅÈëÌØ¶¨Ä¿Â¼²¢ÅäÖÃAndroid.mk£¬È»ºóʹÓÃmm±àÒëApp£¬Éú³ÉµÄapk¼´¾ßÓÐϵͳǩÃû¡£ÁíÒ»ÖÖ·½·¨ÊÇÔÚEclipse»òAndroid StudioϱàÒëApp£¬È»ºóÖØÐÂÇ©Ãû£¬µ«ÕâÖÖ·½Ê½ÔÚÆµ·±µ÷ÊÔʱ½ÏΪ·±Ëö¡£

Èý¡¢AndroidÇ©Ãû»úÖÆÖ®Ç©ÃûÎļþºÍÊý×ÖÖ¤ÊéµÄ×÷ÓÃ

AndroidÇ©Ãû»úÖÆµÄÄ¿µÄÊÇÈ·±£appµÄ¿É¿¿Í¨ÐÅ¡£Êý×ÖÇ©Ãû¼¼Êõ¾ÍÊÇΪÁ˽â¾öÏûÏ¢µÄÀ´Ô´È·ÈÏÒÔ¼°ÐÅÏ¢ÍêÕûÐÔ±£»¤ÕâÁ½¸öÎÊÌâ¶ø²úÉúµÄ¡£·¢ËÍ·½Ê¹ÓÃÒ»¶Ô¹«Ë½Ô¿£¬½«¹«Ô¿·ÖÏí¸ø½ÓÊÕ·½¡£

ËÄ¡¢Android APPµÄÇ©Ãû¹ý³Ì

¶ÔAPP½øÐÐÇ©Ãû£¬ÊÇÈ·±£APPÍêÕûÐÔºÍÀ´Ô´¿É¿¿ÐÔµÄÖØÒª²½Öè¡£ÔÚ¿ª·¢¹ý³ÌÖУ¬ÎÒÃÇÐèÒªÉú³ÉÊý×ÖÖ¤ÊéºÍÇ©ÃûÎļþ¡£ÕâЩÎļþ°üÀ¨platform.x509.pem¡¢platform.pk8µÈ¡£ÔÚÇ©Ãû¹ý³ÌÖУ¬ÎÒÃÇÐèÒªÒÆ³ýAPKÖеÄMETA-INF/CERT.SFºÍMETA-INF/CERT.RSAÎļþ£¬È»ºóʹÓÃÇ©ÃûÃüÁî½øÐÐÇ©Ãû¡£ÎÒÃÇÒ²¿ÉÒÔ¼¯³ÉϵͳǩÃûµ½Android StudioÖУ¬ÕâÐèÒªÓõ½keytool-importkeypair¹¤¾ß£¬½«ÏµÍ³Ç©ÃûµÄÏà¹ØÐÅÏ¢µ¼Èëµ½ÒÑÓеÄÇ©ÃûÎļþÖС£

Îå¡¢´¦ÀíAndroidÇ©ÃûÖ¤Êé¹ýÆÚ

µ±ÎÒÃǵÄAndroidÇ©ÃûÖ¤Êé¹ýÆÚʱ£¬ÎÒÃÇÐèÒªÖØÐÂÉú³ÉеÄÖ¤Êé²¢ÖØÐÂÇ©ÃûÎÒÃǵÄÓ¦Óá£Õâ¸ö¹ý³Ì°üÀ¨Éú³ÉеÄjksÇ©ÃûÎļþ£¬¸üÐÂÓ¦ÓõÄÇ©ÃûÐÅÏ¢£¬²¢ÖØÐ±àÒëºÍ·¢²¼Ó¦Óá£

°²×¿Ó¦ÓÃÇ©ÃûУÑéÊÇÈ·±£Ó¦Óð²È«ºÍÍêÕûµÄÖØÒª²½Ö衣ϣÍûͨ¹ýµÄ½²½â£¬ÄúÄܸüºÃµØÀí½â²¢²Ù×÷°²×¿Ó¦ÓÃÇ©ÃûУÑéµÄ¹ý³Ì¡£Êý×ÖÇ©Ãû¼¼ÊõÔÚͨÐÅÁìÓò°çÑÝ×ÅÖØÒªµÄ½ÇÉ«£¬ËüÈ·±£ÁËÐÅÏ¢µÄ°²È«ÐÔºÍÍêÕûÐÔ¡£¶ÔÓÚÏûÏ¢µÄ·¢ËÍÕßÀ´Ëµ£¬Í¨¹ýÊý×ÖÇ©Ãû¼¼Êõ£¬¿ÉÒÔÈ·±£ÐÅÏ¢µÄÕæÊµÐԺͲ»±»´Û¸Ä¡£¶ø¶ÔÓÚÐÅÏ¢µÄ½ÓÊÕÕßÀ´Ëµ£¬Êý×ÖÇ©Ãû¼¼ÊõÔò¿ÉÒÔ°ïÖúËûÃÇÑéÖ¤ÐÅÏ¢µÄÀ´Ô´ºÍÍêÕûÐÔ¡£ÔÚʵ¼ÊÓ¦ÓÃÖУ¬Êý×ÖÇ©Ãû½áºÏÊý×ÖÖ¤ÊéµÄʹÓ㬸üÊÇÔöÇ¿ÁËͨÐŵݲȫÐÔ¡£ÏÂÃæ½«Ïêϸ²ûÊöÊý×ÖÇ©ÃûºÍÊý×ÖÖ¤ÊéµÄÔ­Àí¼°Ó¦Ó㬲¢¶ÔAndroidAPPµÄÇ©ÃûÁ÷³ÌÒÔ¼°Êý×ÖÇ©ÃûÖ¤Êé¹ýÆÚ´¦Àí·½·¨½øÐÐ˵Ã÷¡£

Ò»¡¢Êý×ÖÇ©ÃûÓëÊý×ÖÖ¤Êé

Êý×ÖÇ©ÃûÊÇÐÅÏ¢µÄ·¢ËÍÕßʹÓÃ˽Կ¶ÔÏûÏ¢ÕªÒª½øÐмÓÃܺó²úÉúµÄÊý×Ö´®¡£ËüÈ·±£ÁËÐÅÏ¢µÄÍêÕûÐÔºÍÕæÊµÐÔ¡£Êý×ÖÖ¤ÊéÔòÊÇÒ»ÖÖ°üº¬¹«Ô¿¡¢Ö¤ÊéËùÓÐÕßÐÅÏ¢¡¢ÓÐЧÆÚµÈÄÚÈݵĵç×ÓÎĵµ£¬ÓÃÓÚÑéÖ¤¹«Ô¿µÄÕæÊµÐÔºÍÓÐЧÐÔ¡£Êý×ÖÖ¤ÊéÓÉȨÍþµÄµÚÈý·½»ú¹¹·¢²¼£¬²¢Ê¹ÓÃÁËÊý×ÖÇ©Ãû¼¼Êõ¡£

¶þ¡¢AndroidAPPµÄÇ©ÃûÁ÷³Ì

ΪÁ˱ÜÃâAndroidAPP±»ËæÒ⸲¸Ç£¬AndroidÒªÇó¶ÔAPP½øÐÐÇ©Ãû¡£Ç©ÃûÁ÷³ÌÈçÏ£º

1. ÔÚAndroid¿ª·¢»·¾³ÖÐÑ¡Ôñbuilder²Ëµ¥ÏµÄGenerateSignedAPKÑ¡Ïî¡£

2. µ¯³öÇ©ÃûÏòµ¼¶Ô»°¿ò£¬Ñ¡ÔñÊý×ÖÖ¤Êé¡£Èç¹ûûÓÐÊý×ÖÖ¤Ê飬¿ÉÒÔµã»÷Create new°´Å¥´´½¨Êý×ÖÖ¤Êé¡£

3. ÊäÈëÖ¤ÊéµÄ´æ´¢Â·¾¶¡¢ÎļþÃû³Æ¡¢ÃÜÂë¡¢ÓÐЧÄê·Ý¡¢·¢²¼ÈËÔ±µÄÐÕÃû¡¢µ¥Î»¡¢ËùÔÚ³ÇÊС¢Ê¡·Ý¡¢¹ú¼ÒµÈÐÅÏ¢¡£

4. Ñ¡ÔñÇ©ÃûºóµÄ°²×°°ü´æ·Å·¾¶¡¢¹¹½¨ÀàÐÍ£¬µã»÷finishÍê³É°²×°°üµÄ¹¹½¨¡£

Èý¡¢¹ØÓÚÇ©ÃûÖ¤Êé¹ýÆÚµÄÎÊÌâ

Èç¹ûAndroidÇ©ÃûÖ¤Êé¹ýÆÚ£¬½«»áÓ°Ïìµ½APPµÄ°²×°ºÍ¸üС£ÐèÒªÖØÐÂÉú³ÉеÄÇ©ÃûÖ¤Êé¶ÔAPP½øÐÐÇ©Ãû¡£ÔÚÉú³ÉеÄÇ©ÃûÖ¤Êéʱ£¬ÐèҪȷ±£ÐµÄÖ¤ÊéÐÅÏ¢Óë¾ÉµÄÖ¤ÊéÐÅÏ¢Ò»Ö£¬ÒÔÈ·±£APPµÄÕý³£ÔËÐС£ÎªÁ˱ÜÃâÀàËÆÎÊÌâµÄÔٴη¢Éú£¬Ó¦¶¨ÆÚ¼ì²éÇ©ÃûÖ¤ÊéµÄÓÐЧÆÚ£¬²¢¼°Ê±¸üС£

ËÄ¡¢Êý×ÖÇ©ÃûÓëͨÐŰ²È«

Êý×ÖÇ©Ãû¼¼Êõͨ¹ýÈ·±£ÐÅÏ¢µÄÍêÕûÐÔºÍÕæÊµÐÔ£¬ÎªÍ¨ÐŰ²È«ÌṩÁËÖØÒª±£ÕÏ¡£½áºÏÊý×ÖÖ¤ÊéµÄʹÓ㬸üÊÇÔöÇ¿ÁËͨÐŵݲȫÐÔ¡£ÔÚʵ¼ÊÓ¦ÓÃÖУ¬Êý×ÖÇ©ÃûºÍÊý×ÖÖ¤Êé¹ã·ºÓ¦ÓÃÓÚÍøÂçͨÐÅ¡¢µç×ÓÉÌÎñ¡¢µç×ÓÕþÎñµÈÁìÓò£¬ÎªÐÅÏ¢µÄ´«ÊäºÍ½»»»ÌṩÁ˰²È«¿É¿¿µÄ±£ÕÏ¡£

Êý×ÖÇ©ÃûºÍÊý×ÖÖ¤ÊéÔÚͨÐÅÁìÓò·¢»Ó×ÅÖØÒª×÷Ó᣶ÔÓÚAndroidAPPµÄ¿ª·¢ÕßÀ´Ëµ£¬Á˽ⲢÊìÁ·ÕÆÎÕAndroidAPPµÄÇ©ÃûÁ÷³ÌÒÔ¼°Êý×ÖÇ©ÃûÖ¤ÊéµÄ¹ÜÀíºÍ¸üз½·¨£¬¶ÔÓÚ±£ÕÏAPPµÄ°²È«ÐÔºÍÓû§µÄÈ¨Òæ¾ßÓÐÖØÒªÒâÒå¡£¹ØÓÚAndroidÖеÄÇ©Ãû¼°Æä¸üÐÂÎÊÌâ

Ëæ×ÅAndroid°æ±¾µÄµü´ú£¬Ç©Ãû·½°¸Ò²ÔÚ²»¶Ï½ø²½¡£Ä¿Ç°£¬AndroidÖ÷ÒªÖ§³ÖÈýÖÖÇ©Ãû·½·¨£¬ÒÔÓ¦¶Ô²»¶ÏÔö³¤µÄ°²È«ÐÔºÍЧÂÊÐèÇó¡£ÓÈÆäÖµµÃÒ»ÌáµÄÊÇ£¬ÔÚAndroid 9.0ÉÏ£¬È«ÐµÄV3Ç©Ãû·½°¸ÒѾ­±»ÒýÈ룬Ϊ½â¾öÇ©Ãû¹ýÆÚÎÊÌâÌṩÁËÓÐЧµÄ½â¾ö·½°¸¡£

V1Ç©ÃûÊÇ»ùÓÚJARÇ©ÃûµÄÑÓÉ죬Ö÷Òª¶ÔAPKѹËõ°üÖеÄÎļþ½øÐе¥¶ÀÑéÖ¤¡£ÕâÖÖ·½·¨µÄÑé֤ЧÂʽϸߣ¬µ«ÔÚ´¦Àí¸´ÔӵݲȫÐèÇóʱ¿ÉÄÜÂÔÏÔ²»×ã¡£

V2Ç©Ãû·½°¸ÔÚAndroid 7.0ÖÐÒýÈ룬רÃÅÓÃÓÚÑéÖ¤APKÎļþ¡£Ëü½«Ç©ÃûÐÅϢдÈëÇ©Ãû¿éÖУ¬´Ó¶øÌá¸ßÁ˰²È«ÐÔºÍÑé֤ЧÂÊ¡£ÕâÒ»·½°¸Îª¿ª·¢ÕßÌṩÁ˸üΪǿ´óµÄ°²È«±£ÕÏ¡£

¶øV3Ç©Ãû£¬×÷ΪµÄÇ©Ãû·½°¸£¬ÔÚAndroid 9.0ÖÐÒýÈë¡£ËüÔÚÇ©Ãû¿éÖÐÔö¼ÓÁËеġ°attr¡±¿é£¬²ÉÓÃÁ´±íÐÎʽ´æ´¢¶à¸öÖ¤Êé¡£ÆäÖУ¬×î¾ÉµÄÖ¤Êé×÷ΪпéÁ´±íµÄ¸ù½Úµã£¬ÓÃÒÔÑéÖ¤ÐÂÖ¤ÊéµÄÕæÊµÐÔºÍÓÐЧÐÔ¡£ÕâÒ»Éè¼Æ¼«´óµØÔöÇ¿ÁËÇ©ÃûµÄ°²È«ÐԺͿɿ¿ÐÔ¡£

µ±Ãæ¶ÔAppÇ©Ãû¹ýÆÚ»òй¶µÄÎÊÌâʱ£¬ÎÒÃÇÐèÒª²ÉÈ¡ÏàÓ¦µÄ´ëÊ©¡£ÔÚAndroidϵͳÖУ¬Ç©Ãû»¹Éæ¼°µ½È¨ÏÞ¿ØÖÆ»úÖÆ¡£ÏµÍ³´æÔÚ¶àÖÖ±ê׼ǩÃûkey£¬Èçtestkey¡¢media¡¢platform¡¢sharedµÈ¡£ÕâЩÃÜԿλÓÚÔ´ÂëµÄ/build/target/product/securityĿ¼Ï£¬ÆäÖÐ˽ԿºÍ¹«Ô¿ÊdzɶԳöÏֵġ£

ÔÚ±àÒëAndroidϵͳ»òÓ¦ÓÃʱ£¬Èç¹ûûÓÐÔÚandroid.mkÖÐÉèÖÃLOCAL_CERTIFICATEµÄÖµ£¬ÏµÍ³»áĬÈÏʹÓÃtestkey½øÐÐÇ©Ãû¡£µ«Èç¹ûÉèÖÃΪʹÓÃplatform½øÐÐÇ©Ãû£¬ÄÇôÕâ¸öÓ¦ÓþͻáÓµÓкÍϵͳÏàͬµÄÇ©ÃûȨÏÞ¡£Ö»ÓÐʹÓÃÏàͬǩÃûµÄÓ¦ÓòÅÄÜ·ÃÎÊÌØ¶¨µÄϵͳ×ÊÔ´£¬ÀýÈçʹÓÃandroid:sharedUserId="android.uid.system"¡£

ΪÁËÉú³É×Ô¶¨ÒåµÄÇ©Ãûkey£¬ÎÒÃÇ¿ÉÒÔʹÓÃλÓÚ/development/toolsĿ¼ÏµÄmake_key½Å±¾¡£Õâ¸ö½Å±¾ÐèÒªÁ½¸ö²ÎÊý£ºkeyµÄÃû×ÖºÍÃÜÂë¡£ÃÜÂ벿·Ö½¨Òé²»ÉèÖã¬Ö±½Óenter£¬ÒÔ±ãÔÚºóÐøÊ¹ÓÃÖбÜÃâÃÜÂëÏà¹ØµÄÂé·³¡£

Èç¹ûÒªÐÞ¸ÄĬÈϵÄÇ©Ãûkey£¬ÎÒÃÇ¿ÉÒÔÔÚ/build/core/config.mkÖнøÐÐÅäÖá£ÀýÈ磬ÎÒÃÇ¿ÉÒÔÉèÖÃÒ»¸öÌõ¼þÅжϣ¬Èç¹ûĬÈϵÄϵͳ¿ª·¢Ö¤ÊéÊÇreleasekey£¬ÄÇôËùÓеÄÇ©Ãû¶¼½«Ä¬ÈÏʹÓÃreleasekey¡£

Èç¹ûÔÚÉú³É»òʹÓÃÕâЩkeyʱÓöµ½´íÎ󣬺ܿÉÄÜÊÇÓÉÓÚ¶àÏß³ÌÎÊÌâµ¼Öµġ£ÎªÁËÈ·±£Ç©ÃûµÄÕýÈ·ÐԺͰ²È«ÐÔ£¬ÎÒÃÇÐèÒª×Ðϸ´¦Àíÿһ¸ö²½ÖèºÍϸ½Ú¡£

AndroidµÄÇ©Ãû»úÖÆÊÇÒ»¸ö¸´ÔÓ¶øÖØÒªµÄ²¿·Ö£¬ËüÈ·±£ÁËÓ¦ÓõݲȫÐÔºÍÍêÕûÐÔ¡£Ëæ×ÅAndroid°æ±¾µÄ¸üУ¬Ç©Ãû·½°¸Ò²ÔÚ²»¶Ï½ø²½£¬ÎªÎÒÃÇÌṩÁ˸üΪǿ´óºÍÁé»îµÄ°²È«±£ÕÏ¡£ÔÚ±àÒëAndroidϵͳʱ£¬ÎªÁ˼***Ù±àÒë¹ý³Ì£¬ÎÒÃdz£³£Ê¹ÓÃ`make -j`ÃüÁî½øÐжàÏ̱߳àÒë¡£ÕâÖÖ×ö·¨¿ÉÄܻᵼÖÂÖÕ¶ËÊäÈëÊÜÓ°Ïì£¬ÌØ±ðÊÇÔÚÐèÒªÊäÈëÃÜÂëµÄÇé¿öÏ£¬ÒòΪÆäËûÏ̵߳ÄÔËÐпÉÄÜ»á¸ÉÈŵ±Ç°ÊäÈëÖÕ¶Ë£¬µ¼ÖÂÃÜÂëÎÞ·¨Õý³£ÊäÈë¡£

Íê³É±àÒëºó£¬ÎÒÃÇ¿ÉÒÔÔÚ`build.prop`ÎļþÖв鿴Ïà¹Ø±äÁ¿¡£Ö»Óо­¹ýÇ©ÃûµÄϵͳ²ÅÄÜËã×÷ÊÇrelease°æ±¾¡£ÎªÁËÈ·±£Õû¸öϵͳ°´ÕÕÎÒÃǵÄÒªÇó½øÐÐÁËÇ©Ãû£¬ÎÒÃÇÐèÒª½øÐÐһϵÁеIJÙ×÷¡£

Ò»ÖÖ³£¼ûµÄÇ©Ãû·½·¨ÊÇʹÓÃÌØ¶¨µÄÃüÁî½øÐбàÒ룬Èç`make -j4 PRODUCT-product_modul-user dist`¡£Õâ¸öÃüÁîÓëÆ½Ê±µÄ±àÒ벻ͬ£¬ËüÔÚºóÃæ¶àÁË`PRODUCT-product_modul-user`ºÍ`dist`Á½¸ö²ÎÊý¡£±àÒëÍê³Éºó£¬»áÔÚÔ´ÂëµÄ`/out/dist/`Ŀ¼ÄÚÉú³ÉÒ»¸öÒÔ`product_modul-target_files`¿ªÍ·µÄzipÎļþ£¬Õâ¾ÍÊÇÎÒÃÇÐèÒª½øÐÐÇ©ÃûµÄÎļþϵͳ¡£

ÔÚÎÒÃǵݸÀýÖУ¬`product_modul`ÊÇ`full_gotechcn`£¬¶ø`-user`´ú±íµÄÊÇ×îÖÕÓû§°æ±¾¡£¹ØÓÚÃüÃûºÍ`product_modul`µÄÏêϸÐÅÏ¢£¬¿ÉÒԲο¼Ïà¹ØÎĵµ¡£

Éú³ÉÐèҪǩÃûµÄzipѹËõ°üºó£¬ÎÒÃÇʹÓÃ`/security`ϵÄÃÜÔ¿½øÐÐÇ©Ãû¡£¾ßÌåÃüÁîΪ£º

```bash

./build/tools/releasetools/sign_target_files_apks -d /build/target/product/security out/dist/full_gotechcn-target_files.zip out/dist/signed_target_files.zi

```

Ç©ÃûÄ¿±êÎļþ»á±»Êä³öΪ`signed_target_files.zi`¡£

Èç¹ûÔÚÇ©Ãû¹ý³ÌÖÐijЩapk³öÏÖ´íÎó£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÔÚ`full_gotechcn-target_files.zip`Ç°Ãæ¼Ó²ÎÊý`-e=`À´¹ýÂËÕâЩapk¡£

½ÓÏÂÀ´£¬ËäÈ»ÓÐÒ»ÖÖ·½·¨ÊÇͨ¹ýimage½Å±¾Éú³ÉimageµÄzipÎļþ£¬µ«ÕâÖÖ·½Ê½²¢²»ÊÊÓÃÓÚÎÒÃÇĿǰµÄ¹¤³ÌÔ´Â룬ËùÒÔ²¢Î´½øÐйý¶àÑéÖ¤¡£

AndroidµÄÇ©Ãû»úÖÆÖ÷Òª·ÖΪÁ½²¿·Ö£ºROMÇ©Ãû»úÖÆºÍµÚÈý·½APKÇ©Ãû»úÖÆ¡£APKʵ¼ÊÉÏÊÇÒ»¸öjar°ü£¬¶øjar°üÓÖÊÇÒ»¸özip°ü¡£APK°üµÄÇ©ÃûʹÓõÄÊÇjar°üµÄÇ©Ãû»úÖÆ£¬ÔÚzipÖÐÌí¼ÓÒ»¸öMETAµÄ×ÓĿ¼´æ·ÅÇ©ÃûÐÅÏ¢£¬²¢Îªzip°üÖеÄÿ¸öÎļþ¼ÆËãHASHÖµÒԵõ½Ç©ÃûÎļþ(.sf)£¬È»ºó¶ÔÇ©ÃûÎļþ(.sf)½øÐÐÇ©Ãû²¢½«Ç©Ãû±£´æÔÚÇ©Ãû¿éÎļþ(.dsa)ÖС£

ÔÚ±àÒëAndroidÔ´ÂëÉú³ÉROMµÄ¹ý³ÌÖУ¬»áʹÓÃ`build/target/product/security`Ŀ¼ÖеÄËĸökey£¨media, platform, shared, testkey£©¶Ôapk½øÐÐÇ©Ãû¡£ÕâЩĬÈÏkeyÊÇûÓÐÃÜÂë±£»¤µÄ£¬Ö»ÄÜÓÃÓÚdebug°æ±¾µÄROM¡£

ΪÁËÉú³ÉRelease°æ±¾µÄROM£¬ÎÒÃÇÐèÒªÏÈÉú³ÉTargetFiles£¬È»ºóʹÓôøÃÜÂëµÄkey¶ÔTargetFilesÖØÐÂÇ©Ãû¡£ÕâÑù£¬ÓÉÖØÇ©ÃûµÄTargetFiles¾Í¿ÉÒÔÉú³É×îÖÕµÄROM¡£

ÎÒÃÇ¿ÉÒÔʹÓÃAndroidÔ´ÂëÊ÷ÖÐ×Ô´øµÄ¹¤¾ß¡°development/tools/make_key¡±À´Éú³É´øÃÜÂëµÄRSA¹«Ë½Ô¿¶Ô¡£Õâ¸ö¹¤¾ßʵ¼ÊÉÏÊÇͨ¹ýopensslÀ´Éú³ÉÃÜÔ¿µÄ¡£ÀýÈ磬ʹÓÃÒÔÏÂÃüÁîÉú³ÉÒ»¸ö¶þ½øÖÆÐÎʽµÄ˽ԿÎļþ¡°media.pk8¡±ºÍÒ»¸ö¶ÔÓ¦µÄX509¹«Ô¿Ö¤ÊéÎļþ¡°media.x509.pem¡±£º

```bash

development/tools/make_keymedia '/C=CN/ST=Sichuan/L=Chengdu/O=MyOrg/OU=MyDepartment/CN=MyName'

```

ÔÚÕâ¸öÃüÁîÖУ¬`/C`±íʾ¡°CountryCode¡±£¬`/ST`±íʾ¡°State or Province¡±£¬`/L`±íʾ¡°City or Locality¡±£¬`/O`±íʾ¡°Organization¡±£¬`/OU`±íʾ¡°Organizational Unit¡±£¬`/CN`±íʾ¡°Name¡±¡£ÎÒÃÇ»¹¿ÉÒÔÐ޸Ľű¾ÖеIJÎÊýÒÔÉú³ÉʹÓò»Í¬¹«Ô¿Ö¸ÊýeÖµµÄRSAÃÜÔ¿¶Ô¡£

³ýÁËʹÓÃÉÏÊö¹¤¾ß£¬ÎÒÃÇ»¹¿ÉÒÔʹÓÃJDKÖеÄkeytoolÀ´Éú³É¹«Ë½Ô¿¶Ô£¬µÚÈý·½APKÇ©Ãûͨ³£¾ÍÊÇͨ¹ýkeytoolÀ´ÊµÏֵġ£¹«Ô¿Ö¤ÊéÓëAPKÇ©Ãû£ºÉîÈëÀí½âÓëʵ¼ùÖ¸ÄÏ

ÔÚÊý×ÖÊÀ½çÖУ¬¹«Ô¿Ö¤ÊéºÍAPKÇ©Ãû°çÑÝ×ÅÖÁ¹ØÖØÒªµÄ½ÇÉ«£¬ËüÃÇΪÎÒÃÇÌṩÁ˰²È«ÑéÖ¤ºÍÊý¾ÝÍêÕûÐԵı£ÕÏ¡£½«ÎªÄú½ÒʾÈçºÎʹÓÃopensslx509¡¢JDKÖеÄkeytoolµÈ¹¤¾ßÀ´²é¿´ºÍ²Ù×÷¹«Ô¿Ö¤Ê飬ÒÔ¼°ÈçºÎÔÚAndroid¿ª·¢ÖÐʵÏÖAPKµÄÇ©ÃûºÍУÑé¡£

Ò»¡¢¹«Ô¿Ö¤Êé²é¿´

1. ʹÓÃopensslx509ÃüÁî²é¿´¹«Ô¿Ö¤ÊéÏêϸÐÅÏ¢¡£ÀýÈ磺

```shell

opensslx509 -in media.x509.pem -text -noout

```

Äú»¹¿ÉÒÔʹÓÃÈçÏÂÃüÁîÒÔPEM¸ñʽ²é¿´Ö¤ÊéÐÅÏ¢£º

```shell

opensslx509 -in media.x509.pem -inform PEM -text -noout

```

2. ʹÓÃJDKÖеÄkeytool²é¿´¹«Ô¿Ö¤ÊéÄÚÈÝ¡£ËäÈ»keytoolµÄÊä³öÄÚÈÝÏà¶Ô¼ò½à£¬µ«ËüÈÔÈ»ÊÇ¿ª·¢Õß³£ÓõŤ¾ßÖ®Ò»¡£ÃüÁîÈçÏ£º

```shell

keytool -printcert -v -file media.x509.pem

```

¶þ¡¢APKÇ©ÃûÓëÖØÐÂÇ©Ãû

ÔÚAndroid¿ª·¢ÖУ¬¶ÔTargetFiles½øÐÐÇ©ÃûÊÇ·¢²¼Ó¦ÓõÄÖØÒª²½Öè¡£Äú¿ÉÒÔʹÓá°build/tools/releasetools/sign_target_files¡±¹¤¾ßÀ´ÖØÐÂÇ©ÃûTargetFiles¡£ÀýÈ磺

```shell

build/tools/releasetools/sign_target_files_apks -d new_keys_dir -otarget_files.zip target_files_resigned.zip

```

Çë×¢Ò⣬new_keys_dirĿ¼ÖÐÐèÒª°üº¬ËĸöÃÜÔ¿£ºmedia¡¢platform¡¢sharedºÍreleasekey¡£ÆäÖУ¬releasekey½«Ìæ´úĬÈϵÄtestkey¡£ÕâÒâζ×ÅÈç¹ûÄúµÄapkÔÚÉú³ÉTargetFilesʱʹÓõÄÊÇtestkeyÇ©Ãû£¬ÄÇôÔÚÖØÐÂÇ©Ãûʱ½«»áʹÓÃnew_keys_dirϵÄreleasekey¡£

Èý¡¢ÃÜÔ¿¹ÜÀí

¶ÔÓÚµÚÈý·½Ó¦Óÿª·¢Õß¶øÑÔ£¬¹ÜÀíÇ©ÃûÃÜÔ¿ºÍÇ©ÊðAPKÏà¶Ô¼òµ¥¡£³£ÓõŤ¾ß°üÀ¨JDKÖеÄkeytoolºÍjarsigner¡£ÒÔÏÂÊÇһЩ³£ÓÃÃüÁ

1. ʹÓÃkeytoolÉú³É´æ´¢Óй«Ë½Ô¿¶ÔµÄkeystore£º

```shell

keytool -genkey -v -keystore my-release-key.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000

```

2. ²é¿´Éú³ÉµÄÃÜÔ¿ÐÅÏ¢£º

```shell

keytool -list -keystore my-release-key.keystore -alias mykey [-v] [-rfc]£¨×¢£º»ñÈ¡Base64¸ñʽµÄ¹«Ô¿Ö¤Ê飩

```

3. µ¼³ö¹«Ô¿Ö¤Ê飺ÒÔ¶þ½øÖƸñʽ£¨DER£©»òBase64¸ñʽ£¨PEM£©µ¼³ö¹«Ô¿Ö¤Êé¡£ÀýÈ磺

```shell

keytool -export -keystore mystore -alias mykey -file my.der £¨×¢£º¶þ½øÖƸñʽ¹«Ô¿Ö¤Ê飬DER£© keytool -export -keystore mystore -alias mykey -file my.pem £¨×¢£ºBase64¸ñʽ¹«Ô¿Ö¤Ê飬PEM£© keytool -export-keystore mystore -alias mykey [-rfc]£¨×¢£º»ñÈ¡Base64¸ñʽµÄ¹«Ô¿Ö¤Ê飩 ×¢Ò⣺ÔÚµ¼³ö¹«Ô¿Ö¤Êéʱ£¬¿ÉÄÜÐèÒªÊäÈëÃÜÂëÒÔ±£»¤keystoreµÄ°²È«¡£Çë¸ù¾ÝÌáʾÊäÈëÃÜÂë¼´¿É¡£Èç¹ûÍü¼Ç»ò²»È·¶¨ÃÜÂ룬Çë²Î¿¼ÄúµÄÎĵµ»ò×ÉѯÄúµÄÍŶӻòÏà¹ØÔðÈÎÈËÒÔ»ñµÃ°ïÖú¡£µ±ÄúÐèÒª¸üÐÂÄúµÄ¹«Ô¿Ö¤Êéʱ£¬Ö»ÐèʹÓÃеÄÃÜÔ¿¶ÔÖØÐÂÉú³Ékeystore¼´¿É¡£È»ºó£¬Äú¿ÉÒÔʹÓÃеÄkeystoreÖØÐÂÇ©ÊðÄúµÄAPKÒÔ¸üÐÂÆäÇ©ÃûÐÅÏ¢¡£Çë×¢ÒâÍ×ÉÆ±£¹ÜÄúµÄ˽ԿºÍkeystoreÎļþÒÔ·Àֹδ¾­ÊÚȨµÄ·ÃÎʺÍʹÓá£ÕâЩÎļþÊÇÄúµÄÓ¦ÓóÌÐòµÄ°²È«Æ¾Ö¤Ö®Ò»£¬Èç¹û¶ªÊ§»ò±»µÁÓÿÉÄܻᵼÖ°²È«·çÏÕ»ò·¨ÂÉÎÊÌâ¡£ÏÖÔÚÈÃÎÒÃǻص½Ö®Ç°µÄ²½Öè²¢¼ÌÐøÁ˽âÈçºÎ¶ÔAPK½øÐÐÇ©ÃûºÍÑé֤ǩÃû²Ù×÷°É£¡ÔÚ¶ÔAPK½øÐÐÇ©ÃûÖ®ºóÎÒÃÇ¿ÉÒÔʹÓÃjarsigner¹¤¾ß½øÐÐÑéÖ¤ÒÔÈ·±£Æäδ±»´Û¸Ä»òËð»µÏÂÃæÊÇһЩ³£ÓõÄÃüÁÑé֤ǩÃûjarsigner -verify-verbose-certs my_application.apk×¢ÒâÕâ¸öÃüÁ»áÏÔʾÏêϸµÄÑéÖ¤ÐÅÏ¢Èç¹ûapkÊÇÓÐЧǩÃûµÄ½«»áÏÔʾ¡°Ç©ÃûÒÑÑéÖ¤³É¹¦¡±·ñÔò½«»áÏÔʾ´íÎóÐÅÏ¢ºÍÔ­ÒòÔÚ½øÐÐAndroid¶þ´Î¿ª·¢Ê±ÓÐʱÐèÒª½«Ô´ÂëÖеĹ«Ë½Ô¿¶Ôת»»ÎªkeystoreµÄÐÎʽÒÔ±ã¸ü·½±ãµØ¹ÜÀíºÍʹÓÃÕâЩÃÜÔ¿Äú¿ÉÒԲο¼Ïà¹ØµÄÎĵµ»ò½Ì³Ì½«AndroidÔ´ÂëÖеÄÃÜÂë¶Ôת»»ÎªkeystoreµÄÐÎʽÒÔ±ã¸üºÃµØ¹ÜÀíºÍʹÓÃÕâЩÃÜÔ¿×ÜÖ®Á˽âºÍÕÆÎÕÕâЩ¹¤¾ßºÍÃüÁî¶ÔÓÚ¿ª·¢ºÍά»¤°²È«µÄÓ¦ÓóÌÐòÖÁ¹ØÖØÒªÏ£ÍûÕâÆªÎÄÕÂÄܹ»°ïÖúÄú¸üºÃµØÀí½â²¢Êµ¼ù¹«Ô¿Ö¤ÊéºÍAPKÇ©ÃûµÄÏà¹ØÖªÊ¶Èç¹ûÄúÓÐÈκÎÒÉÎÊ»òÐèÒª½øÒ»²½Á˽âÏà¹ØÐÅÏ¢ÇëËæÊ±¹Ø×¢ÎÒÃǵIJ©¿ÍÎÒÃǽ«³ÖÐøÎªÄúÌṩµÄ¼¼ÊõºÍʵÓÃÖ¸ÄÏÔٴθÐлÄúµÄÔĶÁÏ£ÍûÕâÆªÎÄÕ¶ÔÄúÓÐËù°ïÖú£¡Èý¡¢APKÇ©Ãû²Ù×÷³ýÁ˲鿴ºÍ¹ÜÀíÃÜÔ¿Ö®ÍâÎÒÃÇ»¹ÐèÒª¶ÔAPK½øÐÐÇ©ÃûÒÔÈ·±£ÆäÍêÕûÐԺͰ²È«ÐÔÏÂÃæÊÇһЩ³£ÓõÄAPKÇ©Ãû²Ù×÷ÃüÁ¶ÔAPK½øÐÐÇ©Ãûjarsigner -verbose-keystore my-release-key.keystore my_application.apk mykeyÕ⽫ʹÓÃÄúÌṩµÄÃÜÔ¿¶ÔAPK½øÐÐÇ©ÃûÑé֤ǩÃûjarsigner -verify-verbose-certs my_application.apkÕ⽫ÏÔʾÏêϸµÄÑéÖ¤ÐÅÏ¢Èç¹ûAPKÒÑÕýÈ·Ç©ÃûÔòÑéÖ¤

Copyright@2015-2025 °×ñ°·çÍø°æ°åËùÓÐ