Pico 使用 android:sharedUserId=“android.uid.system“ 的问题

本文介绍如何为Pico平台的应用进行系统签名,包括修改配置文件加入android:sharedUserId属性,使用指定网站完成签名过程,解决应用未安装的问题。

在需要某些功能的时候 比如 pico的按键禁用,或调用 重启 、关机 等函数时,都会要修改配置文件 加上 android:sharedUserId=“android.uid.system” 。 但是打包后 安装 会出现 应用未安装 的字样 ,这是因为没有系统签名的缘故 ,登入 网站 http://sign.picovr.com/login,
在这里插入图片描述
账号的话需要官方人员帮你注册
在这里插入图片描述
在这里插入图片描述
,然后上传打包出来的apk,然后等待签名完毕 .

在这里插入图片描述
签名成功后在 已签名 那下载签名成功的包,然后就能安装了

CommandInvokationFailure: Gradle build failed. C:\Program Files\Unity\Hub\Editor\2022.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2022.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-7.2.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleDebug" Environment Variables: USERDOMAIN = DESKTOP-IAVVFD3 ProgramFiles = C:\Program Files TMP = C:\Users\ADMINI~1\AppData\Local\Temp PROCESSOR_ARCHITECTURE = AMD64 PROCESSOR_REVISION = b701 OneDriveConsumer = C:\Users\Administrator\OneDrive OS = Windows_NT CHROME_CRASHPAD_PIPE_NAME = \\.\pipe\crashpad_11696_KOELNCNSWQLHCNLG PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 183 Stepping 1, GenuineIntel ProgramW6432 = C:\Program Files USERPROFILE = C:\Users\Administrator JAVA_HOME = C:\Program Files\Unity\Hub\Editor\2022.3.4f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK CommonProgramFiles = C:\Program Files\Common Files DriverData = C:\Windows\System32\Drivers\DriverData ComSpec = C:\windows\system32\cmd.exe PSModulePath = C:\Program Files\WindowsPowerShell\Modules;C:\windows\system32\WindowsPowerShell\v1.0\Modules PUBLIC = C:\Users\Public USERNAME = Administrator NUMBER_OF_PROCESSORS = 28 JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF-8 TEMP = C:\Users\ADMINI~1\AppData\Local\Temp Path = C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\dotnet\;C:\Program Files\Git\cmd;D:\TortoiseGit\bin;D:\软件\010 Editor;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;C:\Users\Administrator\.dotnet\tools COMPUTERNAME = DESKTOP-IAVVFD3 PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC ALLUSERSPROFILE = C:\ProgramData SystemDrive = C: windir = C:\windows ZES_ENABLE_SYSMAN = 1 CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files APPDATA = C:\Users\Administrator\AppData\Roaming OneDrive = C:\Users\Administrator\OneDrive PROCESSOR_LEVEL = 6 CommonProgramW6432 = C:\Program Files\Common Files ProgramFiles(x86) = C:\Program Files (x86) SystemRoot = C:\windows SESSIONNAME = Console EFC_32636 = 1 LOGONSERVER = \\DESKTOP-IAVVFD3 LOCALAPPDATA = C:\Users\Administrator\AppData\Local HOMEPATH = \Users\Administrator HOMEDRIVE = C: USERDOMAIN_ROAMINGPROFILE = DESKTOP-IAVVFD3 ProgramData = C:\ProgramData ORIGINAL_XDG_CURRENT_DESKTOP = undefined stderr[ Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 注: D:\Pro\FYDQ\FYDQ\ImperialMausoleum\ImperialMausoleum\Library\Bee\Android\Prj\IL2CPP\Gradle\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':launcher:compressDebugAssets'. > A failure occurred while executing com.android.build.gradle.internal.tasks.CompressAssetsWorkAction > Java heap space * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 37s ] stdout[ Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details > Task :launcher:preBuild UP-TO-DATE > Task :unityLibrary:xrmanifest.androidlib:preBuild UP-TO-DATE > Task :unityLibrary:preBuild UP-TO-DATE > Task :launcher:preDebugBuild UP-TO-DATE > Task :unityLibrary:preDebugBuild UP-TO-DATE > Task :unityLibrary:xrmanifest.androidlib:preDebugBuild UP-TO-DATE > Task :launcher:mergeDebugNativeDebugMetadata NO-SOURCE > Task :unityLibrary:packageDebugRenderscript NO-SOURCE > Task :unityLibrary:xrmanifest.androidlib:compileDebugAidl NO-SOURCE > Task :unityLibrary:compileDebugAidl NO-SOURCE > Task :unityLibrary:xrmanifest.androidlib:packageDebugRenderscript NO-SOURCE > Task :unityLibrary:xrmanifest.androidlib:compileDebugRenderscript NO-SOURCE > Task :unityLibrary:xrmanifest.androidlib:generateDebugResValues > Task :unityLibrary:generateDebugResValues > Task :unityLibrary:xrmanifest.androidlib:generateDebugResources > Task :unityLibrary:compileDebugRenderscript NO-SOURCE > Task :unityLibrary:generateDebugResources > Task :launcher:generateDebugBuildConfig > Task :launcher:compileDebugAidl NO-SOURCE > Task :launcher:compileDebugRenderscript NO-SOURCE > Task :unityLibrary:writeDebugAarMetadata > Task :unityLibrary:xrmanifest.androidlib:writeDebugAarMetadata > Task :launcher:generateDebugResValues > Task :launcher:generateDebugResources > Task :launcher:javaPreCompileDebug > Task :unityLibrary:xrmanifest.androidlib:packageDebugResources > Task :launcher:createDebugCompatibleScreenManifests > Task :unityLibrary:xrmanifest.androidlib:extractDeepLinksDebug > Task :launcher:extractDeepLinksDebug > Task :launcher:mergeDebugShaders > Task :launcher:compileDebugShaders NO-SOURCE > Task :launcher:generateDebugAssets UP-TO-DATE > Task :launcher:processDebugJavaRes NO-SOURCE > Task :unityLibrary:packageDebugResources > Task :unityLibrary:extractDeepLinksDebug > Task :unityLibrary:compileDebugLibraryResources > Task :unityLibrary:generateDebugBuildConfig > Task :unityLibrary:javaPreCompileDebug > Task :unityLibrary:xrmanifest.androidlib:compileDebugLibraryResources > Task :unityLibrary:xrmanifest.androidlib:generateDebugBuildConfig > Task :unityLibrary:mergeDebugShaders > Task :unityLibrary:compileDebugShaders NO-SOURCE > Task :unityLibrary:generateDebugAssets UP-TO-DATE > Task :unityLibrary:xrmanifest.androidlib:javaPreCompileDebug > Task :unityLibrary:xrmanifest.androidlib:mergeDebugShaders > Task :unityLibrary:xrmanifest.androidlib:compileDebugShaders NO-SOURCE > Task :unityLibrary:xrmanifest.androidlib:generateDebugAssets UP-TO-DATE > Task :launcher:checkDebugDuplicateClasses > Task :unityLibrary:xrmanifest.androidlib:packageDebugAssets > Task :unityLibrary:xrmanifest.androidlib:processDebugJavaRes NO-SOURCE > Task :unityLibrary:xrmanifest.androidlib:bundleLibResDebug NO-SOURCE > Task :unityLibrary:xrmanifest.androidlib:mergeDebugJniLibFolders > Task :unityLibrary:xrmanifest.androidlib:mergeDebugNativeLibs NO-SOURCE > Task :unityLibrary:xrmanifest.androidlib:copyDebugJniLibsProjectOnly > Task :unityLibrary:processDebugManifest > Task :unityLibrary:xrmanifest.androidlib:processDebugManifest > Task :unityLibrary:xrmanifest.androidlib:parseDebugLocalResources > Task :unityLibrary:parseDebugLocalResources > Task :launcher:mergeDebugJniLibFolders > Task :launcher:validateSigningDebug > Task :launcher:writeDebugAppMetadata > Task :launcher:writeDebugSigningConfigVersions > Task :launcher:mergeDebugResources > Task :unityLibrary:xrmanifest.androidlib:generateDebugRFile > Task :unityLibrary:xrmanifest.androidlib:compileDebugJavaWithJavac > Task :unityLibrary:xrmanifest.androidlib:bundleLibRuntimeToDirDebug > Task :unityLibrary:xrmanifest.androidlib:bundleLibCompileToJarDebug > Task :launcher:desugarDebugFileDependencies > Task :launcher:mergeExtDexDebug > Task :unityLibrary:packageDebugAssets > Task :unityLibrary:processDebugJavaRes > Task :unityLibrary:bundleLibResDebug > Task :unityLibrary:mergeDebugJniLibFolders > Task :unityLibrary:generateDebugRFile > Task :unityLibrary:compileDebugJavaWithJavac > Task :unityLibrary:bundleLibRuntimeToDirDebug > Task :unityLibrary:bundleLibCompileToJarDebug > Task :unityLibrary:mergeDebugNativeLibs > Task :unityLibrary:copyDebugJniLibsProjectOnly > Task :launcher:mergeDebugAssets > Task :launcher:checkDebugAarMetadata > Task :launcher:processDebugMainManifest > Task :launcher:processDebugManifest > Task :launcher:mergeLibDexDebug > Task :launcher:processDebugManifestForPackage > Task :launcher:mergeDebugJavaResource > Task :launcher:mergeDebugNativeLibs > Task :launcher:processDebugResources > Task :launcher:stripDebugDebugSymbols > Task :launcher:compileDebugJavaWithJavac > Task :launcher:dexBuilderDebug > Task :launcher:mergeProjectDexDebug > Task :launcher:compressDebugAssets FAILED 65 actionable tasks: 65 executed ] exit code: 1 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <b417242467964bd1aa8aad6e355fdf88>:0) UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <b417242467964bd1aa8aad6e355fdf88>:0) UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <b417242467964bd1aa8aad6e355fdf88>:0) UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <b417242467964bd1aa8aad6e355fdf88>:0) UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, Unity.Android.Gradle.AndroidGradle androidGradle, System.String workingdir, System.String task, System.Action`1[T] progress) (at <b417242467964bd1aa8aad6e355fdf88>:0) Rethrow as GradleInvokationException: Gradle build failed UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, Unity.Android.Gradle.AndroidGradle androidGradle, System.String workingdir, System.String task, System.Action`1[T] progress) (at <b417242467964bd1aa8aad6e355fdf88>:0) UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <b417242467964bd1aa8aad6e355fdf88>:0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <b417242467964bd1aa8aad6e355fdf88>:0) UnityEditor.DefaultBuildMethods:BuildPlayer(BuildPlayerOptions) Unity.XR.PXR.Editor.PXR_SDKBuildCheck:OnBuild(BuildPlayerOptions) (at D:/Pro/FYDQ/FYDQ/ImperialMausoleum/PICO Unity Integration SDK_3.1.0_20250109/Editor/PXR_SDKBuildCheck.cs:67) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
06-23
### Unity 开发中 AndroidManifest Activity 配置详解 #### 1. **ConfigChanges 属性** `configChanges` 是用来指定哪些配置更改应该由应用程序自行处理而不是重新创建 Activity。这可以防止因屏幕方向改变或其他配置变更而导致的 Activity 生命周期中断。例如,当设备旋转时,默认情况下会销毁并重建 Activity。但如果设置了 `configChanges="orientation|screenSize"`,则可以通过重写 `onConfigurationChanged()` 方法来自行处理这些变化而无需重启 Activity[^1]。 ```xml <activity android:name=".MainActivity" android:configChanges="orientation|screenSize"> </activity> ``` #### 2. **HardwareAccelerated 属性** `hardwareAccelerated` 控制是否启用硬件加速绘制窗口的内容。对于大多数现代应用而言,开启硬件加速能显著提升图形表现力和流畅度。将其设为 true 表示强制使用 GPU 渲染整个 UI 替代 CPU 软件渲染方式[^5]。 ```xml <application android:hardwareAccelerated="true" > </application> ``` #### 3. **LaunchMode 属性** `launchMode` 定义了新实例的行为模式以及如何与任务堆栈关联起来。常见的几种模式有 standard、singleTop、singleTask 和 singleInstance。 - `standard`: 每次启动都会创建新的实例; - `singleTop`: 如果顶部已有相同实例,则不会再次创建; - `singleTask`: 整个系统范围内只存在一个该类型的 task; - `singleInstance`: 此 activity 将成为唯一成员的任务的一部分,并且不会有其他任何 activities 加入其中[^3]。 ```xml <activity android:name=".MainActivity" android:launchMode="singleTask"> </activity> ``` #### 4. **确保 Pico 商业版应用在切换时与服务端保持通信** 为了使 Pico 应用能在后台继续运行并与服务器保持通信,除了合理配置上述参数外,还需特别关注以下几点: ##### A. 后台服务注册 利用 Service 组件来维护长期运行的操作,即使用户离开了前台页面也可以持续工作。通过绑定 ForegroundService 提升优先级从而降低被杀死的风险[^4]。 ```java Intent intent = new Intent(this, MyBackgroundService.class); startForegroundService(intent); ``` ##### B. WebSocket 或 Socket.IO 实现持久连接 选用适合的技术框架构建可靠的客户端-服务器架构。WebSocket 支持全双工流式传输模型非常适合这种场合下频繁的小规模数据交换需求。 ```csharp using System.Threading.Tasks; using WebSocketSharp; public class ServerComms : MonoBehaviour { private WebSocket ws; void Start () { OpenConnection().Wait(); } async Task OpenConnection(){ ws = new WebSocket ("wss://example.com/socket"); ws.OnMessage += (sender,e)=>{Console.WriteLine(e.Data);}; await ws.ConnectAsync(); } } ``` --- ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值