![](/img/trans.png)
[英]Could not find or load main class com.android.sdkmanager.Main
[英]SdkManager class is not available in latest android SDK
下载了最新的android Studio( android-studio-bundle-162.3871768-windows
)。 我们在软件中使用com.android.sdklib.SdkManager
类,但在最新的Android Studio中,我无法在tools\\lib
文件夹中的任何jar
找到上述类。
谁能建议对此有更好的选择?
如果您想获取已安装的所有目标列表以获取知识,则只需运行SDK管理器即可。 但是,由于要调用getTargets()方法,因此意味着您需要将其用于其他目的。 查看android studio网页上的文档,以查找您要搜索的类是否存在以及其jar文件的位置。
我们可以在下面的链接中找到所有android类的源代码。
SdkManagerCli类具有等效的listPackages()
方法,该方法将列出软件包。
我们需要将sdklib-25.3.2.jar,repository-25.3.2.jar和common-25.3.2.jar导入到项目中。 以下是列出软件包的工作代码:-
import java.io.File;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.TreeSet;
import com.android.repository.Revision;
import com.android.repository.api.ConsoleProgressIndicator;
import com.android.repository.api.LocalPackage;
import com.android.repository.api.ProgressIndicator;
import com.android.repository.api.RepoManager;
import com.android.repository.impl.meta.RepositoryPackages;
import com.android.sdklib.repository.AndroidSdkHandler;
public class AndroidTesting {
public static void main(String[] args) {
listPackages();
}
private static void listPackages() {
AndroidSdkHandler mHandler = AndroidSdkHandler.getInstance(new
File("filePath")); //for eg:-sdk/platforms for API
ProgressIndicator progress = new ConsoleProgressIndicator();
RepoManager mRepoManager = mHandler.getSdkManager(progress);
mRepoManager.loadSynchronously(cacheExpirationMs, progress,
downloader, settings)(0, progress, null, null);
RepositoryPackages packages = mRepoManager.getPackages();
Collection<LocalPackage> locals = new TreeSet<LocalPackage>();
Collection<LocalPackage> localObsoletes = new
TreeSet<LocalPackage>();
for (LocalPackage local : packages.getLocalPackages().values()) {
if (local.obsolete()) {
localObsoletes.add(local);
} else {
locals.add(local);
}
Revision version = local.getVersion();
System.out.println(local.getDisplayName() + " "
+ local.getVersion() );
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.