- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为 android 编写一个简单的cordova-plugin,但我陷入了一个我不知道如何解决的崩溃中。
我基本上按照这些步骤创建了简单的插件,并且运行良好。
http://www.mat-d.com/site/tutorial-creating-a-cordova-phonegap-plugin-for-android-app/
然而,我的插件必须调用打包为 .aar 文件的 Activity 。基本上,我有一个完整的应用程序,其中包含需要由插件触发的 java/layouts。
我按照这些步骤将我的 .aar 文件添加到cordova的android版本。
Cordova plugin development - adding aar
它也起作用了。现在,到目前为止,我的插件结构中有这些文件(不可否认,由于我保留了大部分原始名称,因此现在已经相当不错了):
在我的 yourFile.gradle 我有这个:
repositories{
jcenter()
flatDir{
dirs 'libs'
}
}
dependencies {
compile(name:'mylittlelibrary-release', ext:'aar')
compile 'com.android.volley:volley:1.0.0'
}
android {
packagingOptions {
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
}
}
public class CoolPlugin extends CordovaPlugin {
public CoolPlugin() {}
public void initialize(CordovaInterface cordova, CordovaWebView webView) {
super.initialize(cordova, webView);
}
public boolean execute(final String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
final Context context = cordova.getActivity().getApplicationContext();
try {
Intent intent = new Intent(context, testv.com.mylittlelibrary.MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
cordova.getActivity().startActivity(intent);
} catch (Exception e) {
String errorText = e.toString();
Toast toast = Toast.makeText(context, errorText, duration);
toast.show();
}
package testv.com.mylittlelibrary;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import com.android.volley.*;
import com.android.volley.toolbox.*;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
etc...
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.example.hello" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:label="@string/activity_name"
android:launchMode="singleTop"
android:name="testv.com.mylittlelibrary.MainActivity">
</activity>
</application>
<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="23" />
</manifest>
cordova plugin add c:/CoolPlugin/
cordova build android
cordova run android
com.example.hello E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.hello, PID: 13119
java.lang.NoClassDefFoundError: Failed resolution of: Ltestv/com/mylittlelibrary/MainActivity;
at CoolPlugin$1.run(CoolPlugin.java:59)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5835)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
最佳答案
没关系,这是一个简单的错误。图书馆错过了一些导入和主题。这解决了这个问题。
显现:
android:theme="@style/Theme.AppCompat.Light"
dependencies {
compile(name:'mylittlelibrary-release', ext:'aar')
compile 'com.android.support:support-v13:23.1.0'
compile 'com.android.support:support-v4:23.1.0'
compile 'com.android.support:gridlayout-v7:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
关于android-activity - 无法使用 .aar 文件从cordova 插件启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36875818/
我们向客户发送了一个 android sdk (aar) 文件。我们的代码在内部使用两个第 3 方 aar,我们在我们的 repo 和 gradle 在运行时引用它。我的问题是如何将这些依赖项发送给客
我正在努力构建可用于其他应用程序的 SDK。 我的项目结构如下: ProjectFolder | +--AndroidLibs | | | +--UI (andro
如果我有作为 SDK 的项目 A,并且它作为 AAR 导出到项目 B 中,项目 B 将模块作为 AAR 导入,我该如何链接这两个模块,所以对项目 B 中的 AAR 所做的更改不会必须在原始项目-A中复
我是一名插件开发人员,我的插件依赖于两个 aar 库。当我导出为 aar 存档时,我的依赖库不是它的一部分。我的项目结构如下所述 App lib1 --aartool lib2 lib3
我有一个以 aar 格式分发的 android 库。它重300kb。我想创建另一个库,也是 aar 格式,其中依赖项中的第一个库。但是结果库权重是30kb,显然不包括第一个库。 我尝试使用 flatD
如何访问 AAR 库中的 Activity,它不是直接包含在项目中而是嵌入到另一个 AAR 库中? 我得到一个错误 java.lang.NoClassDefFoundError: Failed res
你能帮我理解构建 android 库并在用户应用程序中使用它的一般概念吗。 那么,有以下情况: 在android studio中有以下模块: 核心 数据 绘图 还有一个模块 应用 依赖于上述模块。 a
关于 Gradle 中 AAR 文件的传递依赖关系存在一些问题: Android Studio 0.2.3 cannot resolve transitive aar dependencies And
我看到了各种开发人员发布的问题(Android Studio combine 2 .aar into one 和其他人),但我还没有看到明确的答复使我能够创建一个包含 1 个或多个 AAR 或 JAR
我正在使用Xamarin开发一个APP,需要使用Android Studio(AS)开发的其他aar。 在 AS 中,我创建了一个名为“javaLib”的 Java 库模块。构建后,我得到了javaL
无法发布配置“文件”,无法发布 Artifact danlu-bluetooth.aar (/Users/xxx/work/xxx/workplace/androidcode/libraray/xxx
我正在使用 Android Studio 1.5。我有一个图书馆项目,core-speech-service.aar。此 AAR 文件已正确生成(所有类都构建并打包在 AAR 文件中的 classes
我写了一些库,它有一部分 UI。此外,此库使用其他库。我想提供版本 .aar 以在任何应用程序中使用此 UI 部分。 我的图书馆有下一个依赖: compile 'com.android.sup
所以,事情是这样的,我有一个 .aar 文件,当我将它添加为依赖项时,如下所示: 编译('com.foo:bar:1.0.0@aar') 它生成以下文件: build > intermediates
我正在使用另一个 aar 和 jar 文件依赖项创建 AAR 文件。我已成功创建 .aar 发布文件。 然后,我将新的 AAR 文件导入到示例项目中。该项目运行良好。当访问 aar 和 jar 类时,
我正在创建一个具有“directions-api.aar”(Here-Maps 小部件库)的旧依赖项的 android 应用程序,现在我需要为 Map 的实现添加“HERE-sdk.aar”。 这导致
我通过将我的应用程序转换为库来为应用程序贴上白色标签,并且我有一个配置文件被传递到库以更改颜色、添加新的加载动画、更改一些文本等。库拥有所有这些上面列出的依赖项。当我将库导入新应用程序时,由于新应用程
我有一个顶级 android 库模块(包含 res 文件夹)依赖于其他库子模块(无 res)。我想构建一个顶层模块的 fat aar,它应该包括子模块的 jar 以及我在 build.gradle 中
我在 Intranet maven repo 中有一个 utility.aar。它使用了一些众所周知的 jar ,例如 gson。我已将它们定义为实用程序模块的 build.gradle 中的编译依赖
我正在按照 camera_deep_ar 上的插件页面中给出的文档进行操作 我已将 minimumSdkVersion 设置为 19 在 AndroidManifest.xml 中正确赋予权限 正确设
我是一名优秀的程序员,十分优秀!