Last active
June 15, 2022 09:00
-
-
Save achuvm/fe0136818158bec2cdf4d1cd11053f6d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/android/app/build.gradle b/android/app/build.gradle | |
index e381dda..a9ba303 100644 | |
--- a/android/app/build.gradle | |
+++ b/android/app/build.gradle | |
@@ -94,7 +94,8 @@ def enableSeparateBuildPerCPUArchitecture = false | |
def enableProguardInReleaseBuilds = false | |
android { | |
- compileSdkVersion rootProject.ext.compileSdkVersion | |
+ compileSdkVersion 28 | |
+ flavorDimensions "platform" | |
compileOptions { | |
sourceCompatibility JavaVersion.VERSION_1_8 | |
@@ -103,8 +104,9 @@ android { | |
defaultConfig { | |
applicationId "com.virosample" | |
- minSdkVersion rootProject.ext.minSdkVersion | |
- targetSdkVersion rootProject.ext.targetSdkVersion | |
+ minSdkVersion 23 | |
+ targetSdkVersion 28 | |
+ multiDexEnabled true | |
versionCode 1 | |
versionName "1.0" | |
} | |
@@ -116,6 +118,21 @@ android { | |
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64" | |
} | |
} | |
+ productFlavors { | |
+ ar { | |
+ resValue 'string', 'app_name', 'ViroSample-ar' | |
+ buildConfigField 'String', 'VR_PLATFORM', '"GVR"' //default to GVR | |
+ } | |
+ gvr { | |
+ resValue 'string', 'app_name', 'ViroSample-gvr' | |
+ buildConfigField 'String', 'VR_PLATFORM', '"GVR"' | |
+ } | |
+ ovr { | |
+ resValue 'string', 'app_name', 'ViroSample-ovr' | |
+ applicationIdSuffix '.ovr' | |
+ buildConfigField 'String', 'VR_PLATFORM', '"OVR_MOBILE"' | |
+ } | |
+ } | |
buildTypes { | |
release { | |
minifyEnabled enableProguardInReleaseBuilds | |
@@ -138,9 +155,20 @@ android { | |
} | |
dependencies { | |
- 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 fileTree(dir: 'libs', include: ['*.jar']) | |
+ implementation 'com.android.support:appcompat-v7:28.0.0' | |
+ implementation 'com.facebook.react:react-native:+' | |
+ implementation project(':arcore_client') // remove this if AR not required | |
+ implementation project(':gvr_common') | |
+ implementation project(path: ':viro_renderer') | |
+ implementation project(path: ':react_viro') | |
+ implementation 'com.google.android.exoplayer:exoplayer:2.7.1' | |
+ implementation 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-7' | |
+ implementation 'com.amazonaws:aws-android-sdk-core:2.7.7' | |
+ implementation 'com.amazonaws:aws-android-sdk-ddb:2.7.7' | |
+ implementation 'com.amazonaws:aws-android-sdk-ddb-mapper:2.7.7' | |
+ implementation 'com.amazonaws:aws-android-sdk-cognito:2.7.7' | |
+ implementation 'com.amazonaws:aws-android-sdk-cognitoidentityprovider:2.7.7' | |
} | |
// Run this once to be able to run the application with BUCK | |
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml | |
index 6ba10b1..50d82c0 100644 | |
--- a/android/app/src/main/AndroidManifest.xml | |
+++ b/android/app/src/main/AndroidManifest.xml | |
@@ -2,6 +2,7 @@ | |
package="com.virosample"> | |
<uses-permission android:name="android.permission.INTERNET" /> | |
+ <uses-permission android:name="android.permission.CAMERA" /> | |
<application | |
android:name=".MainApplication" | |
@@ -9,18 +10,21 @@ | |
android:icon="@mipmap/ic_launcher" | |
android:roundIcon="@mipmap/ic_launcher_round" | |
android:allowBackup="false" | |
+ android:usesCleartextTraffic="true" | |
android:theme="@style/AppTheme"> | |
<activity | |
android:name=".MainActivity" | |
android:label="@string/app_name" | |
- android:configChanges="keyboard|keyboardHidden|orientation|screenSize" | |
+ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" | |
android:windowSoftInputMode="adjustResize"> | |
<intent-filter> | |
<action android:name="android.intent.action.MAIN" /> | |
<category android:name="android.intent.category.LAUNCHER" /> | |
+ <category android:name="com.google.intent.category.CARDBOARD" /> | |
</intent-filter> | |
</activity> | |
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" /> | |
+ <meta-data android:name="com.google.ar.core" android:value="optional" /> | |
</application> | |
</manifest> | |
diff --git a/android/app/src/main/java/com/virosample/MainApplication.java b/android/app/src/main/java/com/virosample/MainApplication.java | |
index 2e279a8..deaecae 100644 | |
--- a/android/app/src/main/java/com/virosample/MainApplication.java | |
+++ b/android/app/src/main/java/com/virosample/MainApplication.java | |
@@ -6,6 +6,8 @@ import com.facebook.react.ReactApplication; | |
import com.facebook.react.ReactNativeHost; | |
import com.facebook.react.ReactPackage; | |
import com.facebook.react.shell.MainReactPackage; | |
+ | |
+import com.viromedia.bridge.ReactViroPackage; | |
import com.facebook.soloader.SoLoader; | |
import java.util.Arrays; | |
@@ -22,7 +24,8 @@ public class MainApplication extends Application implements ReactApplication { | |
@Override | |
protected List<ReactPackage> getPackages() { | |
return Arrays.<ReactPackage>asList( | |
- new MainReactPackage() | |
+ new MainReactPackage(), | |
+ new ReactViroPackage(ReactViroPackage.ViroPlatform.valueOf(BuildConfig.VR_PLATFORM)) | |
); | |
} | |
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml | |
index 5755f2a..8542005 100644 | |
--- a/android/app/src/main/res/values/strings.xml | |
+++ b/android/app/src/main/res/values/strings.xml | |
@@ -1,3 +1,2 @@ | |
<resources> | |
- <string name="app_name">ViroSample</string> | |
</resources> | |
diff --git a/android/build.gradle b/android/build.gradle | |
index c6e7c7c..0e89926 100644 | |
--- a/android/build.gradle | |
+++ b/android/build.gradle | |
@@ -1,19 +1,12 @@ | |
// Top-level build file where you can add configuration options common to all sub-projects/modules. | |
buildscript { | |
- ext { | |
- buildToolsVersion = "28.0.3" | |
- minSdkVersion = 16 | |
- compileSdkVersion = 28 | |
- targetSdkVersion = 28 | |
- supportLibVersion = "28.0.0" | |
- } | |
repositories { | |
google() | |
jcenter() | |
} | |
dependencies { | |
- classpath 'com.android.tools.build:gradle:3.3.1' | |
+ classpath 'com.android.tools.build:gradle:3.3.0' | |
// NOTE: Do not place your application dependencies here; they belong | |
// in the individual module build.gradle files | |
@@ -21,8 +14,16 @@ buildscript { | |
} | |
allprojects { | |
+ configurations.matching { it.name == '_internal_aapt2_binary' }.all { config -> | |
+ config.resolutionStrategy.eachDependency { details -> | |
+ details.useVersion("3.5.0-alpha03-5252756") | |
+ } | |
+ } | |
repositories { | |
mavenLocal() | |
+ maven { | |
+ url 'https://maven.google.com/' | |
+ } | |
google() | |
jcenter() | |
maven { | |
diff --git a/android/settings.gradle b/android/settings.gradle | |
index e646b99..5255fa5 100644 | |
--- a/android/settings.gradle | |
+++ b/android/settings.gradle | |
@@ -1,3 +1,8 @@ | |
rootProject.name = 'ViroSample' | |
include ':app' | |
+include ':react_viro', ':arcore_client', ':gvr_common', ':viro_renderer' | |
+project(':arcore_client').projectDir = new File('../node_modules/react-viro/android/arcore_client') | |
+project(':gvr_common').projectDir = new File('../node_modules/react-viro/android/gvr_common') | |
+project(':viro_renderer').projectDir = new File('../node_modules/react-viro/android/viro_renderer') | |
+project(':react_viro').projectDir = new File('../node_modules/react-viro/android/react_viro') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> | |
<application> | |
<meta-data | |
android:name="com.samsung.android.vr.application.mode" | |
android:value="vr_only"/> | |
</application> | |
</manifest> |
You can see a full example if it's use here
https://github.com/wepala/easter-egg-hunt
…On Sun, Oct 4, 2020, 4:37 PM ragouzal ***@***.***> wrote:
***@***.**** commented on this gist.
------------------------------
@akeemphilbert <https://github.com/akeemphilbert> How did you managed to
build it? I got this error:
installDebug' not found in project ':app'. Some candidates are:
'installArDebug', 'installGvrDebug', 'installOvrDebug'.
Plus I can't find other examples or documentation to use.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://gist.github.com/fe0136818158bec2cdf4d1cd11053f6d#gistcomment-3477000>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA2VRXL3QO2KILM2W5LLCDSJDMGZANCNFSM4HKKDOMA>
.
@akeemphilbert So I got it to build, but it's crashing not sure why.
@akeemphilbert This is the output of logcat when app crashes:
BTW I am not running this on an emulator I am running this on a real samsung android device
10-04 23:15:04.594 20863 20911 E AndroidRuntime: FATAL EXCEPTION: create_react_context
10-04 23:15:04.594 20863 20911 E AndroidRuntime: Process: com.mapnav, PID: 20863
10-04 23:15:04.594 20863 20911 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.mapnav-dtEXw_9W0yDS3Ckp1RPt5Q==/base.apk"],nativeLibraryDirectories=[/data/app/com.mapnav-dtEXw_9W0yDS3Ckp1RPt5Q==/lib/arm64, /data/app/com.mapnav-dtEXw_9W0yDS3Ckp1RPt5Q==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]]] couldn't find "libviro_renderer.so"
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1067)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1667)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at com.viromedia.bridge.module.MaterialManager.<clinit>(MaterialManager.java:37)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at com.viromedia.bridge.ReactViroPackage.createNativeModules(ReactViroPackage.java:87)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.java:42)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:42)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1347)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1318)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1225)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at com.facebook.react.ReactInstanceManager.access$1100(ReactInstanceManager.java:131)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:1016)
10-04 23:15:04.594 20863 20911 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
@akeemphilbert Thank you very much for your gist you made. It helped me and after few minutes mine works just fine and I'm up and running with AR in React Native.
@akeemphilbert Thank you very much for your gist you made. It helped me and after few minutes mine works just fine and I'm up and running with AR in React Native.
can I see your source code ? my App always error, plz...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is a gist I created with the changes that worked for me https://gist.github.com/akeemphilbert/8323a7b71e682469b922920a624b35a8