我已经在一个项目上工作了一段时间,我已经完成了,并准备将它发布到游戏商店。我能够通过调试模式将我的应用程序通过USB线部署到我的三星s4手机上。奇怪的是,当我生成签名的apk并将其发布到游戏商店时,我无法在手机上下载...这没有任何意义,因为我在测试时能够使用它...我问了我的朋友和他们经历了同样的事情。我看着我的开发者控制台,它说我的应用程序与市场上的LITERALLY 0手机兼容...所以我查了一下,我想也许我的清单搞砸了,所以这里是(我正在使用android studio btw ):
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="XXXX">
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-feature android:name="android.hardware.CAMERA"/>
<application
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:name="android.support.multidex.MultiDexApplication"
>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<activity
android:name="XXXX"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
<provider android:authorities="com.facebook.app.FacebookContentProviderXXXX"
android:name="com.facebook.FacebookContentProvider"
android:exported="true" />
</application>
</manifest>
所以我发现清单中没有任何问题(也许有人可以纠正我),如果有人在测试应用程序时就不会在我的手机上运行。
所以我为我的应用程序使用了很多外部库,这是列表:
1)facebook api 2)twitter api 3)金鱼草 4)谷歌播放服务
我还必须使用multidex(正如你在清单中看到的那样),因为代码超过了64k行代码。以下是build.gradle的样子:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "xxxx"
minSdkVersion 16
targetSdkVersion 23
versionCode 3
versionName "1.2"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { java.srcDirs = ['src/main/java', 'libs'] } }
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.facebook.android:facebook-android-sdk:4.+'
compile('com.twitter.sdk.android:tweet-composer:1.0.2@aar') {
transitive = true;
}
}
我对gradle是全新的,所以我不确定它是否设置正确所以可能存在gradle本身或者其他问题。任何人都有任何建议我可以做什么?
答案 0 :(得分:1)
我在清单中将相机功能更改为必需的假,并且这样做了。当我在开发者控制台上传apk时,它说支持8k +设备。另外清单是inccorect,当你把use-features标签放在一起时,确保照相机全部小写而不是像我一样大写。