嗨,我无法生成 APK ..“生成签名的 Apk”未显示在 Android Studio 中..此外,当我点击“构建 APK(s)”时,什么也没有......检查截图谢谢

我正在尝试编译以下代码:
https://android.googlesource.com/platform/packages/inputmethods/LatinIME/+/master
到一个 apk 文件中。
为此,我创建了一个带有空活动的默认 Android 项目。之后,我将存储库中的相关java文件添加到我的项目中并进行了一些修改。我还向我的项目添加了适当的 xml/图像资源。
现在,我需要将 JNI/本机库添加到我的项目中。https://android.googlesource.com/platform/packages/inputmethods/LatinIME/+/master/native/
但是,我不知道将它们放在哪里。我能找到的唯一参考是
1]如何在android studio项目中添加JNI库?但是,我的项目结构看起来与屏幕截图不同。
和
2]在 Android Studio 中创建 jni 文件夹的位置,该文件夹是旧的/过时的/缺乏详细信息。
这是我的项目结构:
我尝试将我的根app/文件链接到 C++ 项目,但不断收到此错误。
CMake Error at CMakeLists.txt:15 (add_library):
src/main/cpp/iob.c
Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
.hxx .in .txx
CMake Error: CMake can not determine linker language for target: iob
Run Code Online (Sandbox Code Playgroud)
我把我的CMakeLists.txt文件src/min/cpp和iob.c它说找不到的文件放在一起。我究竟做错了什么?
这是我的 CMakeLists.txt
# Sets the minimum version of CMake required to build your native library.
# This ensures that a certain set of CMake features is available to
# your build.
cmake_minimum_required(VERSION …Run Code Online (Sandbox Code Playgroud) 我想添加一个带调试符号一步为我的Android库,其中包括针对不同的ABI,例如本地共享库x86/native-lib.so,x86_64/native-lib.so,arm64-v8a/native-lib.so,等。
我知道 strip 命令必须针对每个 ABI。所以,我需要调用正确的strip 命令,为此我需要在构建时知道它的正确路径。
例如,对于 ABI x86_64,我需要进行以下路径设置:
set(STRIP ~/Library/Android/android-ndk-r16b/toolchains/x86_64-4.9/prebuilt/darwin-x86_64/bin/x86_64-linux-android-strip)
add_custom_command(TARGET ${SHARED_LIBRARY_NAME} POST_BUILD
COMMAND ${STRIP}
"${DIST_LIBS_DIR}/${LIB_BUILD_TYPE}/${ANDROID_ABI}/lib${SHARED_LIBRARY_NAME}.so"
COMMENT "Strip debug symbols done on final binary.")
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:
是否有现有的 CMake 变量指向此路径,即/android-ndk-r16b/toolchains/???/prebuilt/???/bin/???-???-???-strip?
如果没有,有没有办法,形成利用其他已知的Android CMake的变量此路径,例如ANDROID_NDK,ANDROID_ABI等?
当我的应用程序即将完成时,我正在使用Android Studio分析我的apk。我看到APK大小突然增加:
lib占用10mb空间的文件夹仅包含以下文件:
我确定我没有任何本机依赖性,但是我不确定这些文件是怎么来的。谁能帮我,我想从我的应用程序中删除这些文件。
编辑1
dependencies {
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:support-v4:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'com.intuit.sdp:sdp-android:1.0.5'
implementation 'com.intuit.ssp:ssp-android:1.0.5'
implementation 'com.google.android.gms:play-services-safetynet:15.0.1'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.4.0'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
implementation 'com.squareup.retrofit2:converter-jackson:2.4.0'
implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'com.koushikdutta.ion:ion:2.2.1'
//implementation 'com.facebook.shimmer:shimmer:0.3.0'
//implementation 'com.facebook.android:facebook-login:[4,5)'
implementation 'it.sephiroth.android.library.targettooltip:target-tooltip-library:+'
implementation 'com.tbuonomo.andrui:viewpagerdotsindicator:2.1.2'
implementation 'com.android.support:multidex:1.0.3'
//Needed for custom web view implementation
implementation 'com.android.support:customtabs:28.0.0'
}
Run Code Online (Sandbox Code Playgroud) 我有一个 Spring Boot 项目并收到一些与 javax servlet 过滤器相关的错误。
是某种版本兼容性还是我在 pom 文件中缺少某些内容。
以下是来自控制台的日志和 pom 文件。
我到处寻找,什么也没找到。
Exception in thread "main" java.lang.IllegalStateException: Cannot load configuration class: org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerSecurityConfiguration
at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:403)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:249)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:281)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:125)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
at com.abc.application.Application.main(Application.java:15)
Caused by: java.lang.IllegalStateException: Unable to load cache item
at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:79)
at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34)
at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:116)
at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:291)
at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:480)
at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:337)
at org.springframework.context.annotation.ConfigurationClassEnhancer.createClass(ConfigurationClassEnhancer.java:138)
at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:110)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:393)
... 11 more
Caused by: java.lang.NoClassDefFoundError: …Run Code Online (Sandbox Code Playgroud) 我通过Android Studio的SDK工具安装了以下CMAKE和Ninja:
~/Library/Android/sdk/cmake/3.10.2.4988404/bin/ninja --version
1.8.2
Run Code Online (Sandbox Code Playgroud)
尝试构建项目时遇到“错误配置”。这是构建输出:
Executable : /Users/ssk/Library/Android/sdk/cmake/3.10.2.4988404/bin/cmake
arguments :
-H/Users/ssk/MyProject
-B/Users/ssk/MyProject/.externalNativeBuild/cmake/debug/armeabi-v7a
-DANDROID_ABI=armeabi-v7a
-DANDROID_PLATFORM=android-16
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/Users/ssk/MyProject/build/intermediates/cmake/debug/obj/armeabi-v7a
-DCMAKE_BUILD_TYPE=Debug
-DANDROID_NDK=/Users/ssk/Library/Android/sdk/ndk-bundle
-DCMAKE_CXX_FLAGS=-std=c++11
-DCMAKE_SYSTEM_NAME=Android
-DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a
-DCMAKE_SYSTEM_VERSION=16
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-DCMAKE_ANDROID_NDK=/Users/ssk/Library/Android/sdk/ndk-bundle
-DCMAKE_TOOLCHAIN_FILE=/Users/ssk/Library/Android/sdk/ndk-bundle/build/cmake/android.toolchain.cmake
-G Ninja
-DANDROID_STL=gnustl_statics
-DANDROID_CPP_FEATURES=rtti exception
-DANDROID_TOOLCHAIN=gcc
-DANDROID_NDK=/Users/ssk/android-ndk-r17c/
jvmArgs :
Run Code Online (Sandbox Code Playgroud)
它不见了:
-DCMAKE_MAKE_PROGRAM=/Users/ssk/Library/Android/sdk/cmake/3.10.2.4988404/bin/ninja
Run Code Online (Sandbox Code Playgroud)
错误:
CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool
Run Code Online (Sandbox Code Playgroud)
仅当我切换到CMake版本时说3.6.3155560才有效。否则,我必须从brew或macports安装忍者。
这是我的build.gradle中的片段:
externalNativeBuild {
cmake {
// Linker flags and Visibility options keeps the size of the library small …Run Code Online (Sandbox Code Playgroud) 尝试导入项目时出现以下错误。
无法从以下位置获取 Gradle 包装器属性:F:\projects\Polyfills\cordova\platforms\android\gradle\wrapper\gradle-wrapper.properties
您想使用最新支持的 Gradle 版本重新创建包装器吗?
单击“确定”重新创建文件,或单击“取消”手动设置本地 Gradle 分发的路径。
当我编译我的Android Studio IDE项目时,模拟器已经打开,但项目没有运行.我正在使用最新版本的Android IDE,我几次卸载Android IDE,然后再次重新安装它.但问题仍然存在.
请帮我解决这个问题.
当我运行Android Studio IDE项目时,我在Build窗口收到此消息:
Could not find com.android.tools.build:aapt2:3.3.1-5013011.
Searched in the following locations:
- file:/C:/Users/zunayeed/AppData/Local/Android/Sdk/extras/m2repository/com/android/tools/build/aapt2/3.3.1-5013011/aapt2-3.3.1-5013011.pom
- file:/C:/Users/zunayeed/AppData/Local/Android/Sdk/extras/m2repository/com/android/tools/build/aapt2/3.3.1-5013011/aapt2-3.3.1-5013011-windows.jar
- file:/C:/Users/zunayeed/AppData/Local/Android/Sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.3.1-5013011/aapt2-3.3.1-5013011.pom
- file:/C:/Users/zunayeed/AppData/Local/Android/Sdk/extras/google/m2repository/com/android/tools/build/aapt2/3.3.1-5013011/aapt2-3.3.1-5013011-windows.jar
- file:/C:/Users/zunayeed/AppData/Local/Android/Sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.3.1-5013011/aapt2-3.3.1-5013011.pom
- file:/C:/Users/zunayeed/AppData/Local/Android/Sdk/extras/android/m2repository/com/android/tools/build/aapt2/3.3.1-5013011/aapt2-3.3.1-5013011-windows.jar
- https://jcenter.bintray.com/com/android/tools/build/aapt2/3.3.1-5013011/aapt2-3.3.1-5013011.pom
- https://jcenter.bintray.com/com/android/tools/build/aapt2/3.3.1-5013011/aapt2-3.3.1-5013011-windows.jar
Required by:
project :app
Run Code Online (Sandbox Code Playgroud) 我正在开发 VPN 应用程序并遵循strongswan应用程序的代码。我已经使用了这个应用程序的代码,它正在.so通过 JNI加载文件,我已经从 strongswan 项目中复制了这些文件。它为以下文件之一提供了此例外:
A/art: art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn't find class "org.strongswan.android.logic.CharonVpnService" on path: DexPathList[[zip file "/data/app/com.whizpool.vpn-1/base.apk"],nativeLibraryDirectories=[/data/app/com.whizpool.vpn-1/lib/arm, /data/app/com.whizpool.vpn-1/base.apk!/lib/armeabi, /vendor/lib, /system/lib]]
art/runtime/java_vm_ext.cc:410] at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
art/runtime/java_vm_ext.cc:410] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:511)
art/runtime/java_vm_ext.cc:410] at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:469)
art/runtime/java_vm_ext.cc:410] at java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.String) (Runtime.java:-2)
art/runtime/java_vm_ext.cc:410] at java.lang.String java.lang.Runtime.doLoad(java.lang.String, java.lang.ClassLoader) (Runtime.java:435)
art/runtime/java_vm_ext.cc:410] at void java.lang.Runtime.loadLibrary(java.lang.String, java.lang.ClassLoader) (Runtime.java:370)
art/runtime/java_vm_ext.cc:410] at void java.lang.System.loadLibrary(java.lang.String) (System.java:1076)
art/runtime/java_vm_ext.cc:410] at void com.whizpool.vpn.logic.CharonVpnService.<clinit>() …Run Code Online (Sandbox Code Playgroud) android ×9
android-ndk ×5
cmake ×3
gradle ×2
java ×1
manifoldjs ×1
ninja ×1
protocols ×1
spring ×1
spring-boot ×1
strongswan ×1
vpn ×1