Xamarin.android 如何使用Xamarin Android调试平台签名系统应用程序

Xamarin.android 如何使用Xamarin Android调试平台签名系统应用程序,xamarin.android,adb,visual-studio-debugging,Xamarin.android,Adb,Visual Studio Debugging,我目前正在从事一个项目,该项目必须是一个平台签名的系统应用程序,才能在专有安卓设备的I2C总线上进行通信 清单包含android:sharedUserId=“android.uid.system”,生成的未签名apk将与此批处理一起签名、zipaligned和安装 java -jar signapk.jar platform.x509.pem platform.pk8 unsigned.apk signed.apk zipalign -f -v 4 signed.apk aligned.apk

我目前正在从事一个项目,该项目必须是一个平台签名的系统应用程序,才能在专有安卓设备的I2C总线上进行通信

清单包含android:sharedUserId=“android.uid.system”,生成的未签名apk将与此批处理一起签名、zipaligned和安装

java -jar signapk.jar platform.x509.pem platform.pk8 unsigned.apk signed.apk
zipalign -f -v 4 signed.apk aligned.apk
adb install -rg aligned.apk
这个很好用。但是,我需要使用此权限执行广泛的开发,需要附加调试器。我曾经尝试过使用一种自定义配置,在包中包含Mono运行时的同时保留调试器符号,结果发现您无法从Xamarin连接到已经运行的Android应用程序

有没有办法创建一个使用平台签名签名的密钥库,我可以将它放在…\AppData\Local\Xamarin\Mono for Android\中以替换debug.keystore?其想法是,调试构建部署过程将接收到这一点,我将拥有所需的特权,并具有调试器的附件


非常感谢您的帮助。

您可以使用DER编码的PKCS#8私钥和相应的PEM编码的X.509证书创建JKS密钥库,如下所示:

openssl pkcs8 -inform der -in platform.pk8 -nocrypt -out platform.key
openssl pkcs12 -export -in platform.x509.pem -inkey platform.key -out platform.p12
keytool -importkeystore \
    -srckeystore platform.p12 -srcstoretype pkcs12 \
    -destkeystore platform.keystore \
    -deststorepass android -destkeypass android
shred -u platform.key platform.p12

对于以下内容,在执行Alex的步骤后,我将其添加到.csproj文件中,以使Visual Studio将其用于此特定示例

<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <AndroidKeyStore>True</AndroidKeyStore>
    <AndroidSigningKeyStore>(path)\platform.keystore</AndroidSigningKeyStore>
    <AndroidSigningStorePass>android</AndroidSigningStorePass>
    <AndroidSigningKeyAlias>1</AndroidSigningKeyAlias>
    <AndroidSigningKeyPass>android</AndroidSigningKeyPass>
</PropertyGroup>

真的
(路径)\platform.keystore
安卓
1.
安卓

谢谢!工作如预期。由于此问题已解决,您可以将其标记为答案,这样它可以帮助其他社区成员解决与您相同的问题,再次感谢您的共享。完成。。。我想我需要先达到15岁。我错了。