logo头像

勤求古训,博采众方

Mac中对jsk文件做系统签名(静默安装)

本文于 1124 天之前发表,文中内容可能已经过时。

mac下注意设置全局环境变量

首先,检查你的默认shell是什么,echo $SHELL。

以前每个新用户的默认shell是/bin/bash,而新版本的macOS Catalina开始,新用户的默认shell改为了zsh

对于zsh,使用.zshrc

  • 这里特别说明:网上很多资料设置环境变量都是针对.bash_profile文件配置的,这里其实根据shell命令实际情况来的

再检查终端中的便好配置,在通用中是否设置了特殊的shell

Android Studio配置系统签名

  • 1.项目的AndroidManifest.xml配置文件增加 android:sharedUserId=”android.uid.system”

  • 2.需要准备两个文件:

    keytool-importkeypair
    platform.x509.pem、platform.pk8(位于../build/target/product/security)可以向产商要平台签名

  • 3.使用生成的签名文件jks来生成系统签名

    • 使用命令:./keytool-importkeypair -k [jks文件名] -p [jks的密码] -pk8 platform.pk8 -cert platform.x509.pem -alias [jks的别名]

    • 这时候会生成一个新的签名文件,把新的jks文件替换掉

  • 4.应用的build.gradle文件增加配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    apply plugin: 'com.android.application'

    android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
    applicationId "com.cxq.signdemo"
    minSdkVersion 19
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    }
    signingConfigs {
    release {
    storeFile file("../signApk/SignDemo.jks")
    storePassword '123456'
    keyAlias 'SignDemo'
    keyPassword '123456'
    }

    debug {
    storeFile file("../signApk/SignDemo.jks")
    storePassword '123456'
    keyAlias 'SignDemo'
    keyPassword '123456'
    }
    }
    buildTypes {
    release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }
    }

    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    }
  • 5.直接运行AS的Run,安装的就是系统权限的应用。

参考

Android Studio自动生成带系统签名的apk
mac设置全局环境变量
在 Mac 上将 zsh 用作默认 Shell
让Android Studio支持系统签名(证书)