仅限Windows 此错误使用相同的解决方案在Mac上发生 NOT 。
将Firebase广告添加到Xamarin.Forms会导致:名称不能以“$”字符开头,十六进制值0x24 Visual Studio将其显示为警告,但它实际上是通过构建停止的。
1>DccClassCancelations.Android -> D:\dev\DccClassCancelationsLite\DccClassCancelations\DccClassCancelations\DccClassCancelations.Android\bin\Debug\DccClassCancelations.Android.dll
1>No way to resolve conflict between "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e". Choosing "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" arbitrarily.
1>Name cannot begin with the '$' character, hexadecimal value 0x24.
1>C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.3\zipalign.exe 4 "D:\dev\DccClassCancelationsLite\DccClassCancelations\DccClassCancelations\DccClassCancelations.Android\obj\Debug\android\bin\com.JacobErnst.DccClassCancelations.apk" "bin\Debug\\com.JacobErnst.DccClassCancelations-Signed.apk"
1>C:\Program Files (x86)\Android\android-sdk\build-tools\25.0.3\apksigner.BAT sign --ks "C:\Users\jacob\AppData\Local\Xamarin\Mono for Android\debug.keystore" --ks-pass pass:android --ks-key-alias androiddebugkey --key-pass pass:android --min-sdk-version 15 --max-sdk-version 27 bin\Debug\com.JacobErnst.DccClassCancelations-Signed.apk
1>"apksigner.BAT" exited with code 2.
1>Done building project "DccClassCancelations.Android.csproj" -- FAILED.
1>Build FAILED.
1>
1>Deploy failed on NExus6 ========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========
visual studio解决方案中的任何文件都没有以'$'开头的名称
重现的步骤
答案 0 :(得分:2)
1>Name cannot begin with the '$' character, hexadecimal value 0x24.
不应该破坏您的代码。 (不可否认,我几周都忽略了这个错误,我没有编译问题。)
从你的输出我会认为问题是因为1>"apksigner.BAT" exited with code 2.
根据经验,我遇到了与应用程序大小相似的问题。在包含Google服务时,Android可以轻松满足65,000种方法的限制。解决方案是启用multidex。
总而言之,如果我之前的建议不起作用,Name cannot begin with the '$' character
不应该导致致命错误,我建议你考虑正确重命名mscorlib(但同样不太可能是你问题的根源)然后你的签名过程(没有适当的细节我不能在这里建议解决方案,但签署你的apk时的错误至少会崩溃你的应用程序,如果不终止构建)因为