Git Product home page Git Product logo

android-demo's Introduction

android-demo's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar gengjiawen avatar

Stargazers

 avatar

Watchers

 avatar  avatar

android-demo's Issues

segment fault demo

Ref: https://proandroiddev.com/debugging-native-crashes-in-android-apps-2b86fd7113d8

diff --git a/play-native/src/main/cpp/native-lib.cpp b/play-native/src/main/cpp/native-lib.cpp
index a04454d..f084bff 100644
--- a/play-native/src/main/cpp/native-lib.cpp
+++ b/play-native/src/main/cpp/native-lib.cpp
@@ -15,3 +15,8 @@ Java_com_gengjiawen_play_MainActivity_stringFromJNI(
     LOGI("int %d, string: %s", a, hello.c_str());
     return env->NewStringUTF(hello.c_str());
 }
+extern "C"
+JNIEXPORT jstring JNICALL
+Java_com_gengjiawen_play_MainActivity_segmentTrigger(JNIEnv *env, jobject thiz) {
+    *(int*)0 = 0;
+}
\ No newline at end of file
diff --git a/play-native/src/main/java/com/gengjiawen/play/MainActivity.kt b/play-native/src/main/java/com/gengjiawen/play/MainActivity.kt
index cb1c9a3..d7e3293 100644
--- a/play-native/src/main/java/com/gengjiawen/play/MainActivity.kt
+++ b/play-native/src/main/java/com/gengjiawen/play/MainActivity.kt
@@ -11,9 +11,14 @@ class MainActivity : AppCompatActivity() {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_main)
         titleLabel.text = stringFromJNI()
+        sfButton.setOnClickListener({
+            segmentTrigger()
+        })
+
     }
 
     external fun stringFromJNI(): String
+    external fun segmentTrigger(): String
 
     companion object {
 
diff --git a/play-native/src/main/res/layout/activity_main.xml b/play-native/src/main/res/layout/activity_main.xml
index f504122..1e6d08f 100644
--- a/play-native/src/main/res/layout/activity_main.xml
+++ b/play-native/src/main/res/layout/activity_main.xml
@@ -2,13 +2,20 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
+    android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="match_parent" >
 
     <TextView
         android:id="@+id/titleLabel"
+        android:layout_width="487dp"
+        android:layout_height="50dp"
+        android:text="Hello World!" />
+
+    <Button
+        android:id="@+id/sfButton"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="Hello World!" />
+        android:text="Segment Fault" />
 
 </LinearLayout>
\ No newline at end of file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.