我的应用程序在测试设备上运行但无法安装在任何其他设备上
My App Runs on Test Device But Can't Install It On Any Other Device
我正在尝试使用 Android Studio 创建一个 android 应用程序,我还使用 Firebase。
我整个应用程序的问题是当我 运行 在我的测试设备上
-"Samsung j7, Android version is 6.0.1, Marshmallow = API level 23"
一切正常,但是当我尝试将应用程序放到其他设备时
-"Oppo F1 , ColorOS version 3.0.0i, Android version 5.1(I don't really know the API level of this)"
然后应用程序无法安装,我有一条消息说 "Installation Failed"
真的不知道是什么问题:证书、安全性或其他问题...
当我创建 "hello world" 应用程序并执行与上述相同的操作时,一切正常。
设置中的未知来源也已启用
我的gradle:
android {
compileSdkVersion 27
buildToolsVersion "27.0.2"
defaultConfig {
applicationId "com.example.mcphil.avastus"
minSdkVersion 18
targetSdkVersion 27
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
当我开始创建应用程序时
我的最低 api 等级是果冻豆 = api 等级 18
清单:编辑:对于清单
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mcphil.avastus">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name="MathsQuiz">
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
<activity android:name=".SignupActivity" />
<activity android:name=".ResetPasswordActivity" />
<activity android:name=".ProfileActivity" />
<activity android:name=".LibraryActivity" />
<activity android:name=".QuizzesActivity" />
<activity android:name=".DocumentActivity" />
<activity android:name=".pdf.PDF_Activity" />
<activity android:name=".quizzes.Quiz1Activity"/>
</application>
不知道我这边还需要什么信息,所以请问我是否缺少所需信息,希望有人能提供帮助。
非常感谢
我是编码新手。
编辑:
新错误是这样的:
Error:Execution failed for task ':app:processDebugGoogleServices'.
No matching client found for package name 'com.example.mcphil.avastus.Avastus'
错误中最后一个文本中的 .Avastus 我正在尝试找到它的来源。
除非在 运行 Android Studio 时将它们连接到 PC,否则无法在其他设备上安装任何应用程序。
但是尝试生成签名的调试 APK 以在其他设备上进行测试,它必须被签名。出于安全原因,手机无法安装未签名的 Apks
我希望这有效:
在 Android 工作室中,从项目面板转到 [app] > [build.gradle] 并打开 build.gradle
现在复制您的 ApplicationID,例如
com.example.myApp
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.example.myApp" // ***----- Copy (com.example.myApp)
minSdkVersion 21
targetSdkVersion 25
...
...
}
现在打开浏览器,然后打开 [firebase.google.com],然后单击 [GO TO CONSOLE]
然后[创建新项目]或[添加项目]
并输入 [项目名称] 和 [项目 ID] 以及 [您的国家/地区] - 您输入的任何名称和 ID 都可以
然后会打开一个页面,如下所示:单击 [将 FireBase 添加到您的 Android 应用程序]
现在,这是您的 [ApplicationId] 需要使用的地方
将您复制的 [ApplicationId] 输入 [Android 项目名称]
然后输入包名 - - 任何包名都可以。然后点击[注册应用]
在下一页 --- 下载 Google-Service.json
如果下载完成,点击[继续],然后点击[完成]
现在下载 Json 文件,将其复制,然后必须将其粘贴到您的项目中,但您必须执行两次。
一次来自 Android Studio,一次通常在 Windows 资源管理器中
首先,将其从 Android Studio 粘贴到 [App] 目录,右键单击 [App] 并粘贴它
当您在此处粘贴时,它会询问 "OverRide" 并给您一个 "IOExceptions" 错误。
两者都可以点击 [Override] 和 [Ok]。你很好
然后,复制您刚刚粘贴到 Android Studio 中的 Json,右键单击,复制。(从 android studio 本身的右侧复制)
现在,将其从 windows 资源管理器粘贴到 [App] 目录中。粘贴和替换。 (例如,C:\Users\Dell... | 您的申请所在的位置)
最后,在 Android Studio 中,转到 [文件] 并单击 [同步]
出现此错误:错误:任务“:app:processDebugGoogleServices”执行失败。找不到包名称 'com.example.your.package.name'
的匹配客户端
您可以按照 Shahin 的说明进行操作。
就我而言,在某些情况下,您需要从项目设置中的现有 firebase 项目重新下载 google-services.json
Project Settings Firebase
并将其复制到您的应用程序目录中,其中保存的项目来自您的 Android studio -paste it/replace-
然后是
返回 android 工作室,转到工具>Firebase
Tools>Firebase
然后 select 身份验证
Auth
然后将 Firebase 身份验证添加到您的应用程序
然后将您的应用连接到 Firebase
一旦所有设置和连接转到Build>Make Project
就是这样,
But now, Im back to my real problem I mentioned above, My app only run on specified device connected via usb for real device test but still the app failed to install to the other devices.
我正在尝试使用 Android Studio 创建一个 android 应用程序,我还使用 Firebase。
我整个应用程序的问题是当我 运行 在我的测试设备上
-"Samsung j7, Android version is 6.0.1, Marshmallow = API level 23"
一切正常,但是当我尝试将应用程序放到其他设备时
-"Oppo F1 , ColorOS version 3.0.0i, Android version 5.1(I don't really know the API level of this)"
然后应用程序无法安装,我有一条消息说 "Installation Failed" 真的不知道是什么问题:证书、安全性或其他问题...
当我创建 "hello world" 应用程序并执行与上述相同的操作时,一切正常。
设置中的未知来源也已启用
我的gradle:
android {
compileSdkVersion 27
buildToolsVersion "27.0.2"
defaultConfig {
applicationId "com.example.mcphil.avastus"
minSdkVersion 18
targetSdkVersion 27
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
当我开始创建应用程序时 我的最低 api 等级是果冻豆 = api 等级 18
清单:编辑:对于清单
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mcphil.avastus">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
android:name="MathsQuiz">
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity" />
<activity android:name=".SignupActivity" />
<activity android:name=".ResetPasswordActivity" />
<activity android:name=".ProfileActivity" />
<activity android:name=".LibraryActivity" />
<activity android:name=".QuizzesActivity" />
<activity android:name=".DocumentActivity" />
<activity android:name=".pdf.PDF_Activity" />
<activity android:name=".quizzes.Quiz1Activity"/>
</application>
不知道我这边还需要什么信息,所以请问我是否缺少所需信息,希望有人能提供帮助。
非常感谢 我是编码新手。
编辑: 新错误是这样的:
Error:Execution failed for task ':app:processDebugGoogleServices'. No matching client found for package name 'com.example.mcphil.avastus.Avastus'
错误中最后一个文本中的 .Avastus 我正在尝试找到它的来源。
除非在 运行 Android Studio 时将它们连接到 PC,否则无法在其他设备上安装任何应用程序。
但是尝试生成签名的调试 APK 以在其他设备上进行测试,它必须被签名。出于安全原因,手机无法安装未签名的 Apks
我希望这有效:
在 Android 工作室中,从项目面板转到 [app] > [build.gradle] 并打开 build.gradle
现在复制您的 ApplicationID,例如
com.example.myApp
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "com.example.myApp" // ***----- Copy (com.example.myApp)
minSdkVersion 21
targetSdkVersion 25
...
...
}
现在打开浏览器,然后打开 [firebase.google.com],然后单击 [GO TO CONSOLE]
然后[创建新项目]或[添加项目]
并输入 [项目名称] 和 [项目 ID] 以及 [您的国家/地区] - 您输入的任何名称和 ID 都可以
然后会打开一个页面,如下所示:单击 [将 FireBase 添加到您的 Android 应用程序]
现在,这是您的 [ApplicationId] 需要使用的地方
将您复制的 [ApplicationId] 输入 [Android 项目名称]
然后输入包名 - - 任何包名都可以。然后点击[注册应用]
在下一页 --- 下载 Google-Service.json
如果下载完成,点击[继续],然后点击[完成]
现在下载 Json 文件,将其复制,然后必须将其粘贴到您的项目中,但您必须执行两次。
一次来自 Android Studio,一次通常在 Windows 资源管理器中
首先,将其从 Android Studio 粘贴到 [App] 目录,右键单击 [App] 并粘贴它
当您在此处粘贴时,它会询问 "OverRide" 并给您一个 "IOExceptions" 错误。
两者都可以点击 [Override] 和 [Ok]。你很好
然后,复制您刚刚粘贴到 Android Studio 中的 Json,右键单击,复制。(从 android studio 本身的右侧复制)
现在,将其从 windows 资源管理器粘贴到 [App] 目录中。粘贴和替换。 (例如,C:\Users\Dell... | 您的申请所在的位置)
最后,在 Android Studio 中,转到 [文件] 并单击 [同步]
出现此错误:错误:任务“:app:processDebugGoogleServices”执行失败。找不到包名称 'com.example.your.package.name'
的匹配客户端您可以按照 Shahin 的说明进行操作。
就我而言,在某些情况下,您需要从项目设置中的现有 firebase 项目重新下载 google-services.json
Project Settings Firebase
并将其复制到您的应用程序目录中,其中保存的项目来自您的 Android studio -paste it/replace-
然后是
返回 android 工作室,转到工具>Firebase
Tools>Firebase
然后 select 身份验证
Auth
然后将 Firebase 身份验证添加到您的应用程序
然后将您的应用连接到 Firebase
一旦所有设置和连接转到Build>Make Project
就是这样,
But now, Im back to my real problem I mentioned above, My app only run on specified device connected via usb for real device test but still the app failed to install to the other devices.