尝试在手机上运行Android Studios应用程序时出现INSTALL_FAILED_MISSING_SHARED_LIBRARY错误消息

时间:2019-10-30 01:25:28

标签: android-studio android-things

我以前从未开发过Android应用,但这并不是一个好的开始。 我在Android Studios上做了一个空白项目作为测试,并试图在我的Huawei P33手机上运行该程序。当我尝试构建和安装程序时,收到以下消息;

  

无法使用命令cmd软件包提交安装会话389180709   install-commit389180709。错误:   INSTALL_FAILED_MISSING_SHARED_LIBRARY:无法安装软件包   在/data/app/com.example.myapplication-segdjrVZj4KvtCNaJ5W5oQ==:   程序包com.example.myapplication需要不可用的共享库   com.google.android.things;失败!

     

会话“ app”:安装未成功。                     无法安装该应用程序:INSTALL_FAILED_MISSING_SHARED_LIBRARY                     重试

我花了大约一个半小时的时间来搜索,但似乎没有人在Android Things库中遇到相同的问题。

在“ AndroidManifest.xml”中,如果我将<uses-library android:name="com.google.android.things" />更改为<uses-library android:name="com.google.android" />,则该应用会安装但不执行任何操作,并且在打开后立即崩溃。

4 个答案:

答案 0 :(得分:3)

请转到清单文件,看看是否存在这些代码行。如果存在,请删除它们。

enter c<uses-library
        android:name="com.google.android.wearable"
        android:required="true" />

    <!--
           Set to true if your app is Standalone, that is, it does not require the handheld
           app to run.
    -->
    <meta-data
        android:name="com.google.android.wearable.standalone"
        android:value="true" />

答案 1 :(得分:1)

您可以将android:required =“ false”标志添加到清单文件中,并且应用程序应该能够启动。

showModalBottomSheet<void>(
        shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.circular(10.0),
        ),
        context: context,
        isScrollControlled: true,
        builder: (BuildContext context) {
          return FractionallySizedBox(
              heightFactor: 0.2,
              child: Padding(
                  padding: const EdgeInsets.symmetric(
                    horizontal: 22.0,
                    vertical: 14.0,
                  ),
                  child: Column(
                    children: <Widget>[
                      ListTile(
                          leading: Icon(Icons.remove_red_eye),
                          title: Text(
                            "View",
                            overflow: TextOverflow.ellipsis,
                            textAlign: TextAlign.justify,
                            maxLines: 1,
                            style: TextStyle(
                              fontSize:
                                  ScreenUtil(allowFontScaling: true).setSp(50),
                            ),
                          ),
                          onTap: () {
                            Navigator.of(context).pop();
                            setGenerateReportView(context, count, data);
                          }),
                      ListTile(
                          leading: Icon(Icons.file_download),
                          title: Text(
                            "Download",
                            overflow: TextOverflow.ellipsis,
                            textAlign: TextAlign.justify,
                            maxLines: 1,
                            style: TextStyle(
                              fontSize:
                                  ScreenUtil(allowFontScaling: true).setSp(50),
                            ),
                          ),
                          onTap: () => {
                                Toast.show("Downloading", context,
                                    duration: Toast.LENGTH_LONG,
                                    gravity: Toast.BOTTOM),
                                Navigator.of(context).pop()
                              }),
                    ],
                  )));
        });

然后,您必须确保保护您的代码以免在需要的地方引发异常

答案 2 :(得分:0)

鉴于您以前从未开发过Android应用程序,因此很可能是在新项目向导中选择了Android Things模板。 只需创建一个新项目,并确保仅选择手机和平板电脑即可,而不要选择Android Things。

答案 3 :(得分:0)

我认为您删除了一个仍在清单中的元素。

例如你删除了活动,元素仍然在清单中。

  <activity
        android:name=".players"
        android:label="@string/title_activity_players">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>