代码之家  ›  专栏  ›  技术社区  ›  user1288005

在android Studio中跨不同开发人员机器共享android调试证书

  •  4
  • user1288005  · 技术社区  · 7 年前

    当同一部手机连接到不同的macbook上时,Android调试版本会被重新安装,所有的开发机器(macbook)有没有办法共享同一个调试证书?这将有助于避免在开发设备上重新安装。

    4 回复  |  直到 7 年前
        1
  •  6
  •   Gourav    7 年前

    build.gradle

    signingConfigs {
        debug {
            storeFile file('../keystore/debug.keystore')
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
        release {
            // ...
        }
    }
    
        2
  •  1
  •   Nicola Gallazzi    7 年前

    只需转到:

    • OS X和Linux上的~/.android/文件夹
    • C:\Documents and Settings\.android\在Windows XP上
    • C:\Users\.android\在Windows Vista和Windows 7、8和10上

    并找到debug.keystore文件。将文件复制并粘贴到同一位置的其他计算机上。 希望能成功!

        3
  •  1
  •   Gourav    7 年前

    是的,你可以。

    ~.android/debug.keystore 和你的队友在一起。

        4
  •  0
  •   Jose    7 年前

    您也可以为调试构建创建自己的密钥库。在Mac上,通常在 ~/.android 文件夹。要创建密钥库,可以执行以下操作:

    1. 创建 .properties 使用您的项目名称(比如projectname.properties)文件并将其存储在项目根目录或其他位置。
    2. 添加以下条目。
        keystore=<path>\\filename.keystore
        keystore.password=<password>
      
    3. 现在我们需要连接 projectname.properties gradle.properties 并添加一个条目。
       projectname.properties=<path to .properties file>
      
    4. 我们现在可以在中访问此属性 gradle.build

      • 现在可以检查.properties文件是否可用。
       if(project.hasProperty("yourprojectname.properties")
        && new File(project.property("yourprojectname.properties")).exists()) {
      
         Properties propObj = new Properties()
         propObj.load(new FileInputStream(file(project.property("yourprojectname.properties")))
         // now we have 'propObj' object to access keystore.
      
       }
      
    5.  android {
          signingConfigs {
              release {
                  //.......
              }
              debug {
                  keyAlias 'debug'
                  keyPassword propObj['keystore.password']
                  storeFile file(propObj['keystore'])
                  storePassword propObj['keystore.password']
              }
          }