diff --git a/.gitignore b/.gitignore index aac3b37..de23b24 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,4 @@ lint/tmp/ /.idea/ /gradlew.bat /gradlew +/app/.cxx/ diff --git a/app/build.gradle b/app/build.gradle index 6396529..326b757 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,7 +16,7 @@ android { defaultConfig { applicationId "com.tt.ttutils" - minSdkVersion 16 + minSdkVersion 24 targetSdkVersion 30 // versionCode 1 // versionName "1.0" @@ -26,8 +26,8 @@ android { ndk { //选择要添加的对应 cpu 类型的 .so 库。 - abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a','x86' - // 还可以添加 'x86', 'x86_64', 'mips', 'mips64' + abiFilters 'armeabi-v7a', 'arm64-v8a' + // 还可以添加 'armeabi' , 'x86', 'x86_64', 'mips', 'mips64' } manifestPlaceholders = [ JPUSH_PKGNAME: applicationId, @@ -35,6 +35,12 @@ android { JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可. ] } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/LICENSE' @@ -72,7 +78,7 @@ android { } } sourceSets { - beta.res.srcDirs = ['src/beta/res'] + beta.res.srcDirs = ['src/beta/res'] } //签名 @@ -97,6 +103,15 @@ android { } buildTypes { + externalNativeBuild { + ndkBuild { + path 'src/main/jni/Android.mk' + } + } + sourceSets.main { + jni.srcDirs = [] + jniLibs.srcDirs = ['src/main/jniLibs'] + } debug { // 显示Log buildConfigField "boolean", "LOG_DEBUG", "true" @@ -169,6 +184,9 @@ dependencies { //Jackson implementation 'org.codehaus.jackson:jackson-mapper-asl:1.9.13' implementation 'org.codehaus.jackson:jackson-core-asl:1.9.13' + //view绑定 + implementation 'com.jakewharton:butterknife:10.1.0' + annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0' //二维码 implementation 'com.google.zxing:core:3.3.0' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c2da994..76b8645 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,14 +20,18 @@ - - + + + + - + + - + + @@ -41,7 +45,20 @@ android:supportsRtl="true" android:theme="@style/AppTheme"> + + + + + + + + + + + + + - - - - - - + + tools:replace="android:exported" /> + - + + - + + + android:process=":pushcore" /> + - + + - + + + android:exported="true" /> + - + + @@ -173,26 +193,36 @@ - + + + android:exported="false" /> + - + android:exported="false" /> + + + - - - - - + + + + + + + + + + - + + @@ -200,7 +230,8 @@ - + + - + + - - + + + + + android:value="${JPUSH_APPKEY}" /> + diff --git a/app/src/main/java/com/tt/activity/JMainActivity.java b/app/src/main/java/com/tt/activity/JMainActivity.java index c11db90..15ad5ed 100644 --- a/app/src/main/java/com/tt/activity/JMainActivity.java +++ b/app/src/main/java/com/tt/activity/JMainActivity.java @@ -1,13 +1,22 @@ package com.tt.activity; import android.view.KeyEvent; +import android.widget.TextView; import android.widget.Toast; import com.tt.base.BaseActivity; import com.tt.ttutils.R; import com.tt.ttutils.java.ToastUtil; +import com.tt.ttutils.jni.NDKTools; + +import java.lang.annotation.Native; + +import butterknife.BindView; +import butterknife.ButterKnife; public class JMainActivity extends BaseActivity { + @BindView(R.id.textView) + TextView textView; @Override protected int setLayoutResourceID() { @@ -16,12 +25,13 @@ public class JMainActivity extends BaseActivity { @Override protected void initView() { - + ButterKnife.bind(this); } @Override protected void initData() { - + String ndks = NDKTools.getStringFromNDK(); + textView.setText(ndks); } // 用来计算返回键的点击间隔时间 diff --git a/app/src/main/java/com/tt/ttutils/jni/NDKTools.java b/app/src/main/java/com/tt/ttutils/jni/NDKTools.java index 1b111e2..a3476e3 100644 --- a/app/src/main/java/com/tt/ttutils/jni/NDKTools.java +++ b/app/src/main/java/com/tt/ttutils/jni/NDKTools.java @@ -2,7 +2,7 @@ package com.tt.ttutils.jni; public class NDKTools { static { - System.loadLibrary("myMeetJni"); + System.loadLibrary("NDKTools-jni"); } public static native String getStringFromNDK(); diff --git a/app/src/main/jni/Android.mk b/app/src/main/jni/Android.mk new file mode 100644 index 0000000..bd0aeae --- /dev/null +++ b/app/src/main/jni/Android.mk @@ -0,0 +1,9 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := NDKTools-jni + +LOCAL_SRC_FILES := NDKTools.c + +include $(BUILD_SHARED_LIBRARY) \ No newline at end of file diff --git a/app/src/main/jni/NDKTools.c b/app/src/main/jni/NDKTools.c new file mode 100644 index 0000000..e37ba10 --- /dev/null +++ b/app/src/main/jni/NDKTools.c @@ -0,0 +1,13 @@ +// +// Created by Administrator on 2021/4/8. +// + +#include "com_tt_ttutils_jni_NDKTools.h" + +JNIEXPORT jstring JNICALL Java_com_tt_ttutils_jni_NDKTools_getStringFromNDK +//注意!!!这里要与.h文件的一致 + (JNIEnv *env, jobject obj) { + return (*env)->NewStringUTF(env, "Hellow World,NDK"); +} + + diff --git a/app/src/main/java/com_tt_ttutils_jni_NDKTools.h b/app/src/main/jni/com_tt_ttutils_jni_NDKTools.h similarity index 100% rename from app/src/main/java/com_tt_ttutils_jni_NDKTools.h rename to app/src/main/jni/com_tt_ttutils_jni_NDKTools.h diff --git a/app/src/main/jni/main.c b/app/src/main/jni/main.c deleted file mode 100644 index babe232..0000000 --- a/app/src/main/jni/main.c +++ /dev/null @@ -1,21 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class com_tt_ttutils_jni_NDKTools */ - -#ifndef _Included_com_tt_ttutils_jni_NDKTools -#define _Included_com_tt_ttutils_jni_NDKTools -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: com_tt_ttutils_jni_NDKTools - * Method: getStringFromNDK - * Signature: ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_com_tt_ttutils_jni_NDKTools_getStringFromNDK - (JNIEnv *, jclass); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/app/src/main/jni/note.md b/app/src/main/jni/note.md new file mode 100644 index 0000000..37dd37b --- /dev/null +++ b/app/src/main/jni/note.md @@ -0,0 +1,2 @@ +#https://docs.qq.com/doc/DRE1yeVdvQ21vbm11 +#https://www.jianshu.com/p/87ce6f565d37 \ No newline at end of file diff --git a/app/src/main/res/layout-port/activity_main.xml b/app/src/main/res/layout-port/activity_main.xml index 556b5dc..cef4901 100644 --- a/app/src/main/res/layout-port/activity_main.xml +++ b/app/src/main/res/layout-port/activity_main.xml @@ -1,6 +1,5 @@ -