Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Android°²È«»úÖÆÌ½ÌÖ
 
×÷ÕߣºÐ¡Æ¿¸Ç_tl À´Ô´£º²©¿Í ·¢²¼ÓÚ£º2016-8-17
  2152  次浏览      27
 

½ñÌìÎÒÃDz»ÁÄ´úÂ룬ÁÄÁÄÎÒÃǵݲ׿±¾Éí¡£

½ü¼¸Äê,Android²Ù×÷ϵͳµÄ·¢Õ¹¼«ÆäѸÃÍ,»ùÓÚAndroidÖÕ¶ËÊг¡Õ¼ÓÐÂʺͳö»õÁ¿½Ú½ÚÅÊÉý¡£Ëæ×Å»¥ÁªÍøÊ±´úµÄµ½À´,AndroidÒѾ­ÈÚÈëÁËÎÒÃǵÄÉú»î¡£ÓëAndroidÊг¡·±ÈÙµÄͬʱ´æÔÚµÄ,ÊÇAndroidµÄ°²È«ÎÊÌâÈÕÒæÍ»³ö,¸÷ÖÖÒþ˽й¶,ÐÅÏ¢¶ªÊ§,¶ñÒâ¿Û·Ñ,ϵͳÈëÇÖÂżû²»ÏÊ¡£Õë¶ÔAndroid°²È«µÄÑо¿Ê®·Ö½ôÆÈºÍ±ØÒª¡£


AndroidµÄ°²È«·¶³ëÖ÷Òª°üÀ¨Ó²¼þ¡¢Í¨ÐÅ¡¢Èí¼þ¡¢ÐÅÏ¢ËÄ´ó·½Ãæ¡£±¾ÎĽ«ÔÚAndroid¿ò¼ÜµÄ»ù´¡Ö®ÉÏ£¬Öصã¶ÔÈí¼þ½øÐÐ̽ÌÖ¡£

ÏÈ¿´¿´AndridµÄ¿ò¼Ü£¬Èçͼ£º

ÕâÊÇÒ»¸ö¾­µäµÄAndroid¿ò¼Üͼ£¬ºÜ¶àÈ˶¼¼û¹ý£¬ÎÒÏȼòÒªµÄ¸ÅÀ¨Ò»ÏÂÕâЩÐÅÏ¢£¬Android²ÉÓ÷ֲãµÄϵͳ¼Ü¹¹£¬ÓÉÏÂÍùÉÏ·Ö±ðÊÇlinuxÄں˲㡢Ӳ¼þ³éÏó²ã¡¢ÏµÍ³ÔËÐÐʱ¿â²ã¡¢Ó¦ÓóÌÐò¿ò¼Ü²ãºÍÓ¦ÓóÌÐò²ã¡£

AndroidÒÔLinux²Ù×÷ϵͳÄÚºËΪ»ù´¡£¬ÊµÏÖÓ²¼þÉ豸Çý¶¯¡¢½ø³ÌºÍÄÚ´æ¹ÜÀí¡¢ÍøÂçЭÒéÕ»¡¢µçÔ´¹ÜÀíµÈºËÐÄϵͳ¹¦ÄÜ¡£³ý´ËÒÔÍ⣬Android»¹Ôö¼ÓÁËÒ»Ð©ÃæÏòÒÆ¶¯É豸µÄÌØÓй¦ÄÜ£¬ÈçµÍÄÚ´æ¹ÜÀíLMK(Low Memory Killer)¡¢ÄäÃû¹²ÏíÄÚ´æ(Ashmem: Anonymous Shared Memory)£¬ÒÔ¼°½ø³Ì¼äͨÐÅBinder»úÖÆ¡£ÕâЩ¹¦ÄܵÄÔöÇ¿½øÒ»²½ÌáÉýÁËAndroidÔÚÄÚ´æ¹ÜÀí¡¢½ø³Ì¼äͨÐŵȷ½ÃæµÄ°²È«ÐÔ¡£

Android֮ǰµÄ°æ±¾²¢²»´æÔÚÓ²¼þ³éÏó²ã¡£¼øÓÚÓ²¼þ³§É̲¢²»Ï£Íû¹«¿ªÆäÉ豸Çý¶¯µÄÔ´´úÂ룬Google¶Ô´Ë½«LinuxÄÚºËÇý¶¯³ÌÐò½øÐзâ×°£¬ÆÁ±Îµôµ×²ãµÄʵÏÖϸ½Ú£¬ÏòÉÏÌṩͳһµÄ½Ó¿Ú£¬Õâ¾ÍÊÇÓ²¼þ³éÏó²ã¡£

½ÓÏÂÀ´½øÈë½ñÌìµÄÖ÷Ìâ¡£

Ê×ÏÈ˵˵ӦÓò㰲ȫÎÊÌ⣺

1.´úÂ밲ȫ

a¡¢Java²»Í¬ÓÚC/C++£¬javaÊǽâÊÍÐÔÓïÑÔ£¬´æÔÚ´úÂë±»·´±àÒëµÄÒþ»¼£»

b¡¢Ä¬ÈÏ»ìÏýÆ÷Ϊproguard£¬×îа汾Ϊ4.7£» proguard»¹¿ÉÓÃÀ´Ñ¹Ëõ¡¢ÓÅ»¯java×Ö½ÚÂ룬ɾ³ýÎÞÓõÄÀà¡¢×ֶΡ¢·½·¨¡¢ÊôÐÔ¡¢×¢Ê͵ȡ£

c¡¢ÅäÖ÷½·¨ÎªÔÚAndroid.mkÖÐÉèÖãºLOCAL_PROGUARD_FLAG_FILES := proguard.flags

d:packages/apps/Launcher2/proguard.flags

//ÌØ¶¨·½·¨
-keep class com.android.launcher2.Launcher {
public void previousScreen(android.view.View);
public void nextScreen(android.view.View);
public void launchHotSeat(android.view.View);
}
//ÌØ¶¨À࣬¡°$¡±±íʾºóÃæµÄÀàÊÇÇ°ÃæµÄÀàµÄÄÚ²¿Àà
-keep class com.android.launcher2.AllApps3D$Defines {
*;
}
-keep class com.android.launcher2.ClippedImageView {
*;
}

2¡¢½ÓÈëȨÏÞ

a¡¢È¨ÏÞÖ÷ÒªÓÃÀ´¶ÔÓ¦ÓõIJÙ×÷Ôö¼ÓÏÞÖÆ£¬·ÀÖ¹¶ñÒâÓ¦ÓýøÐзǷ¨²Ù×÷¸øÓû§Ôì³ÉÃô¸ÐÊý¾Ýй©ºÍÉ豸±»·Ç·¨¿ØÖÆ£¬·ÀÖ¹¶ñÒâÊշѵȣ»

b¡¢AndroidµÄ½ÓÈëȨÏÞ

£¨1£©NormalȨÏÞ

£¨2£©DangerousȨÏÞ

£¨3£©signatureOrSystemȨÏÞ

£¨4£©SignatureȨÏÞ

c¡¢¿ò¼Ü²ãȨÏÞ¶¨ÒåλÖÃ

£¨1£©frameworks/base/core/res/ AndroidManifest.xml

d¡¢È¨ÏÞ¿ÉÓÃÓÚÕû¸öÓ¦Óá¢Activity¡¢ServiceµÈ¡£

3¡¢´´½¨½ÓÈëȨÏÞºÍȨÏÞ×é

<permission android:name=¡°android.permission.GET_ACCOUNTS¡±    
android:permissionGroup=¡°android.permission-group.ACCOUNTS¡±
android:protectionLevel="normal¡°
android:description=¡°@string/permdesc_getAccounts¡±
android:label="@string/permlab_getAccounts" />
<permission-group
android:name=¡°android.permission-group.STORAGE¡±
android:label="@string/permgrouplab_storage¡°
android:description="@string/permgroupdesc_storage" />

 

4¡¢Ó¦ÓÃȨÏÞµÄÉèÖÃ

a¡¢¹²ÏíÓû§ID¼´¹²ÓÃÒ»¸ö½ø³Ì

£¨1£©AndroidÔ´´úÂëÊ÷Я´øµÄϵͳ֤Êé°üÀ¨¡°media¡±¡¢¡°platform¡±¡¢¡°shared¡±¡¢¡°testkey¡±µÈ£¬ÆäÖС°media¡±Ö¤ÊéÓÃÓÚ¶àýÌå¡¢ÏÂÔØ³¡¾°ÖУ»¡°platform¡±Ö¤ÊéÓÃÓÚϵͳ³¡¾°ÖУ»¡°shared¡±Ö¤ÊéÓÃÓÚÆô¶¯Æ÷¡¢µç»°²¾³¡¾°ÖУ»¡°testkey¡±Ö¤ÊéÓÃÓÚ¿ª·¢³¡¾°ÖУ¬ÕâЩ֤ÊéλÓÚbuild/target/product/securityĿ¼Ï£»Ä¿Ç°Ö§³ÖµÄ¡°sharedUserId¡±ÊôÐÔ°üÀ¨:

¡°com.android.cts.shareduid¡±

¡°com.android.cts.process.uidpid_test¡±

¡°android.uid.system¡±

¡°com.android.uid.test¡±

¡°android.uid.calendar¡±

¡°android.media¡±

¡¢¡°com.android.framework.externalsharedpermstestapp¡±

¡°android.uid.shared¡±

¡°android.uid.phone¡±µÈ¡£

³£ÓõİüÀ¨¡°android.uid.system¡±¡¢¡°android.media¡±¡¢¡°android.uid.shared¡±µÈ¡£

b¡¢ÉèÖÃÓ¦ÓÃȨÏÞ

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

5¡¢È¨ÏÞÑéÖ¤

a¡¢AndroidÌṩÁ˶à¸ö·½·¨¿ÉÓÃÓÚÑéÖ¤µ÷Ó÷½ÊÇ·ñ¾ßÓÐÏàÓ¦µÄȨÏÞ¡£

b¡¢Èç¹ûµ÷Ó÷½ÓµÓÐÏàÓ¦µÄȨÏÞ£¬ÔòȨÏÞÑéÖ¤µÄ·µ»ØÖµÎªPackageManager. PERMISSION_GRANTED·ñÔò·µ»ØPackageManager.PERMISSION_DENIED¡£

c¡¢Ê¾Àý

private int enforceAccessPermission() {
int ret =
mContext.checkCallingOrSelfPermission("android.permission.BIND_WALLPAPER ");
return ret;
}

ÁÄÍêÁËÓ¦ÓòãµÄÄÚÈÝ£¬ÔÙ¿´¿´Ó¦Óÿò¼Ü²ãµÄÄÚÈÝ¡£

1¡¢Êý×ÖÖ¤Êé

a¡¢AndroidµÄÊý×ÖÖ¤ÊéÊÇÃâ·ÑµÄ£¬·Öµ÷ÊÔģʽºÍ·¢²¼Ä£Ê½Á½ÖÖ£»

b¡¢Í¨¹ýÃüÁîÐкÍEclipse¿ÉÒÔÉú³É·¢²¼Ä£Ê½µÄÊý×ÖÖ¤Ê飻ÔÚÃüÁîÐз½Ê½ÏÂÀûÓÃKeytoolÀ´Éú³ÉÊý×ÖÖ¤Ê飬²¢ÀûÓÃJarsignerÀ´ÎªAPK½øÐÐÊý×ÖÇ©Ãû£»Ê¹ÓÃADT Export Wizard½øÐÐÇ©Ãû£»

c¡¢Ö»ÓÐͬһ°üÃûÇÒ²ÉÓÃͬһÊý×ÖÖ¤ÊéµÄÓ¦Óòű»ÈÏΪÊÇͬһ¸öÓ¦Óã»

d¡¢Êý×ÖÖ¤ÊéµÄ×î´óÓÃ;ÊÇÓ¦ÓÃÉý¼¶ºÍÉèÖÃÓ¦ÓüäͨÐŵÄȨÏÞ£»

2¡¢KeytoolÉú³ÉÊý×ÖÖ¤Êé

keytool -genkey -v -keystore android.keystore -alias miaozl-keyalg RSA -validity 20000

a¡¢¡°keystore android.keystore¡±±íʾÉú³ÉµÄÖ¤ÊéΪ¡°android.keystore¡±£¬¿ÉÒÔ¼ÓÉÏ·¾¶£¨Ä¬ÈÏÔÚÓû§Ö÷Ŀ¼Ï£©£»¡°alias miaozl¡±±íʾ֤ÊéµÄ±ðÃûÊÇ¡°miaozl¡±£»¡°keyalg RSA¡±±íʾ²ÉÓõÄRSAËã·¨£»¡°validity 20000¡±±íʾ֤ÊéµÄÓÐЧÆÚÊÇ20000Ìì¡£ÁíÍâͨ¹ýkeypass¿ÉÒÔÉèÖÃÊý×ÖÖ¤Êé˽ԿµÄÃÜÂ룬ͨ¹ýkeysize¿ÉÒÔÉèÖÃËã·¨µÄ볤£¬Ä¬ÈÏΪ1024±ÈÌØ£¬ÍƼö2048±ÈÌØ¼°¸ü³¤£¬Í¨¹ýstorepass¿ÉÒÔÉèÖÃÖ¤ÊéµÄÃÜÂë¡£

3¡¢Jarsigner½øÐÐÊý×ÖÇ©Ãû

jarsigner -verbose -keystore android.keystore demo.apk  

½ÓÏÂÀ´jarsigner»áÌáʾÊäÈëÃÜÔ¿¿âµÄ¿ÚÁîºÍÖ¤Êé±ðÃûµÄ¿ÚÁȫ²¿ÊäÈëºó£¬¼´¿ÉÍê³ÉÇ©Ãû

4¡¢²é¿´Êý×ÖÖ¤ÊéÇ©Ãû

#jarsigner -verify -verbose -certs demo.apk

ÔÙ¿´¿´ÍøÂ簲ȫÎÊÌ⣺

1¡¢¼ÓÃÜËã·¨£¨Ãô¸ÐÊý¾Ý£©

a¡¢DES£¨¶Ô³Æ£©¡¢3DES£¨¶Ô³Æ£©¡¢RSA£¨·Ç¶Ô³Æ£©¡¢MD5¡¢RC2/RC4£¨¶Ô³Æ£©¡¢IDEA¡¢AES¡¢BLOWFISHµÈ

2¡¢Web·þÎñ£¨HTTP²ã£©

a¡¢ÈýÖÖÊÖ¶ÎWS-Security¡¢SSL¡¢Êý×ÖÇ©Ãû¡£Ä¿Ç°ksoap²»Ö§³ÖWS-Security

3¡¢TCP²ã

a¡¢SSL¡¢TSL

4¡¢Êý¾ÝÁ´Â·²ã

a¡¢WAPI

È»ºó¼°Ê±Êý¾Ý¿âµÄ°²È«ÎÊÌ⣺

1¡¢Android²ÉÓõÄSQLiteĿǰ²ÉÓÃÃ÷ÎÄ´æ´¢Êý¾Ý£»°²È«Éæ¼°¼ÓÃÜ¡¢¶Áд¡¢ËÑË÷µÈ¡£

2.¼ÓÃÜ·½·¨

a¡¢¼ÓÃÜËã·¨£¨ÊµÏÖ·½·¨²Î¿¼ÍøÉÏ£©

b¡¢È¨ÏÞÉèÖÃ

3¡¢È¨ÏÞÉèÖÃ

android:permission
android:readPermission
android:writePermission

4¡¢¶ÁдȨÏÞʾÀý

<provider
android:name=".provider.AttachmentProvider" android:authorities="com.android.email.attachmentprovider"
android:multiprocess="true"
android:grantUriPermissions="true¡°
android:readPermission="com.android.email.permission.READ_ATTACHMENT"/>

5¡¢Êý¾Ý¿â°²È«¨CËÑË÷

<provider 
android:name="SuggestionsProvider"
android:readPermission="android.permission.READ_SMS" android:authorities="com.android.mms.SuggestionsProvider" >

<path-permission
android:pathPrefix="/search_suggest_query"
android:readPermission="android.permission.GLOBAL_SEARCH" />

<path-permission
android:pathPrefix="/search_suggest_shortcut"
android:readPermission="android.permission.GLOBAL_SEARCH" />
</provider>

ÔÙ¿´¿´ÎÒÃǵÄÐéÄâ»ú£º

1¡¢Í¨³£Çé¿öÏ£¬Ã¿¸öÓ¦ÓþùÓµÓÐÒ»¸öÐéÄâ»ú¡£

2¡¢Í¨³£Çé¿öÏ£¬Ó¦ÓüäÎÞ·¨Ï໥·ÃÎÊ˽ÓÐÊý¾Ý¡£

3¡¢·ÃÎÊÊý¾ÝµÄ·½·¨Îª£º

a¡¢Îļþ·½Ê½

b¡¢Êý¾Ý¿âȨÏÞ¿ª·Å

c¡¢ÅäÖÃÎļþ¿ª·Å

d¡¢IntentͨÐÅ

»¹ÓÐ×îºóÒ»¸öÄÚÈÝ£º

Îļþ·ÃÎÊ¿ØÖÆ

1¡¢AndroidÔÚȨÏÞ¹ÜÀíÉÏÓ¦ÓÃÁËLinuxµÄACL£¨Access Control List£©È¨ÏÞ»úÖÆ£¬¶ø·ÇÔçÆÚUnix²ÉÓõÄUGOȨÏÞ»úÖÆ¡£

2¡¢·ÖÇø²ãÃæ

a¡¢ÔÚϵͳÔËÐÐʱ£¬×îÍâ²ã°²È«±£»¤ÊÇÓÉLinuxϵͳÌṩµÄ£¬ÆäÖÐsystem.imgËùÔڵķÖÇøÊÇÖ»¶ÁµÄ£¬²»ÔÊÐíÓû§Ð´È룬¶ødata.imgËùÔڵķÖÇøÊǿɶÁдµÄ£¬ÓÃÓÚ´æ·ÅÓû§Êý¾Ý¡£
·ÖÇøµÄÓû§È¨ÏÞÔÚinit.rcÖж¨Òå¡£

3¡¢µ¥¶ÀÎļþ

a¡¢µ¥¶ÀÎļþ·ÃÎÊȨÏÞ¿ØÖÆ·ÖȺ×é¡¢Óû§¡¢È¨ÏÞ¡£

b¡¢È¨Ï޷ֿɶÁ¡¢¿Éд¡¢¿ÉÖ´ÐС£

c¡¢ÃüÁî:chown\chgrp\chmod¡£

ÒÔÉϾÍÊÇÎÄÕµÄÈ«²¿ÄÚÈÝ£¬ÕâÊÇ´Ó´ó·¶Î§µÄ½Ç¶ÈÀ´¿´£¬ÔÚÒÔºóµÄÎÄÕÂÖУ¬ÎÒ»áͨ¹ý´úÂëÀ´¾ßÌå³ÊÏÖ¡£Ð»Ð»´ó¼ÒµÄÔĶÁ¡£

 

   
2152 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ


Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ


ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ