私はしばらくの間プロジェクトに取り組んできましたが、ほぼ完了し、プレイストアにリリースする準備ができています. USBケーブルを介してデバッグモードでアプリをSamsung s4電話に展開できました。不思議なことに、署名済みの apk を生成して Play ストアにリリースしたときに、携帯電話にダウンロードできませんでした... テストしていたときに使用できたので、これは意味がありません...友達と彼らは同じことを経験しました。開発者コンソールを見ると、私のアプリは市場に出回っている文字通り0台の電話と互換性があると書かれています...それを調べたところ、マニフェストが台無しになっているのではないかと思ったので、ここにあります(私はアンドロイドスタジオを使用しています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) フェイスブック API 2) ツイッター API 3) スナップドラゴン 4) グーグルプレイサービス
また、コードが 64,000 行を超えたため、(マニフェストで見たように) multidex を使用する必要がありました。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自体または他の何かに問題がある可能性があります。私に何ができるか提案はありますか?