相关疑难解决方法(0)

Android Studio可以用来运行标准的Java项目吗?

对于那些想要隔离Java并给它快速测试的时候..

您可以像在Eclipse中一样在Android Studio中运行非Android Java项目吗?

ide android-studio

318
推荐指数
6
解决办法
16万
查看次数

使用Android Gradle插件生成JavaDocs

如何使用新的Gradle构建系统为Android项目生成JavaDoc?

这是我提出的,但它不起作用.

task generateJavadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    ext.cp = android.libraryVariants.collect { variant ->
        variant.javaCompile.classpath.files
    }
    classpath = files(ext.cp) 
}
Run Code Online (Sandbox Code Playgroud)

主要问题是我没有在类路径上获得相应的android.jar,因此JavaDocs中的某些链接无法解析.我必须找到一种方法来获取类路径上所有必需的jar.

我采用的方法的另一个问题是它收集所有构建变体的类路径,而不是选择一个.

android javadoc gradle android-gradle-plugin

47
推荐指数
5
解决办法
2万
查看次数

如何在没有公开披露源代码的情况下使用gradle创建Android库Jar?

我想从Android库项目中创建一个Jar.它设置如下:

ProjectName
    \- lib
    |   \- lib
    |       \- armeabi
    |           \- libNativeFirst.so
    |           \- libNativeSecond.so
    \- src
        \- main
            \- java
                \- com.package.sdk
                    \- PackageSDK.java
Run Code Online (Sandbox Code Playgroud)

我希望所有这些都打包在一个Jar中,但不会泄露存在的源代码PackageSDK.java.

我这样设置我的build.gradle文件:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}

apply plugin: 'android-library'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 18
    }

    sourceSets {
        main {
            java {
                srcDir 'src/main/java'
            }
            resources {
                srcDir 'src/../lib'
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

android jar gradle android-studio android-gradle-plugin

35
推荐指数
2
解决办法
4万
查看次数

Android gradle构建和支持库

我有一个项目,使用一些其他库项目(SlidingMenu,ActionbarSherlock),这两个使用Android支持库,在构建时我得到以下内容:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/LoaderManager;
    at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
    at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
    at com.android.dx.command.dexer.Main.processClass(Main.java:490)
    at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459)
    at com.android.dx.command.dexer.Main.access$400(Main.java:67)
    at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:398)
    at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
    at com.android.dx.command.dexer.Main.processOne(Main.java:422)
    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333)
    at com.android.dx.command.dexer.Main.run(Main.java:209)
    at com.android.dx.command.dexer.Main.main(Main.java:174)
    at com.android.dx.command.Main.main(Main.java:91)
Run Code Online (Sandbox Code Playgroud)

两个库项目都依赖于支持lib:

dependencies {
    compile files('libs/android-support-v4.jar')
}
Run Code Online (Sandbox Code Playgroud)

android build gradle

34
推荐指数
3
解决办法
3万
查看次数

从 JAR/Lib 启动 Activity

我想创建和 android 项目让我们说 MyApplication。

MyApplication 有一个活动 MyActivity.java。

我想要一些其他应用程序让我们说 NotMyApplication 来启动此活动,而无需在设备上安装 MyApplication。

我想为这个场景做的是我想以某种方式将 MyApplication 转换为 jar/lib,这样我就不需要安装也不需要共享代码。

并在 NotMyApplication 中导入 MyActivity.java 并创建一个如下所示的意图:

**Intent in = new Intent(MyActivity.class,NotMyActivity.this);
startActivity(in);**
Run Code Online (Sandbox Code Playgroud)

我怎样才能完成整个过程。有人可以指导 Stepwise for android studio 吗??

[编辑]

我在 Eclipse 中创建了 Jar 文件,然后将其复制到 android studio 中的 libs 文件夹中。比在 gradle 中添加 complie 语句:将 jar 导入为:

导入 com.example.testmylibs.MyClassToTest;

比发起的活动为:

Intent in = new Intent(getApplicationContext(),com.example.testmylibs.MyClassToTest.class); 开始活动(在);

它仍然给 FATAL 为:

android.content.ActivityNotFoundException:无法找到显式活动类 {com.myapplication/com.example.testmylibs.MyClassToTest};您是否在 AndroidManifest.xml 中声明了此活动?

[编辑]

如果我在 NotMyApplication 的 AndroidManifest.xml 中本地声明为:

    **<activity android:name="com.example.testmylibs.MyClassToTest" >
    </activity>**
    
    
Run Code Online (Sandbox Code Playgroud)

比以下异常来了:

java.lang.NoClassDefFoundError:解析失败:Lcom/example/testmylibs/R$layout;. . 引起:java.lang.ClassNotFoundException:在路径上找不到类“com.example.testmylibs.R$layout”:DexPathList[[zip file“/data/app/com.myapplication-2/base.apk”] …

java android android-activity android-studio

7
推荐指数
1
解决办法
2120
查看次数