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",