我以前从未开发过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" />
,则该应用会安装但不执行任何操作,并且在打开后立即崩溃。
答案 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>