>

Android에서 애플리케이션을 만들었습니다. 주요 목표는 다음과 같습니다. 사용자가 Google 계정으로 로그인하고 NFC 태그를 스캔하며 발리 라이브러리를 사용하여 서버에 사용자 로그인 및 태그 정보를 보내고 응답을받습니다.
Android 스튜디오와 USB 디버깅을 사용할 때 모든 것이 잘 작동했습니다. 앱을 Google Play 스토어에 설치했는데 내 p9 lite 또는 NFC가있는 다른 휴대 전화와 호환되지 않습니다. 그래서 나는 심지어 앱을 다운로드 할 수 없습니다.

이것은 Google Play의 스크린 샷입니다.

여기 내 안드로이드 매니페스트가 있습니다 :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="some.package.name">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.NFC" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-feature android:name="android.nfc"/>
    <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">
        <activity android:name=".MainActivity"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/plain" />
            </intent-filter>
            <meta-data
                android:name="android.nfc.action.TECH_DISCOVERED"
                android:resource="@xml/nfc_tech_filter" />
        </activity>
    </application>
</manifest>

여기 내 gradle 빌드 프로젝트도 있습니다 :

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.1'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}
allprojects {
    repositories {
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

그리고 gradle build app :

apply plugin: 'com.android.application'
android {
    signingConfigs {
        config {
            keyAlias 'key0'
            storeFile file('C:/AndroidKey/RandomKey.jks')
            keyPassword 'randomKey'
            storePassword 'randomPassword'
        }
    }
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "someId"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 3
        versionName "1.02"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        }
        debug {
            signingConfig signingConfigs.config
        }
    }
}
dependencies {
    compile 'com.github.dmytrodanylyk.circular-progress-button:library:1.1.3'
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.yarolegovich:lovely-dialog:1.0.5'
    compile 'hanks.xyz:htextview-library:0.1.5'
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.2.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.google.android.gms:play-services-auth:9.8.0'
    testCompile 'junit:junit:4.12'
}
  apply plugin: 'com.google.gms.google-services'

모든 것이 USB로 잘 연결되어 있지만 Google Play 스토어에서 응용 프로그램을 다운로드 할 수도 없습니다.
이 경우 어떻게해야합니까? 감사합니다.

편집하다:
<uses-feature android:name="android.nfc"/> 를 변경했습니다  
<uses-feature android:name="android.hardware.nfc"/> 까지

여전히 같은 상황 :

수정 : 내 기기에는 NFC가 있으며 옵션을 클릭하면 내 앱과 호환되는 기기를 표시 할 수 있습니다.


  • 답변 # 1

    올바른 태그는

    <uses-feature android:name="android.hardware.nfc"/>
    
    

    앱이 NFC 칩이없는 기기에서도 작동하는 경우 android:required="false" 를 추가해야합니다  위의 태그로 이동하십시오.

  • 답변 # 2

    앱이 nfc 모듈이없는 기기에서 작동하는 경우 uses-feature 를 변경해야합니다  그런 식으로 :

    <uses-feature android:name="android.hardware.nfc" android:required="false" />
    
    

    앱이 nfc 모듈이없는 기기에서 작동하지 않으면 nfc와 호환되는 기기가 있어야하고 uses-feature 를 변경해야합니다  그런 식으로 :

    <uses-feature android:name="android.hardware.nfc" />
    
    

  • 답변 # 3

    알겠습니다. 해결책을 찾았습니다. 모두에게 힌트를 주셔서 감사합니다. 답변이 명시되어 있지 않으므로 혼란스러운 질문에 대해 죄송합니다.
    회사의 개인 앱

    저는 Google Play 개발자 콘솔의 관리자가 아니며 소유자는

    와이즈 비즈

    따라서 회사 앱을 개발할 때이 옵션이 필요합니다. 도와 주셔서 감사합니다.

    편집 : 또한 앱을 설치하려면 기기에 업무용 프로필이 있어야합니다. 지금 작동합니다.

  • 답변 # 4

    Allow users to update Google Play Private Channel

    를 업데이트해야합니다  태그를

    <uses-feature>
    
    

    그렇습니다! 당신은 살 것이다!

    <uses-feature android:name="android.hardware.nfc" android:required="false" />

관련 자료

  • 이전 css - 브라우저에서 RadialGradient가 포함 된 SVG가 작동하지 않음
  • 다음 multithreading - java - 필요할 때 소켓을 허용하는 스레드를 생성합니까?