diff --git a/App.js b/App.js
index ac41088..96c8163 100644
--- a/App.js
+++ b/App.js
@@ -118,7 +118,7 @@ export default class MyPage extends Component {
versionInfo:'未知',
adType: 0,
curAdType02Index: 0, //广告图index
- curCoverImgUrl: '',
+ curCoverImgUrl: 'https://iformall-net.s3.cn-northwest-1.amazonaws.com.cn/456/37d833d7-263f-4f97-8588-e827c2f43db4.jpg',
};
diff --git a/android/app/bin/BUCK b/android/app/bin/BUCK
new file mode 100644
index 0000000..c2c57d4
--- /dev/null
+++ b/android/app/bin/BUCK
@@ -0,0 +1,55 @@
+# To learn about Buck see [Docs](https://buckbuild.com/).
+# To run your application with Buck:
+# - install Buck
+# - `npm start` - to start the packager
+# - `cd android`
+# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
+# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
+# - `buck install -r android/app` - compile, install and run application
+#
+
+load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
+
+lib_deps = []
+
+create_aar_targets(glob(["libs/*.aar"]))
+
+create_jar_targets(glob(["libs/*.jar"]))
+
+android_library(
+ name = "all-libs",
+ exported_deps = lib_deps,
+)
+
+android_library(
+ name = "app-code",
+ srcs = glob([
+ "src/main/java/**/*.java",
+ ]),
+ deps = [
+ ":all-libs",
+ ":build_config",
+ ":res",
+ ],
+)
+
+android_build_config(
+ name = "build_config",
+ package = "com.screenad",
+)
+
+android_resource(
+ name = "res",
+ package = "com.screenad",
+ res = "src/main/res",
+)
+
+android_binary(
+ name = "app",
+ keystore = "//android/keystores:debug",
+ manifest = "src/main/AndroidManifest.xml",
+ package_type = "debug",
+ deps = [
+ ":app-code",
+ ],
+)
diff --git a/android/app/bin/build.gradle b/android/app/bin/build.gradle
new file mode 100644
index 0000000..5412def
--- /dev/null
+++ b/android/app/bin/build.gradle
@@ -0,0 +1,199 @@
+apply plugin: "com.android.application"
+
+import com.android.build.OutputFile
+
+/**
+ * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
+ * and bundleReleaseJsAndAssets).
+ * These basically call `react-native bundle` with the correct arguments during the Android build
+ * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
+ * bundle directly from the development server. Below you can see all the possible configurations
+ * and their defaults. If you decide to add a configuration block, make sure to add it before the
+ * `apply from: "../../node_modules/react-native/react.gradle"` line.
+ *
+ * project.ext.react = [
+ * // the name of the generated asset file containing your JS bundle
+ * bundleAssetName: "index.android.bundle",
+ *
+ * // the entry file for bundle generation
+ * entryFile: "index.android.js",
+ *
+ * // whether to bundle JS and assets in debug mode
+ * bundleInDebug: false,
+ *
+ * // whether to bundle JS and assets in release mode
+ * bundleInRelease: true,
+ *
+ * // whether to bundle JS and assets in another build variant (if configured).
+ * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
+ * // The configuration property can be in the following formats
+ * // 'bundleIn${productFlavor}${buildType}'
+ * // 'bundleIn${buildType}'
+ * // bundleInFreeDebug: true,
+ * // bundleInPaidRelease: true,
+ * // bundleInBeta: true,
+ *
+ * // whether to disable dev mode in custom build variants (by default only disabled in release)
+ * // for example: to disable dev mode in the staging build type (if configured)
+ * devDisabledInStaging: true,
+ * // The configuration property can be in the following formats
+ * // 'devDisabledIn${productFlavor}${buildType}'
+ * // 'devDisabledIn${buildType}'
+ *
+ * // the root of your project, i.e. where "package.json" lives
+ * root: "../../",
+ *
+ * // where to put the JS bundle asset in debug mode
+ * jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
+ *
+ * // where to put the JS bundle asset in release mode
+ * jsBundleDirRelease: "$buildDir/intermediates/assets/release",
+ *
+ * // where to put drawable resources / React Native assets, e.g. the ones you use via
+ * // require('./image.png')), in debug mode
+ * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
+ *
+ * // where to put drawable resources / React Native assets, e.g. the ones you use via
+ * // require('./image.png')), in release mode
+ * resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
+ *
+ * // by default the gradle tasks are skipped if none of the JS files or assets change; this means
+ * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
+ * // date; if you have any other folders that you want to ignore for performance reasons (gradle
+ * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
+ * // for example, you might want to remove it from here.
+ * inputExcludes: ["android/**", "ios/**"],
+ *
+ * // override which node gets called and with what additional arguments
+ * nodeExecutableAndArgs: ["node"],
+ *
+ * // supply additional arguments to the packager
+ * extraPackagerArgs: []
+ * ]
+ */
+
+project.ext.react = [
+ entryFile: "index.js"
+]
+
+apply from: "../../node_modules/react-native/react.gradle"
+apply from: "../../node_modules/react-native-code-push/android/codepush.gradle"
+
+/**
+ * Set this to true to create two separate APKs instead of one:
+ * - An APK that only works on ARM devices
+ * - An APK that only works on x86 devices
+ * The advantage is the size of the APK is reduced by about 4MB.
+ * Upload all the APKs to the Play Store and people will download
+ * the correct one based on the CPU architecture of their device.
+ */
+def enableSeparateBuildPerCPUArchitecture = false
+
+/**
+ * Run Proguard to shrink the Java bytecode in release builds.
+ */
+def enableProguardInReleaseBuilds = false
+
+android {
+ compileSdkVersion rootProject.ext.compileSdkVersion
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+ def getVersionCode = { ->
+ return project.hasProperty('versionCode') ? Integer.parseInt(project.versionCode) : 1
+ }
+
+ def getVersionName = { ->
+ return project.hasProperty('versionName') ? project.versionName : "1.0"
+ }
+
+ defaultConfig {
+ applicationId "com.screenad"
+ minSdkVersion rootProject.ext.minSdkVersion
+ targetSdkVersion rootProject.ext.targetSdkVersion
+ versionCode = getVersionCode()
+ versionName getVersionName()
+ }
+
+ android.applicationVariants.all { variant ->
+ variant.outputs.all {
+ outputFileName = "screenad_" + variant.buildType.name + "_" + defaultConfig.versionCode + ".apk"
+ }
+ }
+
+ splits {
+ abi {
+ reset()
+ enable enableSeparateBuildPerCPUArchitecture
+ universalApk false // If true, also generate a universal APK
+ include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
+ }
+ }
+ signingConfigs {
+ release {
+ if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
+ storeFile file(MYAPP_RELEASE_STORE_FILE)
+ storePassword MYAPP_RELEASE_STORE_PASSWORD
+ keyAlias MYAPP_RELEASE_KEY_ALIAS
+ keyPassword MYAPP_RELEASE_KEY_PASSWORD
+ }
+ }
+ }
+ buildTypes {
+ debug {
+ buildConfigField "String", "API_HOST", "\"https://mall.youlane.cn/\""
+ buildConfigField "String", "CODEPUSH_HOST", "\"https://update.youlane.cn/\""
+ buildConfigField "String", "CODEPUSH_KEY", "\"8snO1yoHlvhEtBjr02zTr3g1comw4ksvOXqog\""
+ }
+ release {
+ buildConfigField "String", "API_HOST", "\"https://admintest.malls.iformall.com/\""
+ buildConfigField "String", "CODEPUSH_HOST", "\"https://update.youlane.cn/\""
+ buildConfigField "String", "CODEPUSH_KEY", "\"9rYZYySFD0ryN5wCD9YmjJkT55Kf4ksvOXqog\""
+ minifyEnabled enableProguardInReleaseBuilds
+ proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
+ signingConfig signingConfigs.release
+ }
+ product.initWith(release)
+ product {
+ buildConfigField "String", "API_HOST", "\"https://admin.malls.iformall.com/\""
+ buildConfigField "String", "CODEPUSH_HOST", "\"https://update.malls.iformall.com/\""
+ buildConfigField "String", "CODEPUSH_KEY", "\"9rYZYySFD0ryN5wCD9YmjJkT55Kf4ksvOXqog\""
+ matchingFallbacks = ['product', 'release']
+ }
+
+ }
+ // applicationVariants are e.g. debug, release
+ applicationVariants.all { variant ->
+ variant.outputs.each { output ->
+ // For each separate APK per architecture, set a unique version code as described here:
+ // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
+ def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3, "x86_64": 4]
+ def abi = output.getFilter(OutputFile.ABI)
+ if (abi != null) { // null for the universal-debug, universal-release variants
+ output.versionCodeOverride =
+ versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
+ }
+ }
+ }
+}
+
+dependencies {
+ implementation project(':react-native-svg')
+ implementation project(':react-native-camera')
+ implementation project(':react-native-device-info')
+ implementation project(':react-native-code-push')
+ implementation fileTree(dir: "libs", include: ["*.jar"])
+ implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
+ implementation "com.facebook.react:react-native:+" // From node_modules
+ implementation project(':react-native-svg')
+}
+
+// Run this once to be able to run the application with BUCK
+// puts all compile dependencies into folder libs for BUCK to use
+task copyDownloadableDepsToLibs(type: Copy) {
+ from configurations.compile
+ into 'libs'
+}
diff --git a/android/app/bin/build_defs.bzl b/android/app/bin/build_defs.bzl
new file mode 100644
index 0000000..fff270f
--- /dev/null
+++ b/android/app/bin/build_defs.bzl
@@ -0,0 +1,19 @@
+"""Helper definitions to glob .aar and .jar targets"""
+
+def create_aar_targets(aarfiles):
+ for aarfile in aarfiles:
+ name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
+ lib_deps.append(":" + name)
+ android_prebuilt_aar(
+ name = name,
+ aar = aarfile,
+ )
+
+def create_jar_targets(jarfiles):
+ for jarfile in jarfiles:
+ name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
+ lib_deps.append(":" + name)
+ prebuilt_jar(
+ name = name,
+ binary_jar = jarfile,
+ )
diff --git a/android/app/bin/libs/cron4j-2.2.5.jar b/android/app/bin/libs/cron4j-2.2.5.jar
new file mode 100644
index 0000000..90fc173
Binary files /dev/null and b/android/app/bin/libs/cron4j-2.2.5.jar differ
diff --git a/android/app/bin/proguard-rules.pro b/android/app/bin/proguard-rules.pro
new file mode 100644
index 0000000..a92fa17
--- /dev/null
+++ b/android/app/bin/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/android/app/bin/src/main/AndroidManifest.xml b/android/app/bin/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..965bec9
--- /dev/null
+++ b/android/app/bin/src/main/AndroidManifest.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/app/bin/src/main/java/com/screenad/AutoStartBroadcastReceiver.class b/android/app/bin/src/main/java/com/screenad/AutoStartBroadcastReceiver.class
new file mode 100644
index 0000000..d435d50
Binary files /dev/null and b/android/app/bin/src/main/java/com/screenad/AutoStartBroadcastReceiver.class differ
diff --git a/android/app/bin/src/main/java/com/screenad/DaemonService.class b/android/app/bin/src/main/java/com/screenad/DaemonService.class
new file mode 100644
index 0000000..e6ddcfe
Binary files /dev/null and b/android/app/bin/src/main/java/com/screenad/DaemonService.class differ
diff --git a/android/app/bin/src/main/java/com/screenad/MainActivity.class b/android/app/bin/src/main/java/com/screenad/MainActivity.class
new file mode 100644
index 0000000..4cf12e3
Binary files /dev/null and b/android/app/bin/src/main/java/com/screenad/MainActivity.class differ
diff --git a/android/app/bin/src/main/java/com/screenad/MainApplication.class b/android/app/bin/src/main/java/com/screenad/MainApplication.class
new file mode 100644
index 0000000..ca2aa5c
Binary files /dev/null and b/android/app/bin/src/main/java/com/screenad/MainApplication.class differ
diff --git a/android/app/bin/src/main/java/com/screenad/RNBuildConfig.class b/android/app/bin/src/main/java/com/screenad/RNBuildConfig.class
new file mode 100644
index 0000000..9bb0fc0
Binary files /dev/null and b/android/app/bin/src/main/java/com/screenad/RNBuildConfig.class differ
diff --git a/android/app/bin/src/main/java/com/screenad/RNBuildConfigPackage.class b/android/app/bin/src/main/java/com/screenad/RNBuildConfigPackage.class
new file mode 100644
index 0000000..2f68b5a
Binary files /dev/null and b/android/app/bin/src/main/java/com/screenad/RNBuildConfigPackage.class differ
diff --git a/android/app/bin/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..a2f5908
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/android/app/bin/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/bin/src/main/res/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000..1b52399
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/android/app/bin/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..ff10afd
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/android/app/bin/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/app/bin/src/main/res/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000..115a4c7
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/android/app/bin/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..dcd3cd8
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/android/app/bin/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/bin/src/main/res/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..459ca60
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/android/app/bin/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..8ca12fe
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/android/app/bin/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/bin/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..8e19b41
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/android/app/bin/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/bin/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..b824ebd
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/android/app/bin/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/bin/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..4c19a13
Binary files /dev/null and b/android/app/bin/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/android/app/bin/src/main/res/values/strings.xml b/android/app/bin/src/main/res/values/strings.xml
new file mode 100644
index 0000000..4ad3158
--- /dev/null
+++ b/android/app/bin/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ screenAd
+
diff --git a/android/app/bin/src/main/res/values/styles.xml b/android/app/bin/src/main/res/values/styles.xml
new file mode 100644
index 0000000..319eb0c
--- /dev/null
+++ b/android/app/bin/src/main/res/values/styles.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
index 868de71..93d703b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10094,6 +10094,11 @@
"resolved": "https://registry.npm.taobao.org/react-native-device-info/download/react-native-device-info-2.3.2.tgz",
"integrity": "sha1-2yuPE1qvJRVYPjZ6t5Hcx9Lw0Uw="
},
+ "react-native-shadow": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npm.taobao.org/react-native-shadow/download/react-native-shadow-1.2.2.tgz",
+ "integrity": "sha1-CJkc0Utx4y8vxjY5EcE50jGUmmY="
+ },
"react-native-snap-carousel": {
"version": "3.8.0",
"resolved": "https://registry.npm.taobao.org/react-native-snap-carousel/download/react-native-snap-carousel-3.8.0.tgz",
@@ -10103,6 +10108,11 @@
"react-addons-shallow-compare": "15.6.2"
}
},
+ "react-native-svg": {
+ "version": "9.6.2",
+ "resolved": "https://registry.npm.taobao.org/react-native-svg/download/react-native-svg-9.6.2.tgz",
+ "integrity": "sha1-4ptibxFSMODw82k4h/NuYLWwFAg="
+ },
"react-native-swiper": {
"version": "1.5.14",
"resolved": "https://registry.npm.taobao.org/react-native-swiper/download/react-native-swiper-1.5.14.tgz",