世博会版本忽略了Android Manifest

时间:2020-03-30 19:58:31

标签: android react-native expo

我正在尝试使用expo build:android -t apk构建我的react native应用。它产生功能性的apk;但是,apk需要一些默认权限,尽管我删除了它们。它还会忽略应用程序图标。我在app.json和Manifest中都设置了它。

我有种感觉,我在expo build:android -t apk命令之前缺少某些内容。我不使用react-native run-android的原因是,它生成了一个损坏的APK,可以在手机上安装但无法运行。

请在下面找到我的清单和app.json。

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.hergun1isfikri"
    xmlns:tools="http://schemas.android.com/tools"
    >

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <!-- OPTIONAL PERMISSIONS, REMOVE WHATEVER YOU DO NOT NEED -->
    <uses-permission tools:node="remove" android:name="android.permission.MANAGE_DOCUMENTS"  />
    <uses-permission tools:node="remove" android:name="android.permission.READ_INTERNAL_STORAGE"  />
    <uses-permission tools:node="remove" android:name="android.permission.READ_PHONE_STATE"  />
    <uses-permission tools:node="remove" android:name="android.permission.USE_FINGERPRINT"  />
    <uses-permission tools:node="remove" android:name="android.permission.VIBRATE"  />
    <uses-permission tools:node="remove" android:name="android.permission.MODIFY_AUDIO_SETTINGS"  />
    <uses-permission tools:node="remove" android:name="android.vending.CHECK_LICENSE"  />


    <!-- These require runtime permissions on M -->
    <uses-permission tools:node="remove" android:name="android.permission.ACCESS_COARSE_LOCATION"  />
    <uses-permission tools:node="remove" android:name="android.permission.ACCESS_FINE_LOCATION"  />
    <uses-permission tools:node="remove" android:name="android.permission.CAMERA"  />
    <uses-permission tools:node="remove" android:name="android.permission.READ_CONTACTS"  />
    <uses-permission tools:node="remove" android:name="android.permission.READ_CALENDAR"  />
    <uses-permission tools:node="remove" android:name="android.permission.WRITE_CALENDAR"  />
    <uses-permission tools:node="remove" android:name="android.permission.READ_EXTERNAL_STORAGE"  />
    <uses-permission tools:node="remove" android:name="android.permission.RECORD_AUDIO"  />
    <uses-permission tools:node="remove" android:name="android.permission.WRITE_EXTERNAL_STORAGE"  />
    <uses-permission tools:node="remove" android:name="android.permission.WRITE_SETTINGS"  />
    <!-- END OPTIONAL PERMISSIONS -->

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
    </application>

</manifest>

app.json:

{
  "name": "myapp",
  "displayName": "myapp",
  "icon": "./assets/ic_launcher.png",
  "expo": {
    "name": "myapp",
    "slug": "myapp",
    "privacy": "unlisted",
    "sdkVersion": "36.0.0",
    "version": "3.0.0",
    "entryPoint": "node_modules/expo/AppEntry.js",
    "orientation": "portrait",
    "platforms": [
      "android"
    ],
    "android": {
      "package": "com.myapp.myapp",

      "versionCode": 3,

      "config": {

        "googleMobileAdsAppId": "xxx"
      }
    }
  }

}

1 个答案:

答案 0 :(得分:0)

Expo应该忽略所有本机文件和文件夹。您需要进行的所有更改都可以通过app.json文件进行。这是世博会的重点之一。此外,它还为您提供了在构建过程中构建应用程序所需的所有键和权限的选项