当前位置: 首页 > 知识库问答 >
问题:

无法在同一设备上安装调试和发布版本

田易安
2023-03-14
 buildTypes {
        debug {
            buildConfigField "String", "BASE_URL", '"http://dev.xyz.com"'

            applicationIdSuffix ".debug"
        }
        release {
            buildConfigField "String", "BASE_URL", '"http://api.xyz.com"'
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    Launching app
    $ adb push D:\myPROJECTS\MyApp\app\build\outputs\apk\app-debug.apk /data/local/tmp/com.example.myapp.debug
    $ adb shell pm install -r "/data/local/tmp/com.example.myapp.debug"
    java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String android.os.SystemProperties.native_get(java.lang.String) (tried Java_android_os_SystemProperties_native_1get and Java_android_os_SystemProperties_native_1get__Ljava_lang_String_2)
      at android.os.SystemProperties.native_get(Native Method)
      at android.os.SystemProperties.get(SystemProperties.java:52)
      at android.os.Environment$UserEnvironment.<init>(Environment.java:123)
      at android.os.Environment.initForCurrentUser(Environment.java:98)
      at android.os.Environment.<clinit>(Environment.java:92)
      at android.os.Environment.getLegacyExternalStorageDirectory(Environment.java:597)
      at android.os.Debug.<clinit>(Debug.java:103)
      at android.ddm.DdmHandleHello.handleHELO(DdmHandleHello.java:164)
      at android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.java:91)
      at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171)
    java.lang.UnsatisfiedLinkError: android.os.Debug
      at android.ddm.DdmHandleHello.handleFEAT(DdmHandleHello.java:176)
      at android.ddm.DdmHandleHello.handleChunk(DdmHandleHello.java:93)
      at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171)
    java.lang.UnsatisfiedLinkError: android.os.Debug
      at android.ddm.DdmHandleProfiling.handleMPRQ(DdmHandleProfiling.java:187)
      at android.ddm.DdmHandleProfiling.handleChunk(DdmHandleProfiling.java:88)
      at org.apache.harmony.dalvik.ddmc.DdmServer.dispatch(DdmServer.java:171)
    Aborted 

    $ adb shell am start -n "com.example.myapp.debug/com.example.myapp.LoginActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
    Error while executing: am start -n "com.example.myapp.debug/com.example.myapp.LoginActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
    Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.myapp.debug/com.example.myapp.LoginActivity }
    Error type 3
    Error: Activity class {com.example.myapp.debug/com.example.myapp.LoginActivity} does not exist.

    Error while Launching activity

更新:不知道这是否有帮助,但下面是我在AndroidManifest.xml中声明我的启动器活动的方式:

<activity
    android:name=".LoginActivity"
    android:label="@string/app_name"
    android:screenOrientation="portrait"
    android:theme="@style/AppTheme.Launcher">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

共有1个答案

安坚诚
2023-03-14

好吧,我知道是怎么回事了。

我实际上是在为debug变体(Build>Build apk)创建一个未签名的apk。但是我必须使用(Build>Generate Signed APK),然后从选项中选择debug变体。

此外,当在我的设备上运行项目时,gradle将生成一个未签名的APK。这样也行不通。也就是说--除非我配置signingconfigs如本答案中所解释的那样。

 类似资料:
  • 我有一个android的设备,我在上面调试应用程序。在我生成签名apk后,我卸载了现有的调试应用程序,尝试安装签名apk,但我得到了应用程序未安装的错误。我安装在一个没有调试应用程序安装的新设备上,看起来还可以。我尝试清除应用程序数据并卸载,但没有工作。 图像错误

  • 以前有人处理过这个问题吗?我想我需要调查一下口味,但我不知道。 提前感谢您的见解。

  • 无法在我的手机上安装已签名的发行版APK,也无法将其上载到Play Store上。 我创建了一个带有V1和V2 JAR签名复选框的签名发行版APK。当我尝试将APK放在我的手机上并安装它时: 未安装应用程序 没有JAR签名。 我使用的是Android Studio3.3版本,我正在处理一个Play Store Jar签名错误(重复选中V1和V2复选框,并且都选中了)。 播放存储错误: 这可能是一个

  • 试图从play store安装我自己的应用程序,它说“您不能安装这个应用程序,因为另一个用户已经在这个设备上安装了不兼容的版本”

  • 我尝试从SDK管理器安装Android Studio GPU调试工具。但是它显示了以下错误: 安装 -GPU调试工具(附加;android;gapid;1) 准备“安装GPU调试工具”。 尝试安装到C:\用户\Ronald\AppData\本地\Android\sdk\附加组件\android\gapid\1\但包“GPU调试工具,rev 1.0.3”已存在于C:\用户\Ronald\AppDat

  • 在我将android Studio更新到2.0后,我无法在我的设备(华硕Zenphone 2)上调试应用程序。在我单击Android Studio中的调试图标后,我一直在调试选项卡中看到以下消息。 Android Studio UI中调试选项卡中的消息 我一直看到标题为“等待调试器”的警告对话框和强制关闭按钮。 我搜索了该消息,但似乎只有两个来自谷歌的结果。 我重新启动了Android Studi