我已经使用Map Fragment创建了一个小型android应用,并正在使用jetbrains-studio对其进行测试。我已经获得了API密钥,无论手机是通过USB电缆插入笔记本电脑还是随身携带(无论是否包含跟踪元素,我都需要这样做),它都能正常工作。
我已通过API和服务信息中心启用了“ Android版Maps SDK” API。
当我上传应用程序时,我去了“应用程序签名”并下载了名为“ deployment_cert.der”的Google证书。什么时候到 编译我的应用程序
keytool -importcert-文件deployment_cert.der -keystore keystore.jks
(密钥库是我去将应用程序的发行版编译为签名的apk时创建的文件;当我上传应用程序时,Google并未抱怨并接受它)
我让我的妻子通过在手机和平板电脑上从Playstore下载来测试该应用程序,但是我得到了一个灰色框,上面有Google徽标,位于角落,+ /-缩放按钮和“居家中心”位于右上角的圆圈。该应用程序上的所有其他功能都可以正常工作。
我不知道有什么问题吗?有人可以提供一些提示吗?我对寻找的东西感到困惑。
我已经检查了设备的兼容性,并且我使用过的所有设备都在设备目录中列为正常。
我的清单文件如下:
input
我的build.gradle文件是:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mydomain.ge">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/gmarkerblank"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
<activity
android:name=".GE"
android:label="@string/title_activity_ge">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
我的活动文件如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.mydomain.ge"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
//implementation 'com.google.android.gms:play-services:12.0.1'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.android.support:design:27.1.1'
implementation 'com.github.pengrad:mapscaleview:1.4.1'
}
基本上,它产生的是,第一行包含一个图像按钮,然后在其旁边填充该行的其余部分是应用程序的标题 接下来是地图,占据了大部分空间 最底部是一行,其中包含一个文本编辑框和一个右侧的按钮。 我在源代码中看不到任何明显的问题
答案 0 :(得分:0)
您的应用会根据您的构建变体生成不同的SHA-1指纹。
另外,当您使用Google的应用签名时,当您上传apk时,Google会为您生成SHA-1指纹,因此您需要像使用调试指纹一样在Google Cloud Platform Console中添加该指纹。
您可以通过将谷歌游戏控制台查看生成的指纹 - >发布管理 - >应用签署