一.前提条件
1.需要Google DEV 开发帐号。帐号申请URL:https://accounts.google.com/SignUp
2.需要知道源码App的最后签名所用的认证,生成Google Map API V2 key需要通过认证生成SHA1的加密串。
二,申请步骤
1.通过Google DEV 开发帐号登录,URL:https://code.google.com/apis/console
发布生存的keystore去重新申请key,当然能保证开发的时候使用的签名认证(keyStore)的机制跟发布时候一样就简单多乱,发布的时候就
不需要更新AndroidManifest.xml的key了。
在Ubuntu系统,Eclipse使用的debug.keystore,一般路径在/home/user/.android/debug.keystore,也可以通过Eclipse的
去管理,选择一个自己生成的keystore进行开发。
keystore是通过keytool -list -v -keystore debug.keystore 命令查看SHA1加密串,如下图所示:
需要注意的是,这里是Andoird系统源码的APP开发,App是通过命令编译最后被打包到system.img里面。
这个时候我们就需要知道源码的App最后是怎么被签名的,原则在Android.mk看有没有设置LOCAL_CERTIFICATE,
如:LOCAL_CERTIFICATE := platform就是平台签名,如没有一般都是relaese签名。
在源码:build/target/product/security$下有相关的认证文件:
Android.mk media.x509.pem platform.x509.pem releasekey.pk8 shared.pk8 testkey.pk8 verity_key
media.pk8 platform.pk8 README releasekey.x509.pem shared.x509.pem testkey.x509.pem verity_private_dev_key
这些文件通过如下命令可以转化为keystore文件.platform.x509.pem(公钥)和platform.pk8(私钥)是一对密钥,
以platform签名为例,如下三步可以生成相应的keystore,
1.openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
2.openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name androiddebugkey
3.keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey
如果不清楚APP究竟是怎么签名的,不用担心,可以把APK文件从手机git pull出来,然后变成zip文件解压。
解压后有这个文件,可以通过如下命令查看认证的加密串:
keytool -printcert -file META-INF/CERT.RSA
然后我们就可以根据这个SHA1串,加上包名生成我们需要的key了。
1.需要Google DEV 开发帐号。帐号申请URL:https://accounts.google.com/SignUp
2.需要知道源码App的最后签名所用的认证,生成Google Map API V2 key需要通过认证生成SHA1的加密串。
二,申请步骤
1.通过Google DEV 开发帐号登录,URL:https://code.google.com/apis/console
2.创建项目名,有意义点好些方便以后管理。
3.打开需要使用的API,我们用Google地图必须使用Google Maps Android API V2
4.选择“Create new Andoird key...”
5.输入SHA1串;包名,点击创建生成key.
6.生成Key
大功告成,上图的“AIzaSyAKSunl0AHZVaYA3s4pzK-Ld9utovXO1tY”就是我们需要的key.
发布生存的keystore去重新申请key,当然能保证开发的时候使用的签名认证(keyStore)的机制跟发布时候一样就简单多乱,发布的时候就
不需要更新AndroidManifest.xml的key了。
在Ubuntu系统,Eclipse使用的debug.keystore,一般路径在/home/user/.android/debug.keystore,也可以通过Eclipse的
去管理,选择一个自己生成的keystore进行开发。
keystore是通过keytool -list -v -keystore debug.keystore 命令查看SHA1加密串,如下图所示:
需要注意的是,这里是Andoird系统源码的APP开发,App是通过命令编译最后被打包到system.img里面。
这个时候我们就需要知道源码的App最后是怎么被签名的,原则在Android.mk看有没有设置LOCAL_CERTIFICATE,
如:LOCAL_CERTIFICATE := platform就是平台签名,如没有一般都是relaese签名。
在源码:build/target/product/security$下有相关的认证文件:
Android.mk media.x509.pem platform.x509.pem releasekey.pk8 shared.pk8 testkey.pk8 verity_key
media.pk8 platform.pk8 README releasekey.x509.pem shared.x509.pem testkey.x509.pem verity_private_dev_key
这些文件通过如下命令可以转化为keystore文件.platform.x509.pem(公钥)和platform.pk8(私钥)是一对密钥,
以platform签名为例,如下三步可以生成相应的keystore,
1.openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
2.openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name androiddebugkey
3.keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey
如果不清楚APP究竟是怎么签名的,不用担心,可以把APK文件从手机git pull出来,然后变成zip文件解压。
解压后有这个文件,可以通过如下命令查看认证的加密串:
keytool -printcert -file META-INF/CERT.RSA
然后我们就可以根据这个SHA1串,加上包名生成我们需要的key了。
如48:68:1A:B7:0D:32:76:CA:22:D7:B6:01:54:75:71:36:A3:50:A7:CF;com.android.launcher