我有一个Android库项目FooLib.FooLib引用像Android这样Context的东西,但不需要任何资源文件(事情res/),所以我目前将其打包为JAR供我的应用程序使用.
我现在想要FooLib依赖BarLib,但BarLib 确实使用资源,所以我不能打包BarLib成JAR.相反,它被打包为AAR.我有可能FooLib依赖BarLib但继续打包FooLib成JAR吗?或者,有一个AAR依赖关系FooLib强制我使它也成为AAR吗?
我正在使用本教程将我的android lib上传到bintray.com
我按照以下步骤上传lib:
- gpg --gen-key
- gpg --list-keys
- gpg --keyserver hkp://pool.sks-keyservers.net --send-keys PUBLIC_KEY_ID
- gpg -a --export yourmail@email.com> public_key_sender.asc
- gpg -a --export-secret-key yourmail@email.com> private_key_sender.asc
我已将PUBLIC_KEY_ID替换为我的密钥ID,对于电子邮件也是如此.
我不知道为什么我没有收到电子邮件?
我已经使用 ARFoundation 包在 Unity 中构建了一个 ARCore 应用程序。然后,我按照以下链接中的说明将 Unity 应用程序嵌入到原生 Android 应用程序中:Embedded Unity inside Android App。
AR 应用程序作为独立应用程序运行良好。但是我在将其嵌入本机 Android 应用程序时遇到错误:
E/Unity: Unable to find UnityARCore
E/Unity: DllNotFoundException: UnityARCore
at (wrapper managed-to-native) UnityEngine.XR.ARCore.Api:UnityARCore_setCameraPermissionProvider (UnityEngine.XR.ARCore.Api/CameraPermissionRequestProvider)
at UnityEngine.XR.ARCore.ARCoreCameraExtension.Register () [0x00000] in <filename unknown>:0
Run Code Online (Sandbox Code Playgroud) 我想为 android 创建一个包含一些顶级函数的 kotlin 库。
我创建了一个 android 库项目。
我添加了一些顶级函数和一些类
// filename TestMethodFirst.kt
fun testMethodFirst() {}
Run Code Online (Sandbox Code Playgroud)
// filename TestClass.kt
class TestClass() {}
Run Code Online (Sandbox Code Playgroud)
我已经使用 ./gradlew build 构建了库
我已将此库作为 aar 库包含到另一个项目中
库中的类已顺利解析并导入。顶级函数尚未解析,因此无法使用。我尝试过手动添加导入,但它也不起作用。当我尝试使用 java 中的顶级函数作为静态方法执行时,它就可以工作了。
这不起作用
// filename Test1.kt
fun test1() {
testMethodFirst()
}
Run Code Online (Sandbox Code Playgroud)
这有效
// filename Test2.kt
fun test1() {
TestClass()
}
Run Code Online (Sandbox Code Playgroud)
这有效
// filename Test3.java
class Test {
void test() {
TestMethodFirstKt.testMethodFirst();
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用 AS 4.1 Canary 7 和 AS 3.6.2
附件包含库项目和aar库
是否可以将 RN 项目构建为可以被其他 Android 应用程序集成的 AAR 包?iOS有没有类似的解决方案?
我创建了一个库项目,我将其构建为 AAR 文件,然后包含在另一个项目中。它位于 libs 文件夹中,主 gradle.build 文件包含它:implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
当我尝试使用这个 aar 文件的类时,除了一个类之外,所有这些类都可用。我最初想象它可能是 Proguard,但我什至删除了 Proguard,它仍然不可用。它是一个公共类,当我反编译 AAR 文件时它甚至在那里。
这是内容:
package com.onboarding;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.Keep;
/**
*
*/
@Keep
public class Builder {
/**
*
*/
public static String mainColor = null;
public static String baseUrl = null;
public static Class firstActivity = null;
public static Class onboardingSettingsActivity = null;
/**
*
*/
public static String tosUrl = null;
public static String privacyUrl = null;
public static …Run Code Online (Sandbox Code Playgroud) 我是 React-Native 的新手,我的目标是创建可在其他 Android 原生应用程序中使用的基于 React-Native 的组件。但是,我们会将此 React Native 组件导出为 Android 库 (.aar),然后分发给其他使用者。
我看到这个问题在 SOF 中被问过几次,但是没有看到明确的答案,因此我再次发帖。
我正在创建一个 SDK/库,它生成包含五个 .so 文件的.aar文件。这个 .aar 文件被上传并托管在 maven 存储库上,应该被一些应用程序使用。当我尝试使用托管在此 maven 存储库上的 .aar 文件时会出现问题,我们称之为示例应用程序。有三种可能的结果:
这里的问题是,这是完全随机的情况。我已经检查了由 Android Studio 生成的 .aar 文件(所有内容都按原样打包在里面),将其上传到 maven 存储库(所有 .so 文件仍然存在)后,.aar 的重量始终相同.
我已经尝试了很多方法,但我无法选择为什么在构建示例应用程序 .apk 文件时会发生这种情况。
任何想法都会有所帮助。
上下文:android、jar、aar。
我已经在 repo maven 上发布了我的 android 工件。当我在 Android Studio 的项目中导入它时,工件显示为:
我所有的课程都在classes.jar 中
如何将库根名称更改为下图中的这个retrofit-2.7.0.jar?
这是我的脚本:
uploadArchives {
repositories {
mavenDeployer {
pom.groupId = GROUP
pom.artifactId = POM_ARTIFACT_ID
pom.version = VERSION_NAME
repository(url: getReleaseRepositoryUrl()) {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}
snapshotRepository(url: getSnapshotRepositoryUrl()) {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}
pom.project {
name POM_NAME
packaging POM_PACKAGING
description POM_DESCRIPTION
url POM_URL
licenses {
license {
name POM_LICENCE_NAME
url POM_LICENCE_URL
distribution POM_LICENCE_DIST
}
}
developers {
developer {
id POM_DEVELOPER_ID
name POM_DEVELOPER_NAME
}
} …Run Code Online (Sandbox Code Playgroud) 我有一个库的 Android 项目(使用插件com.android.library),其中包含 C++ 代码。当我在 gradle 中运行assemble任务时,输出的 AAR 包含 /jni 文件夹中的本机库。但是,没有“prefab”文件夹。我能找到的关于创建 Android 库的唯一文档在这里:https ://developer.android.com/studio/projects/android-library
底部建议 /prefab 文件夹应该在那里。
我可以找到有关如何设置项目以从 AAR导入预制件的信息,但找不到有关如何使用预制件导出构建AAR 的任何信息。有没有办法用 gradle 设置 Android 项目来做到这一点?我是否需要添加一些设置来指定应公开哪些本机库?
我正在使用 Android Studio 4.1.1、gradle 6.8 和 Android gradle 插件 4.1.1。