Skip to content

Commit 6e020e2

Browse files
author
Sathesh Rangasamy
committed
Example for release 0.71.1
0 parents  commit 6e020e2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+5375
-0
lines changed

.gitignore

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# OSX
2+
#
3+
.DS_Store
4+
5+
# Xcode
6+
#
7+
build/
8+
*.pbxuser
9+
!default.pbxuser
10+
*.mode1v3
11+
!default.mode1v3
12+
*.mode2v3
13+
!default.mode2v3
14+
*.perspectivev3
15+
!default.perspectivev3
16+
xcuserdata
17+
*.xccheckout
18+
*.moved-aside
19+
DerivedData
20+
*.hmap
21+
*.ipa
22+
*.xcuserstate
23+
ios/.xcode.env.local
24+
25+
# Android/IntelliJ
26+
#
27+
build/
28+
.idea
29+
.gradle
30+
local.properties
31+
*.iml
32+
*.hprof
33+
.cxx/
34+
*.keystore
35+
!debug.keystore
36+
37+
# node.js
38+
#
39+
node_modules/
40+
npm-debug.log
41+
yarn-error.log
42+
43+
# fastlane
44+
#
45+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
46+
# screenshots whenever they are needed.
47+
# For more information about the recommended setup visit:
48+
# https://docs.fastlane.tools/best-practices/source-control/
49+
50+
**/fastlane/report.xml
51+
**/fastlane/Preview.html
52+
**/fastlane/screenshots
53+
**/fastlane/test_output
54+
55+
# Bundle artifact
56+
*.jsbundle
57+
58+
# Ruby / CocoaPods
59+
/ios/Pods/
60+
/vendor/bundle/
61+
62+
# Temporary files created by Metro to check the health of the file watcher
63+
.metro-health-check*

android/app/build.gradle

+172
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
apply plugin: "com.android.application"
2+
apply plugin: "com.facebook.react"
3+
4+
import com.android.build.OutputFile
5+
6+
/**
7+
* This is the configuration block to customize your React Native Android app.
8+
* By default you don't need to apply any configuration, just uncomment the lines you need.
9+
*/
10+
react {
11+
/* Folders */
12+
// The root of your project, i.e. where "package.json" lives. Default is '..'
13+
// root = file("../")
14+
// The folder where the react-native NPM package is. Default is ../node_modules/react-native
15+
// reactNativeDir = file("../node_modules/react-native")
16+
// The folder where the react-native Codegen package is. Default is ../node_modules/react-native-codegen
17+
// codegenDir = file("../node_modules/react-native-codegen")
18+
// The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
19+
// cliFile = file("../node_modules/react-native/cli.js")
20+
21+
/* Variants */
22+
// The list of variants to that are debuggable. For those we're going to
23+
// skip the bundling of the JS bundle and the assets. By default is just 'debug'.
24+
// If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
25+
// debuggableVariants = ["liteDebug", "prodDebug"]
26+
27+
/* Bundling */
28+
// A list containing the node command and its flags. Default is just 'node'.
29+
// nodeExecutableAndArgs = ["node"]
30+
//
31+
// The command to run when bundling. By default is 'bundle'
32+
// bundleCommand = "ram-bundle"
33+
//
34+
// The path to the CLI configuration file. Default is empty.
35+
// bundleConfig = file(../rn-cli.config.js)
36+
//
37+
// The name of the generated asset file containing your JS bundle
38+
// bundleAssetName = "MyApplication.android.bundle"
39+
//
40+
// The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
41+
// entryFile = file("../js/MyApplication.android.js")
42+
//
43+
// A list of extra flags to pass to the 'bundle' commands.
44+
// See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
45+
// extraPackagerArgs = []
46+
47+
/* Hermes Commands */
48+
// The hermes compiler command to run. By default it is 'hermesc'
49+
// hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
50+
//
51+
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
52+
// hermesFlags = ["-O", "-output-source-map"]
53+
}
54+
55+
/**
56+
* Set this to true to create four separate APKs instead of one,
57+
* one for each native architecture. This is useful if you don't
58+
* use App Bundles (https://developer.android.com/guide/app-bundle/)
59+
* and want to have separate APKs to upload to the Play Store.
60+
*/
61+
def enableSeparateBuildPerCPUArchitecture = false
62+
63+
/**
64+
* Set this to true to Run Proguard on Release builds to minify the Java bytecode.
65+
*/
66+
def enableProguardInReleaseBuilds = false
67+
68+
/**
69+
* The preferred build flavor of JavaScriptCore (JSC)
70+
*
71+
* For example, to use the international variant, you can use:
72+
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
73+
*
74+
* The international variant includes ICU i18n library and necessary data
75+
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
76+
* give correct results when using with locales other than en-US. Note that
77+
* this variant is about 6MiB larger per architecture than default.
78+
*/
79+
def jscFlavor = 'org.webkit:android-jsc:+'
80+
81+
/**
82+
* Private function to get the list of Native Architectures you want to build.
83+
* This reads the value from reactNativeArchitectures in your gradle.properties
84+
* file and works together with the --active-arch-only flag of react-native run-android.
85+
*/
86+
def reactNativeArchitectures() {
87+
def value = project.getProperties().get("reactNativeArchitectures")
88+
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
89+
}
90+
91+
android {
92+
ndkVersion rootProject.ext.ndkVersion
93+
94+
compileSdkVersion rootProject.ext.compileSdkVersion
95+
96+
namespace "com.rndiffapp"
97+
defaultConfig {
98+
applicationId "com.rndiffapp"
99+
minSdkVersion rootProject.ext.minSdkVersion
100+
targetSdkVersion rootProject.ext.targetSdkVersion
101+
versionCode 1
102+
versionName "1.0"
103+
}
104+
105+
splits {
106+
abi {
107+
reset()
108+
enable enableSeparateBuildPerCPUArchitecture
109+
universalApk false // If true, also generate a universal APK
110+
include (*reactNativeArchitectures())
111+
}
112+
}
113+
signingConfigs {
114+
debug {
115+
storeFile file('debug.keystore')
116+
storePassword 'android'
117+
keyAlias 'androiddebugkey'
118+
keyPassword 'android'
119+
}
120+
}
121+
buildTypes {
122+
debug {
123+
signingConfig signingConfigs.debug
124+
}
125+
release {
126+
// Caution! In production, you need to generate your own keystore file.
127+
// see https://reactnative.dev/docs/signed-apk-android.
128+
signingConfig signingConfigs.debug
129+
minifyEnabled enableProguardInReleaseBuilds
130+
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
131+
}
132+
}
133+
134+
// applicationVariants are e.g. debug, release
135+
applicationVariants.all { variant ->
136+
variant.outputs.each { output ->
137+
// For each separate APK per architecture, set a unique version code as described here:
138+
// https://developer.android.com/studio/build/configure-apk-splits.html
139+
// Example: versionCode 1 will generate 1001 for armeabi-v7a, 1002 for x86, etc.
140+
def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
141+
def abi = output.getFilter(OutputFile.ABI)
142+
if (abi != null) { // null for the universal-debug, universal-release variants
143+
output.versionCodeOverride =
144+
defaultConfig.versionCode * 1000 + versionCodes.get(abi)
145+
}
146+
147+
}
148+
}
149+
}
150+
151+
dependencies {
152+
// The version of react-native is set by the React Native Gradle Plugin
153+
implementation("com.facebook.react:react-android")
154+
155+
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0")
156+
implementation 'com.google.android.material:material:1.7.0'
157+
158+
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
159+
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
160+
exclude group:'com.squareup.okhttp3', module:'okhttp'
161+
}
162+
163+
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
164+
if (hermesEnabled.toBoolean()) {
165+
implementation("com.facebook.react:hermes-android")
166+
} else {
167+
implementation jscFlavor
168+
}
169+
}
170+
171+
apply plugin: 'org.jetbrains.kotlin.android'
172+
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)

android/app/debug.keystore

2.2 KB
Binary file not shown.

android/app/proguard-rules.pro

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Add project specific ProGuard rules here.
2+
# By default, the flags in this file are appended to flags specified
3+
# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
4+
# You can edit the include path and order by changing the proguardFiles
5+
# directive in build.gradle.
6+
#
7+
# For more details, see
8+
# http://developer.android.com/guide/developing/tools/proguard.html
9+
10+
# Add any project specific keep options here:
+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools">
4+
5+
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
6+
7+
<application
8+
android:usesCleartextTraffic="true"
9+
tools:targetApi="28"
10+
tools:ignore="GoogleAppIndexingWarning">
11+
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" android:exported="false" />
12+
</application>
13+
</manifest>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
/**
2+
* Copyright (c) Meta Platforms, Inc. and affiliates.
3+
*
4+
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
5+
* directory of this source tree.
6+
*/
7+
package com.rndiffapp;
8+
9+
import android.content.Context;
10+
import com.facebook.flipper.android.AndroidFlipperClient;
11+
import com.facebook.flipper.android.utils.FlipperUtils;
12+
import com.facebook.flipper.core.FlipperClient;
13+
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
14+
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
15+
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
16+
import com.facebook.flipper.plugins.inspector.DescriptorMapping;
17+
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
18+
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
19+
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
20+
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
21+
import com.facebook.react.ReactInstanceEventListener;
22+
import com.facebook.react.ReactInstanceManager;
23+
import com.facebook.react.bridge.ReactContext;
24+
import com.facebook.react.modules.network.NetworkingModule;
25+
import okhttp3.OkHttpClient;
26+
27+
/**
28+
* Class responsible of loading Flipper inside your React Native application. This is the debug
29+
* flavor of it. Here you can add your own plugins and customize the Flipper setup.
30+
*/
31+
public class ReactNativeFlipper {
32+
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
33+
if (FlipperUtils.shouldEnableFlipper(context)) {
34+
final FlipperClient client = AndroidFlipperClient.getInstance(context);
35+
36+
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
37+
client.addPlugin(new DatabasesFlipperPlugin(context));
38+
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
39+
client.addPlugin(CrashReporterPlugin.getInstance());
40+
41+
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
42+
NetworkingModule.setCustomClientBuilder(
43+
new NetworkingModule.CustomClientBuilder() {
44+
@Override
45+
public void apply(OkHttpClient.Builder builder) {
46+
builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
47+
}
48+
});
49+
client.addPlugin(networkFlipperPlugin);
50+
client.start();
51+
52+
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
53+
// Hence we run if after all native modules have been initialized
54+
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
55+
if (reactContext == null) {
56+
reactInstanceManager.addReactInstanceEventListener(
57+
new ReactInstanceEventListener() {
58+
@Override
59+
public void onReactContextInitialized(ReactContext reactContext) {
60+
reactInstanceManager.removeReactInstanceEventListener(this);
61+
reactContext.runOnNativeModulesQueueThread(
62+
new Runnable() {
63+
@Override
64+
public void run() {
65+
client.addPlugin(new FrescoFlipperPlugin());
66+
}
67+
});
68+
}
69+
});
70+
} else {
71+
client.addPlugin(new FrescoFlipperPlugin());
72+
}
73+
}
74+
}
75+
}
+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
<uses-permission android:name="android.permission.INTERNET" />
5+
<!-- android:name=".bootstrapinbuilt.MainApplication"-->
6+
<application
7+
android:name=".MainReactNativeApplication"
8+
android:allowBackup="false"
9+
android:icon="@mipmap/ic_launcher"
10+
android:label="@string/app_name"
11+
android:roundIcon="@mipmap/ic_launcher_round"
12+
android:theme="@style/AppTheme">
13+
<activity
14+
android:name=".LandingScreen"
15+
android:exported="true">
16+
<intent-filter>
17+
<action android:name="android.intent.action.MAIN" />
18+
<category android:name="android.intent.category.LAUNCHER" />
19+
</intent-filter>
20+
</activity>
21+
<activity
22+
android:name=".bootstrapinbuilt.MainActivity"
23+
android:exported="true">
24+
<!-- <intent-filter>-->
25+
<!-- <action android:name="android.intent.action.MAIN" />-->
26+
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
27+
<!-- </intent-filter>-->
28+
</activity>
29+
<activity
30+
android:name=".brownfield.ReactNativeBrownfieldActivity"
31+
android:exported="false" />
32+
<activity
33+
android:name=".officialdocs.ReactNativeActivity"
34+
android:exported="false" />
35+
</application>
36+
37+
</manifest>

0 commit comments

Comments
 (0)